example of i2c slave device supporting block transfers
Dependencies: lib_i2c_slave_block
Tested on nucleo board as slave. Use with i2c_master_block_example on raspberry pi as master.
Master I2C write will print on serial terminal 115200. User button will raise an irq; the RPi test program will service the interrupt.
See lib_i2c_slave_block for explanation of code.
Diff: cmds.h
- Revision:
- 3:0288d257446a
- Parent:
- 2:d7e05c75f240
--- a/cmds.h Mon Jan 21 18:09:05 2019 -0800 +++ b/cmds.h Sun Feb 03 16:56:15 2019 -0800 @@ -5,6 +5,10 @@ #define CMD_IRQ 0x03 #define CMD_BUFFER 0x04 +#define CMD_TIMEOUT 0xfd // indication of smbus timeout +#define CMD_ARLO 0xfe // indication of arbitration lost +#define CMD_BUSERR 0xff // indication of start or stop during transfer + typedef union { struct __attribute__((packed)) { struct {