mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-16 11:21:18 +03:00
Fix to drop packets in Wire library (issue #335).
This commit is contained in:
@ -413,12 +413,14 @@ SIGNAL(TWI_vect)
|
|||||||
if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){
|
if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){
|
||||||
twi_rxBuffer[twi_rxBufferIndex] = '\0';
|
twi_rxBuffer[twi_rxBufferIndex] = '\0';
|
||||||
}
|
}
|
||||||
|
// sends ack and stops interface for clock stretching
|
||||||
|
twi_stop();
|
||||||
// callback to user defined callback
|
// callback to user defined callback
|
||||||
twi_onSlaveReceive(twi_rxBuffer, twi_rxBufferIndex);
|
twi_onSlaveReceive(twi_rxBuffer, twi_rxBufferIndex);
|
||||||
// ack future responses
|
// since we submit rx buffer to "wire" library, we can reset it
|
||||||
twi_reply(1);
|
twi_rxBufferIndex = 0;
|
||||||
// leave slave receiver state
|
// ack future responses and leave slave receiver state
|
||||||
twi_state = TWI_READY;
|
twi_releaseBus();
|
||||||
break;
|
break;
|
||||||
case TW_SR_DATA_NACK: // data received, returned nack
|
case TW_SR_DATA_NACK: // data received, returned nack
|
||||||
case TW_SR_GCALL_DATA_NACK: // data received generally, returned nack
|
case TW_SR_GCALL_DATA_NACK: // data received generally, returned nack
|
||||||
|
Reference in New Issue
Block a user