File tree 1 file changed +11
-11
lines changed
1 file changed +11
-11
lines changed Original file line number Diff line number Diff line change @@ -272,8 +272,7 @@ def _flush_uart():
272
272
Empties the UART buffer
273
273
:return:
274
274
"""
275
- while uart .any ():
276
- uart .read (1 )
275
+ uart .read (uart .any ())
277
276
278
277
def _begin_update_thread (self ):
279
278
"""
@@ -641,21 +640,22 @@ def _update(self, delay_=1):
641
640
self .set_behaviour (2 )
642
641
if not ArduinoAlvik ._update_thread_running :
643
642
break
644
- if self ._read_message ():
645
- self ._parse_message ()
643
+ self ._read_message ()
646
644
sleep_ms (delay_ )
647
645
648
- def _read_message (self ) -> bool :
646
+ def _read_message (self ) -> None :
649
647
"""
650
648
Read a message from the uC
651
649
:return: True if a message terminator was reached
652
650
"""
653
- while uart .any ():
654
- b = uart .read (1 )[0 ]
655
- self ._packeter .buffer .push (b )
656
- if b == self ._packeter .end_index and self ._packeter .checkPayload ():
657
- return True
658
- return False
651
+ buf = bytearray (uart .any ())
652
+ uart .readinto (buf )
653
+ if len (buf ):
654
+ uart .readinto (buf )
655
+ for b in buf :
656
+ self ._packeter .buffer .push (b )
657
+ if b == self ._packeter .end_index and self ._packeter .checkPayload ():
658
+ self ._parse_message ()
659
659
660
660
def _parse_message (self ) -> int :
661
661
"""
You can’t perform that action at this time.
0 commit comments