This post continues after Interrupts Squared.
This is just a quick update to show off the changes done to add a secondary mcp23017. The hardware change is pretty simple, just add it to the existing lines.
Pictures
Most important is probably that the A0
address pin is set to high instead of low.
Schematic:
And new pictures (notice some re-wiring):
Code Changes
On the code side this commit contains the interesting changes. The following are mostly cleanup and re-enabling interrupt style setup.
The uint16_t
state became a uint32_t
state to fit all bits. Doesn’t really change anything about execution, since it still fits into a register.
And as fair warning, you need to update code with the new hardware and setup both mcp23017, otherwise the interrupt pin might not behave properly.