TinyPID reads from a shift register, calculates error and PID values, and writes to a shift register. All parameters of this process are configurable.
Shift in config, then shift in PV input and see what happens. There are three bytes of configuration (setpoint, kp, ki), which are zero on startup.
# | Input | Output |
---|---|---|
0 | clock | pv_in_clk |
1 | reset | pv_in_cs |
2 | none | out_clk |
3 | cfg_clk | out_mosi |
4 | cfg_mosi | out_cs |
5 | none | none |
6 | cfg_cs | none |
7 | pv_in_miso | none |