Due to the diverse system architecture of the project and even of a single blimp, we have modularized the main Embedded C program that runs on the ESP32 that controls the motion of the blimp. Functions belonging to different subsystems - Propulsion, Localization, Debugging, etc. - have been separated into corresponding files. The loop()
function of the main program contains the high-level flowchart and calls relevant functions from separate files when required.
The logic of this modularized code is functional and has been tested without propulsion. We are in the process of merging this code with the machine-learning-based ball detection algorithm which should be complete in 1-3 days.
The code is available at Main Code