feat(gateway): add KNX TP UART startup timeout configuration and enhance initialization logic
Signed-off-by: Tony <tonylu@tony-cloud.com>
This commit is contained in:
@@ -831,6 +831,17 @@ config GATEWAY_KNX_TP_BAUDRATE
|
||||
range 1200 921600
|
||||
default 19200
|
||||
|
||||
config GATEWAY_KNX_TP_STARTUP_TIMEOUT_MS
|
||||
int "KNX TP UART startup timeout (ms)"
|
||||
depends on GATEWAY_KNX_BRIDGE_SUPPORTED
|
||||
range 0 10000
|
||||
default 2000
|
||||
help
|
||||
How long the gateway should keep retrying TP-UART startup before
|
||||
giving up. This covers transient UART/GPIO ownership races that can
|
||||
happen immediately after an ETS-triggered reboot. Set to 0 to keep the
|
||||
previous single-shot startup behavior.
|
||||
|
||||
config GATEWAY_KNX_TP_UART_9BIT_MODE
|
||||
bool "KNX TP UART 9-bit mode"
|
||||
depends on GATEWAY_KNX_BRIDGE_SUPPORTED
|
||||
|
||||
@@ -107,6 +107,10 @@
|
||||
#define CONFIG_GATEWAY_485_CONTROL_TASK_PRIORITY 4
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_GATEWAY_KNX_TP_STARTUP_TIMEOUT_MS
|
||||
#define CONFIG_GATEWAY_KNX_TP_STARTUP_TIMEOUT_MS 2000
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_GATEWAY_SMARTCONFIG_TIMEOUT_SEC
|
||||
#define CONFIG_GATEWAY_SMARTCONFIG_TIMEOUT_SEC 60
|
||||
#endif
|
||||
@@ -907,6 +911,8 @@ extern "C" void app_main(void) {
|
||||
default_knx.tp_uart.tx_pin = CONFIG_GATEWAY_KNX_TP_TX_PIN;
|
||||
default_knx.tp_uart.rx_pin = CONFIG_GATEWAY_KNX_TP_RX_PIN;
|
||||
default_knx.tp_uart.baudrate = static_cast<uint32_t>(CONFIG_GATEWAY_KNX_TP_BAUDRATE);
|
||||
default_knx.tp_uart.startup_timeout_ms =
|
||||
static_cast<uint32_t>(CONFIG_GATEWAY_KNX_TP_STARTUP_TIMEOUT_MS);
|
||||
#ifdef CONFIG_GATEWAY_KNX_TP_UART_9BIT_MODE
|
||||
default_knx.tp_uart.nine_bit_mode = true;
|
||||
#else
|
||||
|
||||
@@ -697,6 +697,7 @@ CONFIG_GATEWAY_KNX_TP_UART_PORT=0
|
||||
CONFIG_GATEWAY_KNX_TP_TX_PIN=-1
|
||||
CONFIG_GATEWAY_KNX_TP_RX_PIN=-1
|
||||
CONFIG_GATEWAY_KNX_TP_BAUDRATE=19200
|
||||
CONFIG_GATEWAY_KNX_TP_STARTUP_TIMEOUT_MS=2000
|
||||
CONFIG_GATEWAY_KNX_TP_UART_9BIT_MODE=y
|
||||
CONFIG_GATEWAY_BRIDGE_KNX_TASK_STACK_SIZE=12288
|
||||
CONFIG_GATEWAY_BRIDGE_KNX_TASK_PRIORITY=5
|
||||
|
||||
Reference in New Issue
Block a user