`humility i2c` could maybe return a non-zero exit code when the I2C operation returns an error
hawkw opened this issue · 0 comments
hawkw commented
I wanted to use a bash until
loop to retry a humility i2c
command until it succeeds, but it looks like humility i2c
(and possibly also humility hiffy
?) exits with 0 when it was able to successfully execute the hiffy IPC operation on the device, but the IPC returned an error. For example:
eliza@niles ~ $ pfexec humility -t gimlet-c i2c -b rear --device 0x20 --register 0x00 --nbytes 1 --timeout 10000
humility: attached to 0483:3754:000D00344741500820383733 via ST-Link V3
Controller I2C4, device 0x20, register 0x0 = Err(BusLocked)
eliza@niles ~ $ echo $?
0
eliza@niles ~ $
IMO, it would be a bit nicer for humility
to exit with a non-zero exit code when the on-device operation fails. That way, the error is visible to the user's shell and you don't have to do things like grep
ping for the string that indicates an error...