Feature/i2c dump
* friendlier I2C "knock-knock" uses only read request
While many I2C slave devices have multiple indexed registers, some have
only one register and it's not indexed. For example, the I2C bus switch
TCA9548A has only a Control Register, attempting to index to "Reg[0]"
alters its contents to 0x00 disabling all subordinate buses. This patch
fixes that problem by simply trying to read something/anything from the
slave. This also helps coax out slaves with register files that start
from a higher index, i.e. the AT24CS0x, FLASH chips with a UUID that
appears as a 2nd I2C slave at (address+8), report their serial number at
Reg[80]-Reg[8F] and will NAK a read of Reg[0].
* modify get/set to prevent write of reg index if not specifed
* add 'dump' command to issue a single transaction
to retrieve multiple bytes from an I2C slave and register/offset.
* use NuttX' isprint()
* refactor to reduce coupling, hexdump only needs outstream
Approved-by: Gregory Nutt <gnutt@nuttx.org>
1. Check NSH_NETINIT for self network initialization
2. Check NSH_ARCHINIT for sel arch specific initialization
3. Always show help regardless of NSH_BUILTIN_APPS
4. Loop forever regardless of NSH_BUILTIN_APPS, user could:
a.change the default behavior by the command line argument
b.or ctrl+c to break out the loop
Bugfix/i2ctool dev clobbers slave config
* friendlier I2C "knock-knock" uses only read request
While many I2C slave devices have multiple indexed registers, some have
only one register and it's not indexed. For example, the I2C bus switch
TCA9548A has only a Control Register, attempting to index to "Reg[0]"
alters its contents to 0x00 disabling all subordinate buses. This patch
fixes that problem by simply trying to read something/anything from the
slave. This also helps coax out slaves with register files that start
from a higher index, i.e. the AT24CS0x, FLASH chips with a UUID that
appears as a 2nd I2C slave at (address+8), report their serial number at
Reg[80]-Reg[8F] and will NAK a read of Reg[0].
* modify get/set to prevent write of reg index if not specifed
Approved-by: Gregory Nutt <gnutt@nuttx.org>