summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usb-i2c-sl018/tuer-rfid.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/usb-i2c-sl018/tuer-rfid.c b/usb-i2c-sl018/tuer-rfid.c
index 2954231..f159047 100644
--- a/usb-i2c-sl018/tuer-rfid.c
+++ b/usb-i2c-sl018/tuer-rfid.c
@@ -129,7 +129,11 @@ unsigned char sl018_send_buffer(const unsigned char * buffer)
if (TWI_StartTransmission(SL018_ADDR | SL018_WRITE,10) == TWI_ERROR_NoError)
{
for(pos=0; pos<=len; pos++)
- TWI_SendByte(buffer[pos]);
+ if( ! TWI_SendByte(buffer[pos]))
+ {
+ TWI_StopTransmission();
+ return 1;
+ }
// Must stop transmission afterwards to release the bus
TWI_StopTransmission();
} else {
@@ -141,7 +145,11 @@ unsigned char sl018_send_buffer(const unsigned char * buffer)
TWI_ReceiveByte(&len, 0);
twi_rcv_buff[255]=len;
for(pos=0; pos<len; pos++)
- TWI_ReceiveByte(&twi_rcv_buff[pos], (pos == len-1) ? 1:0 );
+ if (! TWI_ReceiveByte(&twi_rcv_buff[pos], (pos == len-1) ? 1:0 ) )
+ {
+ TWI_StopTransmission();
+ return 1;
+ }
// Must stop transmission afterwards to release the bus
TWI_StopTransmission();
} else {