cf firmware overview authored by C-Glick's avatar C-Glick
......@@ -6,4 +6,18 @@ Despite the size and appearance of the Crazyflie, the firmware running on it is
| File | Description |
| ------ | ------ |
| [`src/init/main.c`](/../blob/master/crazyflie_software/crazyflie-firmware-2021%2E06/src/init/main%2Ec) | Main entry point for the crazyflie firmware. Where everything gets launched from |
| cell | cell |
\ No newline at end of file
| [`src/modules/src/stabilizer.c`]() | The top most module for the stabilization system, Receives inputs and calls update on the controller |
| [`src/modules/src/controller.c`]() | The top level controller, selects the correct controller based on defaults and compile parameters. Forwards update call to correct controller |
| [`src/modules/src/controller_student.c`]() | A new controller made by MicroCART for the purpose of having CPRE 488 students implement their own algorithms. This uses the attitude controller |
| [`src/modules/src/student_attitude_controller.c`]() | Holds PID objects and calls functions to calculating PID outputs to correct the drone's attitude |
| [`src/modules/src/student_pid.c`]() | The module that does the actual PID calculations, utilized by other modules |
| [`src/modules/interface/pid.h`]() | Where the PID structure and PID coefficient defaults are defined for the stabilizer |
| [`src/modules/src/crtp_commander_generic.c`]() | Where custom [Crazy RealTime Protocol](https://www.bitcraze.io/documentation/repository/crazyflie-firmware/master/functional-areas/crtp/) packets are defined, see the comment at the start of this file for more details |
| [`src/modules/src/crtp_commander.c`]() | Receives CRTP packets and forwards the data to the appropriate decoder |
-----------------------
# References
- [Crazy RealTime Protocol](https://www.bitcraze.io/documentation/repository/crazyflie-firmware/master/functional-areas/crtp/)