Redesign BT1035 RESET#/SYS_CTRL handling, add CTS/RTS diagnostics
RESET# (pin 8) is no longer driven at all: reconfigured as a floating input relying entirely on the module's own internal pull-up per datasheet §4.8, as a diagnostic test to rule out host-side RESET# drive as a contributor to intermittent boot failures. SYS_CTRL (pin 34) now performs a genuine LOW(2.5s)->HIGH power-cycle on every resetAndInitOnce() call rather than being asserted once ever: previously every later retry from bt1035RetryTask silently reused an already-HIGH SYS_CTRL line without ever actually power-cycling the module. Added read-only diagnostics on the CTS/RTS pins (physically wired, named in board_pins.hpp since their original definition, never configured by any driver code, host flow control disabled) to observe their level around the boot-banner wait, after reviewing a sibling project's PinScope report and re-reading the datasheet's UART flow control and PA_MUTE default-function documentation. Across ~45 minutes of live testing after these changes, zero successful boots were observed - inconclusive on whether this improves anything, but each change is independently correct per the datasheet. Escalated to Feasycom support with the full findings. Documented in the RF investigation report and TODO. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -79,6 +79,8 @@ bt1035::Bt1035Driver gBt1035(
|
||||
.uartRx = board::pins::Bt1035UartRx,
|
||||
.resetGpio = board::pins::Bt1035Reset,
|
||||
.sysCtlGpio = board::pins::Bt1035SysCtl,
|
||||
.ctsGpio = board::pins::Bt1035Cts,
|
||||
.rtsGpio = board::pins::Bt1035Rts,
|
||||
});
|
||||
|
||||
core::DeviceIdentity gDeviceIdentity = core::DeviceIdentity::unknown();
|
||||
|
||||
Reference in New Issue
Block a user