File tree Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -915,6 +915,12 @@ int ECCX08Class::receiveResponse(void* response, size_t length)
915915
916916 // make sure length matches
917917 if (responseBuffer[0 ] != responseSize) {
918+ // Clear the buffer
919+ for (size_t i = 1 ; _wire->available (); i++) {
920+ (void ) _wire->read ();
921+ }
922+ delay (1 );
923+ idle ();
918924 return 0 ;
919925 }
920926
@@ -925,9 +931,11 @@ int ECCX08Class::receiveResponse(void* response, size_t length)
925931 // verify CRC
926932 uint16_t responseCrc = responseBuffer[length + 1 ] | (responseBuffer[length + 2 ] << 8 );
927933 if (responseCrc != crc16 (responseBuffer, responseSize - 2 )) {
934+ delay (1 );
935+ idle ();
928936 return 0 ;
929937 }
930-
938+
931939 memcpy (response, &responseBuffer[1 ], length);
932940
933941 return 1 ;
You can’t perform that action at this time.
0 commit comments