The Battery-Emulator is a real-time control system, which performs lots of time critical operations. Some operations, like contactor control, need to complete within 10 milliseconds periodically. The resources of the ESP32 microcontroller is limited, so keeping track of CPU and memory usage is essential. Keep this in mind when coding for the system! Performance profiling the system can be done by enabling the FUNCTION_TIME_MEASUREMENT option in the USER_SETTINGS.h file
The project enforces a specific code formatting in the workflows. To get your code formatted properly, it is easiest to use a pre-commit hook before pushing the code to a pull request.
Before you begin, make sure you have installed Python on the system! To install the pre-commit, open the repository via Git Bash/CMD, and run
pip install pre-commit
And then run
pre-commit install
Then you can run the autoformat any time with the command
pre-commit
Or force it to check all files with
pre-commit run --all-files