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>
Author: anchao <anchao@pinecone.net>
apps/, most main() function: Correct CONFIG_BUILD_LOADABLE usage
Loadable apps/: Correct loadable symbol table generate
apps/system/ubloxmodem: Fix build break
apps/examples/ostest: start restart/waitpid/user test from main loop
apps/nshlib: Expand reboot and poweroff commands to include a second, optional mode argument
Author: Gregory Nutt <gnutt@nuttx.org>
An attempt to fix build issues. Does not work.
apps/examples/ostest: Fix some inappropriate renaming of static functions introduced with recent patches.
apps/builtin/exec_builtin.c: Fix a error introduced by recent comments. Found in build testing.
Author: anchao <anchao@pinecone.net>
apps/builtin/exec_builtin.c: Try posix_spawn if builtin apps do not have have an entry point.
apps/Application.mk: introduce MODULE config to simplify tristate(m)
apps/nsh: Change the nuttx shell module type to tristate
apps: Add loadable application support
script/mksymtab: Generate symbol table name by default
apps/builtin: Allow loadable applications can register with apps/builtin.
apps/builtin/exec_builtin.c: Try posix_spawn if builtin apps do not have have an entry point.
apps/Application.mk: introduce MODULE config to simplify tristate(m)
apps/nsh: Change the nuttx shell module type to tristate
apps: Add loadable application support
script/mksymtab: Generate symbol table name by default
apps/builtin: Allow loadable applications can register with apps/builtin.
It seems that I2C driver has changed a bit since i2ctool was written,
so now i2ctool sends repeated start even if `no restart` flag (-n)
was passed to it.