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.

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 {