multiple IO Pi Plus using C libraries
The IO Pi Plus is a 32 channel MCP23017 GPIO expander for the Raspberry Pi
27/02/2016
Posted by:
Boy
27/02/2016
Posted by:
andrew
Thank you for finding the bug with the C library. I have changed the way the library works so instead of using variables it now reads the register values from the IO Pi before updating them which should hopefully fix the problems with running multiple IO Pi Plus boards on the same Raspberry Pi.
I have uploaded a new version to GitHub ABE_IoPi.c
28/02/2016
Posted by:
Boy
28/02/2016
Posted by:
Boy
29/02/2016
Posted by:
andrew
The function that changes the state of the individual bits is the same one I have used on the other C libraries and I have not seen any problems with the wrong bit being set so I don't think it is related to that function.
The most likely cause for the bug is probably where the library was using the shared variables for all of the pin directions and states so hopefully now the library is reading the value from the chip before changing a bit it should behave itself.
Note: documents in Portable Document Format (PDF) require Adobe Acrobat Reader 5.0 or higher to view.
Download Adobe Acrobat Reader or other PDF reading software for your computer or mobile device.