![]() |
ACwing FC firmware
STM32WB55: attitude IEKF, altitude Kalman filter, flight core, protocol v2
|
Files | |
| ack_cache.c | |
| ack_cache.h | |
| Last (op, seq) -> ACK pairs (HANDOVER_FW.md §5, "Sequence and ACK rules"). | |
| app_link.c | |
| CMD reception: arrival time, RC store, command queue (see app_link.h). | |
| app_link.h | |
| Receive side of the ACwing Pilot link (HANDOVER_FW.md §2 and §6). | |
| proto_v2.c | |
| Frame encoders of protocol v2 (see proto_v2.h). | |
| proto_v2.h | |
| ACwing Pilot app protocol v2: identifiers and frame layouts. | |
| spsc.h | |
| Lock-free single-producer single-consumer queue of fixed-size items. | |
| telemetry.c | |
| telemetry.h | |
| Telemetry packet format (shared with 02 - Tools/00 - Matlab/Telemetry/parseTelemetry.m and 02 - Tools/01 - Python/acwing_tools/telemetry.py). | |
| tlm_ble.c | |
| BLE telemetry queues and link state (see tlm_ble.h). | |
| tlm_ble.h | |
| BLE telemetry, transport-independent part (phase 2 + protocol v2). | |
| tlm_uart.c | |
| Frame transmission via UART + DMA, synchronised with a CMSIS-RTOS2 semaphore. | |
| tlm_uart.h | |
| USB transport: UART -> ST-LINK Virtual COM Port (USART1 on the NUCLEO-WB55). | |
| usb_link.c | |
| USB byte-stream link (see usb_link.h). | |
| usb_link.h | |
Byte-stream link over USB CDC: protocol v2 frames in both directions (A5 5A | TYPE | LEN | PAYLOAD | CRC16). | |