How markr42/malenki-nano works
Malenki-Nano is a small-robot ESC and receiver compatible with Flysky/Turnigy AFHDS-2A transmitters. Its principal runtime is the nano2 firmware: initialization leads into a recurring radio, voltage-sensing, stick-processing, watchdog, and motor-control loop. Radio packet handling and SPI transport are distinct internal layers; mixing, weapons, configuration, and sensing are additional product capabilities represented in the source tree. Separate A7105, receiver, transmitter, and motor test firmware are included. Some subsystem connections are omitted because their implementation was not excerpted.
Main entry points: nano2/main.c Firmware loop · radio.c AFHDS-2A radio · rx_test/main.c Receiver test entry · tx_test/main.c Transmitter test entry
Components 22
ESC Receiver
- Firmware loop
firmware/nano2/main.c - AFHDS-2A radio
firmware/nano2/radio.c - A7105 SPI
firmware/nano2/a7105_spi.c - Voltage sensing
firmware/nano2/vsense.c - Stick processing
firmware/nano2/sticks.c - Control mixing
firmware/nano2/mixing.c - Motor control
firmware/nano2/motors.c - Scarab motors
firmware/nano2/motors_scarab.c - Weapon control
firmware/nano2/weapons.c - Nonvolatile config
firmware/nano2/nvconfig.c
Radio Test Firmware
- Receiver test entry
firmware/rx_test/main.c - Receiver scanner
firmware/rx_test/radio.c - Receiver test SPI
firmware/rx_test/a7105_spi.c - Transmitter test entry
firmware/tx_test/main.c - Transmitter test
firmware/tx_test/radio.c - Transmitter test SPI
firmware/tx_test/a7105_spi.c
Hardware Tests
- A7105 test entry
firmware/a7105_test/main.c - A7105 radio test
firmware/a7105_test/radio.c - A7105 test SPI
firmware/a7105_test/a7105_spi.c - Motor test entry
firmware/motor_test/main.c - Motor test driver
firmware/motor_test/motors.c
Other components
- AFHDS-2A transmitter
Connections 16
- Firmware loop → AFHDS-2A radio: runs loop
firmware/nano2/main.c - Firmware loop → Voltage sensing: runs loop
firmware/nano2/main.c - Firmware loop → Stick processing: runs loop
firmware/nano2/main.c - Firmware loop → Motor control: runs loop
firmware/nano2/main.c - AFHDS-2A radio → A7105 SPI: accesses radio
firmware/nano2/radio.c - AFHDS-2A transmitter → AFHDS-2A radio: sends packets
README.md - A7105 test entry → A7105 test SPI: initializes SPI
firmware/a7105_test/main.c - A7105 test entry → A7105 radio test: runs radio test
firmware/a7105_test/main.c - A7105 radio test → A7105 test SPI: uses SPI
firmware/a7105_test/radio.c - Receiver test entry → Receiver test SPI: initializes SPI
firmware/rx_test/main.c - Receiver test entry → Receiver scanner: runs scanner
firmware/rx_test/main.c - Receiver scanner → Receiver test SPI: reads radio
firmware/rx_test/radio.c - Transmitter test entry → Transmitter test SPI: initializes SPI
firmware/tx_test/main.c - Transmitter test entry → Transmitter test: runs test
firmware/tx_test/main.c - Transmitter test → Transmitter test SPI: writes radio
firmware/tx_test/radio.c - Motor test entry → Motor test driver: drives motors
firmware/motor_test/main.c