How 20dcyy06/icar_lower_board_26 works
This is embedded lower-board firmware for a remotely controlled maze-following vehicle. Its documented operating path accepts speed and steering commands, measures encoder speed, applies motor control, and reports telemetry; the sampled main-loop code also handles communication loss and motor-stall shutdown. The README confirms neutral-centered bidirectional PWM and duty ramping. Excerpts do not establish every module call, so uncertain links are omitted; the vendor library tree is supporting platform code rather than a separate product workflow.
Main entry points: cpu0_main.c Firmware Loop · motor.c Motor Output · ano.c Command Protocol · control.c Vehicle Control
Components 11
Vehicle Firmware
- Firmware Loop
user/cpu0_main.c - Command Protocol
code/ano.c - Telemetry
code/ano.c - Fault Handling
user/cpu0_main.c
Motion Control
- Vehicle Control
code/control.c - PID Algorithms
code/pid.c - Motor Output
code/motor.c - Motion Sensing
code/imu.c
Board Interfaces
- TC26B Drivers
libraries/infineon_libraries/iLLD/TC26B/Tricore
Other components
- Upper Controller
- Motors and Sensors
Connections 14
- Upper Controller → Firmware Loop: sends commands
- Firmware Loop → Command Protocol: receives frames
- Command Protocol → Firmware Loop: decoded commands
- Firmware Loop → Vehicle Control: updates motion
- Vehicle Control → PID Algorithms: computes control
- Firmware Loop → Motor Output: sets output
- Firmware Loop → Motion Sensing: reads motion
- Firmware Loop → Fault Handling: checks faults
- Fault Handling → Motor Output: stops motor
- Firmware Loop → Telemetry: sends status
- Telemetry → Upper Controller: reports status
- Motor Output → TC26B Drivers: uses drivers
- TC26B Drivers → Motors and Sensors: drives hardware
- Motors and Sensors → Motion Sensing: provides measurements