stm32/nimble_hci_uart.c: Prevent scheduler running during CYW-BT wakeup.

Using mp_hal_delay_ms allows the scheduler to run, which might result in
another transmit operation happening, which would bypass the sleep (and
fail).  Use mp_hal_delay_us instead.
This commit is contained in:
Jim Mussared 2019-11-13 17:02:50 +11:00 committed by Damien George
parent 438c0dc2a4
commit fbb7646e3b

View File

@ -162,7 +162,9 @@ void nimble_hci_uart_tx_strn(const char *str, uint len) {
if (mp_hal_pin_read(pyb_pin_BT_DEV_WAKE) == 1) { if (mp_hal_pin_read(pyb_pin_BT_DEV_WAKE) == 1) {
//printf("BT WAKE for TX\n"); //printf("BT WAKE for TX\n");
mp_hal_pin_low(pyb_pin_BT_DEV_WAKE); // wake up mp_hal_pin_low(pyb_pin_BT_DEV_WAKE); // wake up
mp_hal_delay_ms(5); // can't go lower than this // Use delay_us rather than delay_ms to prevent running the scheduler (which
// might result in more BLE operations).
mp_hal_delay_us(5000); // can't go lower than this
} }
#endif #endif