@ajb2k3 Thanks for reply. My question is what happens in the example stated when the M5Atom is using the ATOMIC PortABC Extension. In this case, there are 2 I2C ports.
So if my button is plugged into the M5Atom, it uses one set of pins, but if plugged into the Extension, it's a different pin set (and plugged into the red one as you state.)
I just did some testing and with an EPROM setting I can state which of the 2 plugs (and associated pins) to use. Next time it's powered on - the buttons work in the new plugin.
Unfortunately the changes won't work unless POWER is cycled (rebooting isn't enough). Actually after changing the pins, rebooting will start looking at the different pin, and it won't work (without the POWER cycle.)
So again, I was wondering what developers do with this plug-n-play vision without hardcoding all the devices and knowing where they are plugged in. I have the PBHub but haven't played with it yet (but I think it has a naming issue as well, eg. plug1 in slot1, etc).
This dynamic configuration is where a JSON (or equivalent) configuration could be specified and stored in EPROM.
Thanks.