@@ -91,7 +91,7 @@ void lteppp_init(void) {
9191
9292void lteppp_start (void ) {
9393 uart_set_hw_flow_ctrl (LTE_UART_ID , UART_HW_FLOWCTRL_CTS_RTS , 64 );
94- mp_hal_delay_ms (5 );
94+ vTaskDelay (5 );
9595}
9696
9797void lteppp_set_state (lte_state_t state ) {
@@ -101,13 +101,16 @@ void lteppp_set_state(lte_state_t state) {
101101}
102102
103103void lteppp_connect (void ) {
104+ uart_flush (LTE_UART_ID );
105+ vTaskDelay (25 );
104106 pppapi_set_default (lteppp_pcb );
105107 pppapi_set_auth (lteppp_pcb , PPPAUTHTYPE_PAP , "" , "" );
106108 pppapi_connect (lteppp_pcb , 0 );
107109}
108110
109111void lteppp_disconnect (void ) {
110112 pppapi_close (lteppp_pcb , 0 );
113+ vTaskDelay (150 );
111114}
112115
113116void lteppp_send_at_command (lte_task_cmd_data_t * cmd , lte_task_rsp_data_t * rsp ) {
@@ -223,6 +226,14 @@ static void TASK_LTE (void *pvParameters) {
223226 break ;
224227 }
225228 }
229+
230+ lteppp_send_at_cmd ("ATH" , LTE_RX_TIMEOUT_MIN_MS );
231+ while (true) {
232+ vTaskDelay (LTE_RX_TIMEOUT_MIN_MS );
233+ if (lteppp_send_at_cmd ("AT" , LTE_RX_TIMEOUT_MIN_MS )) {
234+ break ;
235+ }
236+ }
226237 }
227238
228239 lteppp_send_at_cmd ("AT" , LTE_RX_TIMEOUT_MIN_MS );
@@ -243,6 +254,13 @@ static void TASK_LTE (void *pvParameters) {
243254 break ;
244255 }
245256 }
257+ lteppp_send_at_cmd ("ATH" , LTE_RX_TIMEOUT_MIN_MS );
258+ while (true) {
259+ vTaskDelay (LTE_RX_TIMEOUT_MIN_MS );
260+ if (lteppp_send_at_cmd ("AT" , LTE_RX_TIMEOUT_MIN_MS )) {
261+ break ;
262+ }
263+ }
246264 }
247265 }
248266
@@ -268,17 +286,12 @@ static void TASK_LTE (void *pvParameters) {
268286
269287 // enable PSM if not already enabled
270288 lteppp_send_at_cmd ("AT+CPSMS?" , LTE_RX_TIMEOUT_MAX_MS );
271- if (!strstr (lteppp_trx_buffer , "+CPSMS: 0 " )) {
272- lteppp_send_at_cmd ("AT+CPSMS=0 " , LTE_RX_TIMEOUT_MIN_MS );
289+ if (!strstr (lteppp_trx_buffer , "+CPSMS: 1 " )) {
290+ lteppp_send_at_cmd ("AT+CPSMS=1 " , LTE_RX_TIMEOUT_MIN_MS );
273291 }
274292 // enable low power mode
275293 lteppp_send_at_cmd ("AT!=\"setlpm airplane=1 enable=1\"" , LTE_RX_TIMEOUT_MAX_MS );
276294
277- if (!sim_present ) {
278- // uart_set_hw_flow_ctrl(LTE_UART_ID, UART_HW_FLOWCTRL_DISABLE, 0);
279- // uart_set_rts(LTE_UART_ID, false);
280- }
281-
282295 lteppp_init_complete = true;
283296
284297 for (;;) {
@@ -307,11 +320,13 @@ static void TASK_LTE (void *pvParameters) {
307320
308321static bool lteppp_send_at_cmd_exp (const char * cmd , uint32_t timeout , const char * expected_rsp ) {
309322 uint32_t cmd_len = strlen (cmd );
323+ // char tmp_buf[128];
310324
311325 // printf("cmd: %s\n", cmd);
312326
313327 // flush the rx buffer first
314328 uart_flush (LTE_UART_ID );
329+ // uart_read_bytes(LTE_UART_ID, (uint8_t *)tmp_buf, sizeof(tmp_buf), 5 / portTICK_RATE_MS);
315330 // then send the command
316331 uart_write_bytes (LTE_UART_ID , cmd , cmd_len );
317332 if (strcmp (cmd , "+++" )) {
0 commit comments