File tree Expand file tree Collapse file tree 2 files changed +16
-40
lines changed Expand file tree Collapse file tree 2 files changed +16
-40
lines changed Original file line number Diff line number Diff line change @@ -258,35 +258,23 @@ int SerialPIO::peek() {
258
258
return -1 ;
259
259
}
260
260
// If there's something in the FIFO now, just peek at it
261
- uint32_t start = millis ();
262
- uint32_t now = millis ();
263
- while ((now - start) < _timeout) {
264
- if (_writer != _reader) {
265
- return _queue[_reader];
266
- }
267
- delay (1 );
268
- now = millis ();
261
+ if (_writer != _reader) {
262
+ return _queue[_reader];
269
263
}
270
- return -1 ; // Nothing available before timeout
264
+ return -1 ;
271
265
}
272
266
273
267
int SerialPIO::read () {
274
268
CoreMutex m (&_mutex);
275
269
if (!_running || !m || (_rx == NOPIN)) {
276
270
return -1 ;
277
271
}
278
- uint32_t start = millis ();
279
- uint32_t now = millis ();
280
- while ((now - start) < _timeout) {
281
- if (_writer != _reader) {
282
- auto ret = _queue[_reader];
283
- _reader = (_reader + 1 ) % _fifosize;
284
- return ret;
285
- }
286
- delay (1 );
287
- now = millis ();
272
+ if (_writer != _reader) {
273
+ auto ret = _queue[_reader];
274
+ _reader = (_reader + 1 ) % _fifosize;
275
+ return ret;
288
276
}
289
- return -1 ; // Timeout
277
+ return -1 ;
290
278
}
291
279
292
280
int SerialPIO::available () {
Original file line number Diff line number Diff line change @@ -158,35 +158,23 @@ int SerialUART::peek() {
158
158
if (!_running || !m) {
159
159
return -1 ;
160
160
}
161
- uint32_t start = millis ();
162
- uint32_t now = millis ();
163
- while ((now - start) < _timeout) {
164
- if (_writer != _reader) {
165
- return _queue[_reader];
166
- }
167
- delay (1 );
168
- now = millis ();
161
+ if (_writer != _reader) {
162
+ return _queue[_reader];
169
163
}
170
- return -1 ; // Nothing available before timeout
164
+ return -1 ;
171
165
}
172
166
173
167
int SerialUART::read () {
174
168
CoreMutex m (&_mutex);
175
169
if (!_running || !m) {
176
170
return -1 ;
177
171
}
178
- uint32_t start = millis ();
179
- uint32_t now = millis ();
180
- while ((now - start) < _timeout) {
181
- if (_writer != _reader) {
182
- auto ret = _queue[_reader];
183
- _reader = (_reader + 1 ) % _fifoSize;
184
- return ret;
185
- }
186
- delay (1 );
187
- now = millis ();
172
+ if (_writer != _reader) {
173
+ auto ret = _queue[_reader];
174
+ _reader = (_reader + 1 ) % _fifoSize;
175
+ return ret;
188
176
}
189
- return -1 ; // Timeout
177
+ return -1 ;
190
178
}
191
179
192
180
int SerialUART::available () {
You can’t perform that action at this time.
0 commit comments