IF THIS IS THE WRONG PLACE TO PUT THIS, PLEASE DON’T DELETE, I’LL MOVE IT

The goal is to design a more robust firmware solution given the new electrical re-design and somewhat shaky state of the old firmware. The ultimate goal is to strive towards Product Line Architecture (PLA).

Outcomes

Requirements

Good vibes, idk this is just a notes dump for future use

Documentation

PIODemo.MOV

First test demo of PIO is below. As you can see, the regular E-Stop interrupt stops the main CPU, but passive things like status lights are unaffected despite being responsive to the main motor controller (the blink speed correlates to motor speed), as they have their own E-stop

PIODemo.MOV

After the refactoring the code into the modular architecture, the code still works exactly the same

PIOStarter Demo.MOV