Merge branch 'bugfix/pppos_event_deinit_exit_ppp_v4.3' into 'release/v4.3'

Examples/PPPoS: Minor fixes related to init/deinit cycling (v4.3)

See merge request espressif/esp-idf!16062
This commit is contained in:
Jiang Jiang Jian
2021-11-25 11:46:10 +00:00
2 changed files with 14 additions and 0 deletions

View File

@ -144,6 +144,19 @@ esp_err_t esp_modem_netif_clear_default_handlers(void *h)
if (ret != ESP_OK) {
goto clear_event_failed;
}
ret = esp_event_handler_unregister(IP_EVENT, IP_EVENT_PPP_GOT_IP, esp_netif_action_connected);
if (ret != ESP_OK) {
goto clear_event_failed;
}
ret = esp_event_handler_unregister(IP_EVENT, IP_EVENT_PPP_LOST_IP, esp_netif_action_disconnected);
if (ret != ESP_OK) {
goto clear_event_failed;
}
// this event is registered while modem gets attached to netif.
// we don't have any detach functionality, so we unregister here and ignore potential error
esp_event_handler_unregister(NETIF_PPP_STATUS, ESP_EVENT_ANY_ID, on_ppp_changed);
return ESP_OK;
clear_event_failed:

View File

@ -307,6 +307,7 @@ static esp_err_t sim800_set_working_mode(modem_dce_t *dce, modem_mode_t mode)
DCE_CHECK(dce->state == MODEM_STATE_SUCCESS, "sync failed", err);
} else {
DCE_CHECK(dce->state == MODEM_STATE_SUCCESS, "enter command mode failed", err);
vTaskDelay(pdMS_TO_TICKS(1000)); // spec: 1s delay after `+++` command
}
ESP_LOGD(DCE_TAG, "enter command mode ok");
dce->mode = MODEM_COMMAND_MODE;