For several years Percepio has been sponsoring Formula Student Racing Car teams with Tracealyzer licenses, mostly in Europe but today we present our first North American racing team. We wanted to share their ambitions, thoughts, and of course their experiences with Tracealyzer.
Purdue Electric Racing, Purdue University, USA
We spoke to Matt Flanagan, member of the Software team at Purdue Electric Racing.
– Why build an electric car?
We chose to build an electric car to compete in the SAE International competition that challenges colleges to develop a fully electric race car at about a ½ scale of Formula E. We chose to do this competition due to the growing drive for electric vehicles.
– Can you say anything about the challenges?
Developing an electric vehicle is inherently very difficult, and our biggest challenge is knowledge transfer. Being a college team, every year we have a turnover rate of highly talented seniors that have knowledge that could save the next year’s group a lot of time if it was passed down.
– What would you say is your team’s strength?
I’d say tenacity. We never know all the answers to our problems, but we’re willing to use what we know to come up with engineering solutions.
– Will you engage in the Formula SAE competition 2018/19?
We will be attending Formula SAE North and Formula Electric this year. We are planning to compete against all the top colleges from around the world and are hoping for a top 5 finish in both competitions. That will require us to be reliable which has been one of our big team goals this year.
– Software and MCU platform(s)?
We work on the STM32 platform and write all our vehicle code in C. We also have a wireless telemetry package that works on a Raspberry Pi.
– How do you intend to use Tracealyzer?
We will use it to validate and optimize our code base. By using the snapshot view, we can easily acquire the run times of every task and prove that all tasks are schedulable for every module. With Tracealyzer we can, for the first time, get an in depth look at inter-task communication which will allow us to optimize this.
As an example I have implemented the Tracealyzer code and libraries onto our BMS. I used it to map the running tasks on it. This allowed me to determine any critical paths that were causing high CPU utilization and unreliable data collection. After having found these through the snapshot tool I found the task that was blocking the others and refactored it which in turn fixed the problem.
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 (scroll to bottom of page).