Skip to main content
NewEpisode 8a is out: Two state machines 1: rising edgeWatch →

This part is for members

Membership opens soon. Leave your email and we'll tell you the day it does. Founding members get the launch price.

Keep watching the free parts
Skeleton · 6a

Four gates 1: waiting for the bus

The current-loop interrupt starts firing at 512 ms, yet CurrentLoopCtrl first runs at 1102.5 ms, skipped 11,809 times in between. It is waiting behind four gates, like opening a shop: power steady, till connected, scale zeroed, OPEN sign up. In the code they are four variables: bus_voltage_check_flag, hardware_self_test_status, the calibration result and hw_ready_state. This gate board stays in the corner of every part of Episode 6. This part is gate 1: before any interrupt is on, BspInit loops waiting for the bus, and BusVoltageCheck wants 500 readings of 17 V or more in a row (like a check-in streak: miss one and start over), so the gate opens at 507 ms in the real run. With a 15 V supply the wait ends as ERROR after 2000 low readings: the drive boots, but the motor never moves. All from real runs of the board build.

Up next6b · Four gates 2: interrupts on, then the encoder→