Debounce BOOT0 readout in the hot loop (#2633)
commitf8d39794b2492b4ac6e08d1dd497461c28ed5e16
authorJohannes Hutter <johannes.5494@gmail.com>
Wed, 17 Apr 2024 20:44:50 +0000 (17 22:44 +0200)
committerGitHub <noreply@github.com>
Wed, 17 Apr 2024 20:44:50 +0000 (18 06:44 +1000)
tree7f5c56b9339efd9931815ed410287f470ca0238f
parent210e938ec2850dff11f5575ba0b8b000c220fce6
Debounce BOOT0 readout in the hot loop (#2633)

Connecting a USB cable sometimes introduces noise on the pins of the USB
to UART converter leading to a low BOOT0 pin. In the main loop of TX
this is checked for indication of a backpack update. Depending on timing
this leads to the whole TX hanging since the serial connection is closed
and the device enters passthrough mode.

Introduce a simple software debouncing to ensure the state of the pin
has settled before entering the update mode.

Co-authored-by: Johannes Hutter <johannes.hutter@helsing.ai>
src/lib/Backpack/devBackpack.cpp