From c47309062521c0f1e0ea1b0d53e1e2abe8bb1cdd Mon Sep 17 00:00:00 2001 From: Christian Ehlers Date: Sun, 19 Mar 2023 17:17:19 +0100 Subject: [PATCH 1/3] Fix reconnect_uart --- esp32/lte/lteppp.c | 15 +++++++++++---- esp32/lte/lteppp.h | 2 +- esp32/mods/modlte.c | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/esp32/lte/lteppp.c b/esp32/lte/lteppp.c index 9bd411fd7..bb801adf0 100644 --- a/esp32/lte/lteppp.c +++ b/esp32/lte/lteppp.c @@ -117,8 +117,9 @@ static void lteppp_print_states(); DEFINE PUBLIC FUNCTIONS ******************************************************************************/ -void connect_lte_uart (void) { - MSG("\n"); +void connect_lte_uart (bool reconnect) { + MSG("connect_lte_uart\n"); + uart_driver_delete(LTE_UART_ID); // initialize the UART interface uart_config_t config; @@ -128,7 +129,8 @@ void connect_lte_uart (void) { config.stop_bits = UART_STOP_BITS_1; config.flow_ctrl = UART_HW_FLOWCTRL_CTS_RTS; config.rx_flow_ctrl_thresh = 64; - config.use_ref_tick = false; + // Use UART_SCLK_APB as originally use_ref_tick = false was used here + config.source_clk = UART_SCLK_APB; uart_param_config(LTE_UART_ID, &config); // configure the UART pins @@ -153,6 +155,11 @@ void connect_lte_uart (void) { uart_set_rts(LTE_UART_ID, false); + if (reconnect) { + uart_set_hw_flow_ctrl(LTE_UART_ID, UART_HW_FLOWCTRL_CTS_RTS, 64); + vTaskDelay(5); + } + xTaskCreatePinnedToCore(TASK_UART_EVT, "LTE_UART_EVT", 2048 / sizeof(StackType_t), NULL, 12, &xLTEUartEvtTaskHndl, 1); MSG("done\n"); @@ -481,7 +488,7 @@ static void TASK_LTE (void *pvParameters) { uint8_t at_trials = 0; static uint32_t thread_notification; - connect_lte_uart(); + connect_lte_uart(false); modem_init: MSG("modem_init\n"); diff --git a/esp32/lte/lteppp.h b/esp32/lte/lteppp.h index f577b8b16..ea2350eec 100644 --- a/esp32/lte/lteppp.h +++ b/esp32/lte/lteppp.h @@ -123,7 +123,7 @@ extern bool lteppp_wait_at_rsp (const char *expected_rsp, uint32_t timeout, bool lte_modem_conn_state_t lteppp_get_modem_conn_state(void); void lteppp_set_modem_conn_state(lte_modem_conn_state_t state); -extern void connect_lte_uart (void); +extern void connect_lte_uart (bool reconnect); extern bool ltepp_is_ppp_conn_up(void); diff --git a/esp32/mods/modlte.c b/esp32/mods/modlte.c index 7711813c4..9d984cf6e 100644 --- a/esp32/mods/modlte.c +++ b/esp32/mods/modlte.c @@ -1523,7 +1523,7 @@ STATIC mp_obj_t lte_debug_buff(void) { STATIC MP_DEFINE_CONST_FUN_OBJ_0(lte_debug_buff_obj, lte_debug_buff); #endif STATIC mp_obj_t lte_reconnect_uart (void) { - connect_lte_uart(); + connect_lte_uart(true); lteppp_disconnect(); lte_obj.init = false; return mp_const_none; From 28823aacd827572285c35204c2c36b1299d5b991 Mon Sep 17 00:00:00 2001 From: Christian Ehlers Date: Sun, 19 Mar 2023 17:20:27 +0100 Subject: [PATCH 2/3] Update modlte.c Properly handle AT cmd size > LTE_AT_CMD_DATA_SIZE_MAX --- esp32/mods/modlte.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/esp32/mods/modlte.c b/esp32/mods/modlte.c index 9d984cf6e..3a81b4212 100644 --- a/esp32/mods/modlte.c +++ b/esp32/mods/modlte.c @@ -223,7 +223,18 @@ static bool lte_push_at_command_ext_cont (char *cmd_str, uint32_t timeout, const } static bool lte_push_at_command_ext(char *cmd_str, uint32_t timeout, const char *expected_rsp, size_t len) { - return lte_push_at_command_ext_cont(cmd_str, timeout, expected_rsp, len, false); + if (len > LTE_AT_CMD_DATA_SIZE_MAX) { + uint32_t cmd_full = len / LTE_AT_CMD_DATA_SIZE_MAX; + uint32_t cmd_remain = len % LTE_AT_CMD_DATA_SIZE_MAX; + for (int i=0; i < cmd_full; i++) { + if (!lte_push_at_command_ext_cont(cmd_str+(i*LTE_AT_CMD_DATA_SIZE_MAX), timeout, expected_rsp, LTE_AT_CMD_DATA_SIZE_MAX, true)) { + return false; + } + } + return lte_push_at_command_ext_cont(cmd_str+(cmd_full*LTE_AT_CMD_DATA_SIZE_MAX), timeout, expected_rsp, cmd_remain, false); + } else { + return lte_push_at_command_ext_cont(cmd_str, timeout, expected_rsp, len, false); + } } static bool lte_push_at_command (char *cmd_str, uint32_t timeout) { From a467fb9172ef3eedeee51953eeead222fd51c454 Mon Sep 17 00:00:00 2001 From: Christian Ehlers Date: Sun, 19 Mar 2023 17:21:39 +0100 Subject: [PATCH 3/3] Update pycom_version.h Update version to r7 --- esp32/pycom_version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esp32/pycom_version.h b/esp32/pycom_version.h index 8946280b1..0e75d58a4 100644 --- a/esp32/pycom_version.h +++ b/esp32/pycom_version.h @@ -10,7 +10,7 @@ #ifndef VERSION_H_ #define VERSION_H_ -#define SW_VERSION_NUMBER "1.20.2.r6" +#define SW_VERSION_NUMBER "1.20.2.r7" #define LORAWAN_VERSION_NUMBER "1.0.2" pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy