diff options
Diffstat (limited to 'src/avr/serial.c')
-rw-r--r-- | src/avr/serial.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/avr/serial.c b/src/avr/serial.c index 10b95992..8b9dd14a 100644 --- a/src/avr/serial.c +++ b/src/avr/serial.c @@ -65,6 +65,8 @@ DECL_INIT(serial_init); ISR(USART0_RX_vect) { uint8_t data = UDR0; + if (data == MESSAGE_SYNC) + sched_wake_tasks(); if (receive_pos >= sizeof(receive_buf)) // Serial overflow - ignore it as crc error will force retransmit return; @@ -104,6 +106,7 @@ console_pop_input(uint8_t len) memmove(&receive_buf[copied], &receive_buf[copied + len] , needcopy - copied); copied = needcopy; + sched_wake_tasks(); } irqstatus_t flag = irq_save(); if (rpos != readb(&receive_pos)) { |