@@ -174,7 +174,7 @@ void lteppp_init(void) {
174
174
lteppp_pcb = pppapi_pppos_create (& lteppp_netif , lteppp_output_callback , lteppp_status_cb , NULL );
175
175
176
176
//wait on connecting modem until it is allowed
177
- lteppp_modem_conn_state = E_LTE_MODEM_DISCONNECTED ;
177
+ lteppp_set_modem_conn_state ( E_LTE_MODEM_DISCONNECTED ) ;
178
178
179
179
xTaskCreatePinnedToCore (TASK_LTE , "LTE" , LTE_TASK_STACK_SIZE / sizeof (StackType_t ), NULL , LTE_TASK_PRIORITY , & xLTETaskHndl , 1 );
180
180
@@ -211,7 +211,7 @@ char* lteppp_get_log_buff(void)
211
211
}
212
212
#endif
213
213
214
- lte_modem_conn_state_t lteppp_modem_state (void )
214
+ lte_modem_conn_state_t lteppp_get_modem_conn_state (void )
215
215
{
216
216
lte_modem_conn_state_t state ;
217
217
if (!xLTESem ){
@@ -224,6 +224,13 @@ lte_modem_conn_state_t lteppp_modem_state(void)
224
224
return state ;
225
225
}
226
226
227
+ void lteppp_set_modem_conn_state (lte_modem_conn_state_t state )
228
+ {
229
+ xSemaphoreTake (xLTESem , portMAX_DELAY );
230
+ lteppp_modem_conn_state = state ;
231
+ xSemaphoreGive (xLTESem );
232
+ }
233
+
227
234
void lteppp_set_state (lte_state_t state ) {
228
235
xSemaphoreTake (xLTESem , portMAX_DELAY );
229
236
lteppp_lte_state = state ;
@@ -455,9 +462,7 @@ static void TASK_LTE (void *pvParameters) {
455
462
{
456
463
MSG ("notif\n" );
457
464
xSemaphoreTake (xLTE_modem_Conn_Sem , portMAX_DELAY );
458
- xSemaphoreTake (xLTESem , portMAX_DELAY );
459
- lteppp_modem_conn_state = E_LTE_MODEM_CONNECTING ;
460
- xSemaphoreGive (xLTESem );
465
+ lteppp_set_modem_conn_state (E_LTE_MODEM_CONNECTING );
461
466
uart_set_rts (LTE_UART_ID , true);
462
467
vTaskDelay (500 /portTICK_PERIOD_MS );
463
468
uart_set_hw_flow_ctrl (LTE_UART_ID , UART_HW_FLOWCTRL_CTS_RTS , 64 );
@@ -471,9 +476,7 @@ static void TASK_LTE (void *pvParameters) {
471
476
if (at_trials >= LTE_AT_CMD_TRIALS ) {
472
477
uart_set_hw_flow_ctrl (LTE_UART_ID , UART_HW_FLOWCTRL_DISABLE , 0 );
473
478
uart_set_rts (LTE_UART_ID , false);
474
- xSemaphoreTake (xLTESem , portMAX_DELAY );
475
- lteppp_modem_conn_state = E_LTE_MODEM_DISCONNECTED ;
476
- xSemaphoreGive (xLTESem );
479
+ lteppp_set_modem_conn_state (E_LTE_MODEM_DISCONNECTED );
477
480
xSemaphoreGive (xLTE_modem_Conn_Sem );
478
481
at_trials = 0 ;
479
482
goto modem_init ;
@@ -494,9 +497,7 @@ static void TASK_LTE (void *pvParameters) {
494
497
if (at_trials >= LTE_AT_CMD_TRIALS ) {
495
498
uart_set_hw_flow_ctrl (LTE_UART_ID , UART_HW_FLOWCTRL_DISABLE , 0 );
496
499
uart_set_rts (LTE_UART_ID , false);
497
- xSemaphoreTake (xLTESem , portMAX_DELAY );
498
- lteppp_modem_conn_state = E_LTE_MODEM_DISCONNECTED ;
499
- xSemaphoreGive (xLTESem );
500
+ lteppp_set_modem_conn_state (E_LTE_MODEM_DISCONNECTED );
500
501
xSemaphoreGive (xLTE_modem_Conn_Sem );
501
502
at_trials = 0 ;
502
503
goto modem_init ;
@@ -511,9 +512,7 @@ static void TASK_LTE (void *pvParameters) {
511
512
if (at_trials >= LTE_AT_CMD_TRIALS ) {
512
513
uart_set_hw_flow_ctrl (LTE_UART_ID , UART_HW_FLOWCTRL_DISABLE , 0 );
513
514
uart_set_rts (LTE_UART_ID , false);
514
- xSemaphoreTake (xLTESem , portMAX_DELAY );
515
- lteppp_modem_conn_state = E_LTE_MODEM_DISCONNECTED ;
516
- xSemaphoreGive (xLTESem );
515
+ lteppp_set_modem_conn_state (E_LTE_MODEM_DISCONNECTED );
517
516
xSemaphoreGive (xLTE_modem_Conn_Sem );
518
517
at_trials = 0 ;
519
518
goto modem_init ;
@@ -555,22 +554,16 @@ static void TASK_LTE (void *pvParameters) {
555
554
{
556
555
lteppp_send_at_cmd ("AT+SQNIBRCFG=1,100" , LTE_RX_TIMEOUT_MAX_MS );
557
556
}
558
- xSemaphoreTake (xLTESem , portMAX_DELAY );
559
- lteppp_modem_conn_state = E_LTE_MODEM_CONNECTED ;
560
- xSemaphoreGive (xLTESem );
557
+ lteppp_set_modem_conn_state (E_LTE_MODEM_CONNECTED );
561
558
xSemaphoreGive (xLTE_modem_Conn_Sem );
562
559
MSG ("forever\n" );
563
560
lte_state_t state ;
564
561
for (;;) {
565
562
vTaskDelay (LTE_TASK_PERIOD_MS );
566
- xSemaphoreTake (xLTESem , portMAX_DELAY );
567
- if (E_LTE_MODEM_DISCONNECTED == lteppp_modem_conn_state )
568
- {
569
- xSemaphoreGive (xLTESem );
563
+ if (lteppp_get_modem_conn_state () == E_LTE_MODEM_DISCONNECTED ){
570
564
// restart the task
571
565
goto modem_init ;
572
566
}
573
- xSemaphoreGive (xLTESem );
574
567
state = lteppp_get_state ();
575
568
if (xQueueReceive (xCmdQueue , lteppp_trx_buffer , 0 )) {
576
569
MSG ("cmd\n" );
@@ -868,7 +861,7 @@ static void lteppp_print_states(){
868
861
if (!xLTESem )
869
862
return ;
870
863
static lte_modem_conn_state_t last_c = 0xff ;
871
- lte_modem_conn_state_t c = lteppp_modem_state ();
864
+ lte_modem_conn_state_t c = lteppp_get_modem_conn_state ();
872
865
static lte_state_t last_s = 0xff ;
873
866
lte_state_t s = lteppp_get_state ();
874
867
static bool last_u = false;
0 commit comments