diff options
| -rw-r--r-- | serial_link/system/system.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/serial_link/system/system.c b/serial_link/system/system.c index 5406db3f4..f74d8c9e9 100644 --- a/serial_link/system/system.c +++ b/serial_link/system/system.c | |||
| @@ -88,11 +88,13 @@ static THD_FUNCTION(serialThread, arg) { | |||
| 88 | EVENT_MASK(2), | 88 | EVENT_MASK(2), |
| 89 | CHN_INPUT_AVAILABLE); | 89 | CHN_INPUT_AVAILABLE); |
| 90 | bool need_wait = false; | 90 | bool need_wait = false; |
| 91 | bool is_master = false; | ||
| 91 | while(true) { | 92 | while(true) { |
| 92 | if (need_wait) { | 93 | if (need_wait) { |
| 93 | chEvtWaitAnyTimeout(ALL_EVENTS, MS2ST(1000)); | 94 | chEvtWaitAnyTimeout(ALL_EVENTS, MS2ST(1000)); |
| 94 | } | 95 | } |
| 95 | bool is_master = usbGetDriverStateI(&USBD1) == USB_ACTIVE; | 96 | // Always stay as master, even if the USB goes into sleep mode |
| 97 | is_master |= usbGetDriverStateI(&USBD1) == USB_ACTIVE; | ||
| 96 | router_set_master(is_master); | 98 | router_set_master(is_master); |
| 97 | 99 | ||
| 98 | need_wait = true; | 100 | need_wait = true; |
