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() {
119
119
// Try to buffer up to BUFFER_SIZE characters
120
120
readPos = 0 ;
121
121
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);
123
123
// 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--;
128
131
}
129
132
}
130
133
You can’t perform that action at this time.
0 commit comments