X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/rsbs2/blobdiff_plain/27f7ea191c75121d7d6399558734f91f3b5409e1..285b23e4994190598196fe120c7a15b032595594:/bmc/i2c.c diff --git a/bmc/i2c.c b/bmc/i2c.c index da578b9..d7bb951 100644 --- a/bmc/i2c.c +++ b/bmc/i2c.c @@ -9,7 +9,7 @@ #define TWCR_NACK TWCR = (1<= sizeof(i2c_databuf)) { + TWCR_RESET; + i2c_pos = 0x00; + break; + } i2c_databuf[i2c_pos] = TWDR; i2c_pos++; TWCR_ACK; @@ -102,8 +123,17 @@ ISR (TWI_vect, ISR_BLOCK) TWCR_RESET; break; + case TW_NO_INFO: +#ifdef DEBUG + printf("I2C: TW_NO_INFO received status 0x%2x\n", TW_STATUS); +#endif + TWCR |= (1<