Introduction

Continuous Integration (CI) is a standard software development practice that requires developers to integrate code into a shared repository at least once a day. Each software commit is then automatically built and tested, allowing developers to detect and fix problems early. By integrating developed code regularly, you can detect errors quickly, and fix them in a timely manner.

Challenge

Although this is a standard practice in computer and embedded software development, CI was impossible to apply to power electronics software development until recently. Indeed, once the control firmware/software developers commit their daily changes to the version management repository (e.g. SVN or Git) the build needs to be tested in the power lab.

Testing daily builds in a power lab is very expensive, and extremely slow (especially compared to software development time constants). Even if we neglect the cost and complexity of testing new software/firmware builds, by the time test results are back from the lab, the software guys have already committed multiple new code revisions. And then you need to fix bugs multiple commits later which disrupts the whole process.

Solution

Ultra-high fidelity Hardware in the Loop (HIL) simulation, now for the first time, enables a complete Continuous Integration process for power electronics software.

CI for power electronics becomes extremely simple and effective thanks to HIL technology: Developers integrate their code into a shared repository for example at the end of the work day. Then the new software commit is then automatically built and ported to HIL simulators comprising real controller hardware interfaced with HIL simulation.

No power, no hassle.

This now allows developers to see test reports every morning so they can fix problems early before they continue to develop new code.

Again, by integrating developed code regularly, you can detect errors quickly, and fix them in a timely manner.

Credits

Author | Ivan Celanovic
Visuals | Typhoon HIL
Editor | Debora Santo