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:
@@ -37,8 +37,19 @@ namespace bt1035 {
|
||||
struct Bt1035Pins {
|
||||
int uartTx; ///< ESP32 TX -> module RX.
|
||||
int uartRx; ///< ESP32 RX <- module TX.
|
||||
int resetGpio; ///< Module RESET (active level per schematic).
|
||||
int sysCtlGpio; ///< SYS_CTL (optional module enable).
|
||||
int resetGpio; ///< Module RESET# (pin 8). Read-only: configured as a
|
||||
///< floating input (2026-08-22), never driven — relies
|
||||
///< entirely on the module's own internal pull-up.
|
||||
int sysCtlGpio; ///< SYS_CTL (pin 34). Driven HIGH once at boot, then
|
||||
///< never touched again for the process lifetime.
|
||||
int ctsGpio; ///< Host->module UART_CTS (module pin 15). Diagnostic
|
||||
///< only (2026-08-22): read-only floating input, never
|
||||
///< driven — this driver does not implement hardware
|
||||
///< flow control. See boot()'s comment.
|
||||
int rtsGpio; ///< Module UART_RTS/PIO2 (module pin 16), factory
|
||||
///< default function is PA_MUTE, not flow control
|
||||
///< (Feasycom programming guide). Diagnostic only
|
||||
///< (2026-08-22): read-only floating input.
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user