MajenkoLibraries / MCP23S17

Arduino library for MCP23S17 IO Expanders
BSD 3-Clause "New" or "Revised" License
45 stars 16 forks source link

Unclear Documentation -> GPIO Banks #17

Closed dmglogowskiOS closed 1 year ago

dmglogowskiOS commented 1 year ago

As stated in title, GPIO Banks are effectively undocumented

Pin 1 on the Chip is GPIOB0, however within the Library it is Pin 8.

This is really dumb, especially as isn't clearly documented and something only a Poopyhead would do.

majenkotech commented 1 year ago

The numbering scheme is done specifically to fit in with (and match) the Arduino digitalWrite() /digialRead() pin numbering scheme and concept. That is also why they are used with member functions called digitalWrite() and digitalRead(). The numbering is sequentially through the banks and can have no relationship to the "pin on the chip", since that is not something that can be predicted (pin 1 on a DIP or SOIC is indeed B0, however pin 1 on a QFN is B4, so how can the chip pin numbers be reliably used...?)