File tree Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Original file line number Diff line number Diff line change @@ -119,12 +119,15 @@ void File::doBuffer() {
119119 // Try to buffer up to BUFFER_SIZE characters
120120 readPos = 0 ;
121121 uint8_t cmd[] = {' G' , handle, BUFFER_SIZE - 1 };
122- buffered = bridge.transfer (cmd, 3 , buffer, BUFFER_SIZE) - 1 ;
122+ buffered = bridge.transfer (cmd, 3 , buffer, BUFFER_SIZE);
123123 // err = buff[0]; // First byte is error code
124- if (buffered > 0 ) {
125- // Shift the reminder of buffer
126- for (uint8_t i = 0 ; i < buffered; i++)
127- buffer[i] = buffer[i + 1 ];
124+ if (BridgeClass::TRANSFER_TIMEOUT == buffered || 0 == buffered) {
125+ // transfer failed to retrieve any data
126+ buffered = 0 ;
127+ } else {
128+ // transfer retrieved at least one byte of data so skip the error code character
129+ readPos++;
130+ buffered--;
128131 }
129132}
130133
You can’t perform that action at this time.
0 commit comments