With only a week to go before the start of the 2022 American Solar Challenge (ASC), here’s a good luck shout out to the University of Calgary Solar Car team! Their race car, the Schulich Elysia, not only looks stunning, it also packs a powerful solar battery that can store up to 18 kWh of energy, enough to drive the car over 300 km when there’s no sunlight.
Percepio is immensely proud that our Tracealyzer tool has been involved in perfecting this battery technology. The University of Calgary Solar Car’s software team used Tracealyzer to debug and program the PCBs, including the all-important battery management system (AuxBMS) board, which is critical to the car’s operation and was completely redesigned for this year’s race.
See the execution timeline
“During the height of the pandemic, we spent the lockdown re-architecturing and rewriting the code for the AuxBMS,” reports the team’s software manager, Jessie Guo. “Although we finished the code, we were unable to test until this year, so we had little time to debug the new code fully before the ASC qualification deadline. Luckily for us, we had free access to the Tracealyzer tool and the Percepio support team so we were able to shorten our debugging time by weeks.
“Our team was amazed at the number of functions and the sheer amount of information that we could obtain, such as when tasks ran, current state, length the task ran for, the priority of the tasks, mutexes obtained, stack usage, etc.,” remembers Jessie. “These were exceptionally helpful to our debugging as we were able to see the execution timeline in front of us rather than going through endless GDB breakpoints.
“One of the main issues with the AuxBMS was that it appeared not to be sending any messages on the CAN bus. It should be sending these messages every so often to update the status of the battery to other boards in the car. Initially, we were debugging using GDB; however, we could not get out any information besides that the tasks that are supposed to be sending these messages were not getting reached.
Finished in days rather than months
“When we used Tracealyzer to stream and trace the execution, we obtained so much more information that eventually led us to the solution in just a few days. Tracealyzer showed us that there were no running tasks and the system was idle for the majority of the time to our shock. With this new breakthrough, we realized that the task was being blocked by its delay function and not because another task prevented it from running. Finding this with just GDB, like before, could have taken months. Thanks to Tracealyzer, we were able to make our target and finish debugging the AuxBMS with a week left to spare,” concludes Jessie.
Percepio, which has been supporting hundreds of embedded engineering projects at universities all over the world with its free academic Tracealyzer license program since 2018, will be following the American Solar Challenge races closely, rooting for the success of the University of Calgary Solar Car Team and the Schulich Elysia.
Learn more about the University of Calgary Solar’s Schulich Elysia car: https://calgarysolarcar.ca/elysia
Learn more about the American Solar Challenge: https://www.americansolarchallenge.org/the-competition/2022-american-solar-challenge/
If you are studying or teaching embedded development, you too may be able to use Tracealyzer for free. You are welcome to check out our Academic Licenses.