@@ -91,7 +91,7 @@ void lteppp_init(void) {
91
91
92
92
void lteppp_start (void ) {
93
93
uart_set_hw_flow_ctrl (LTE_UART_ID , UART_HW_FLOWCTRL_CTS_RTS , 64 );
94
- mp_hal_delay_ms (5 );
94
+ vTaskDelay (5 );
95
95
}
96
96
97
97
void lteppp_set_state (lte_state_t state ) {
@@ -101,13 +101,16 @@ void lteppp_set_state(lte_state_t state) {
101
101
}
102
102
103
103
void lteppp_connect (void ) {
104
+ uart_flush (LTE_UART_ID );
105
+ vTaskDelay (25 );
104
106
pppapi_set_default (lteppp_pcb );
105
107
pppapi_set_auth (lteppp_pcb , PPPAUTHTYPE_PAP , "" , "" );
106
108
pppapi_connect (lteppp_pcb , 0 );
107
109
}
108
110
109
111
void lteppp_disconnect (void ) {
110
112
pppapi_close (lteppp_pcb , 0 );
113
+ vTaskDelay (150 );
111
114
}
112
115
113
116
void 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) {
223
226
break ;
224
227
}
225
228
}
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
+ }
226
237
}
227
238
228
239
lteppp_send_at_cmd ("AT" , LTE_RX_TIMEOUT_MIN_MS );
@@ -243,6 +254,13 @@ static void TASK_LTE (void *pvParameters) {
243
254
break ;
244
255
}
245
256
}
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
+ }
246
264
}
247
265
}
248
266
@@ -268,17 +286,12 @@ static void TASK_LTE (void *pvParameters) {
268
286
269
287
// enable PSM if not already enabled
270
288
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 );
273
291
}
274
292
// enable low power mode
275
293
lteppp_send_at_cmd ("AT!=\"setlpm airplane=1 enable=1\"" , LTE_RX_TIMEOUT_MAX_MS );
276
294
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
-
282
295
lteppp_init_complete = true;
283
296
284
297
for (;;) {
@@ -307,11 +320,13 @@ static void TASK_LTE (void *pvParameters) {
307
320
308
321
static bool lteppp_send_at_cmd_exp (const char * cmd , uint32_t timeout , const char * expected_rsp ) {
309
322
uint32_t cmd_len = strlen (cmd );
323
+ // char tmp_buf[128];
310
324
311
325
// printf("cmd: %s\n", cmd);
312
326
313
327
// flush the rx buffer first
314
328
uart_flush (LTE_UART_ID );
329
+ // uart_read_bytes(LTE_UART_ID, (uint8_t *)tmp_buf, sizeof(tmp_buf), 5 / portTICK_RATE_MS);
315
330
// then send the command
316
331
uart_write_bytes (LTE_UART_ID , cmd , cmd_len );
317
332
if (strcmp (cmd , "+++" )) {
0 commit comments