i’ve made a breaking-change in i2c processing framework, in order to allow multi-byte transmissions. previously three bytes were packed into an 1 byte index and 16 bit data word, which fit nicely into the event system, though that wasn’t really terribly important.
old:
process_ii(uint8_t i, int d)
is now:
process_ii(uint8_t *data, uint8_t l)
where l is length and *data points to the buffer. it’s very easy to create backwards-compatibility by simply changing the function definitions then adding this to the top of the function:
uint8_t i;
int d;
i = data[0];
d = (data[1] << 8) + data[2];
i’ve already pushed changes to libavr32, along with the trilogy firmwares.
@bpcmusic @scanner_darkly will be interested in this. very minor update.
but now we can have variable-length i2c packets and the world has opened up widely.
master rx functions are in there also.