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.
One shift register / ADC for PV read, one shift register / DAC for stimulus output.
# | Input | Output |
---|---|---|
0 | clock | pv_in_clk |
1 | reset | pv_in_cs |
2 | out_clk | |
3 | cfg_clk | out_mosi |
4 | cfg_mosi | out_cs |
5 | ||
6 | cfg_cs | |
7 | pv_in_miso |