Răsfoiți Sursa

Merge branch 'bugfix/pppos_event_deinit_exit_ppp' into 'release/v4.4'

Examples/PPPoS: Minor fixes related to init/deinit cycling

See merge request espressif/esp-idf!15553
David Čermák 4 ani în urmă
părinte
comite
bf4ef23067

+ 9 - 13
examples/protocols/pppos_client/components/modem/src/esp_modem_netif.c

@@ -1,16 +1,8 @@
-// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 #include "esp_netif.h"
 #include "esp_netif_ppp.h"
 #include "esp_modem.h"
@@ -153,6 +145,10 @@ esp_err_t esp_modem_netif_clear_default_handlers(void *h)
         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:

+ 6 - 13
examples/protocols/pppos_client/components/modem/src/sim800.c

@@ -1,16 +1,8 @@
-// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
+/*
+ * SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 #include <stdlib.h>
 #include <string.h>
 #include "esp_log.h"
@@ -92,6 +84,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;

+ 0 - 2
tools/ci/check_copyright_ignore.txt

@@ -3725,9 +3725,7 @@ examples/protocols/pppos_client/components/modem/include/sim800.h
 examples/protocols/pppos_client/components/modem/src/bg96.c
 examples/protocols/pppos_client/components/modem/src/esp_modem_compat.c
 examples/protocols/pppos_client/components/modem/src/esp_modem_dce_service.c
-examples/protocols/pppos_client/components/modem/src/esp_modem_netif.c
 examples/protocols/pppos_client/components/modem/src/sim7600.c
-examples/protocols/pppos_client/components/modem/src/sim800.c
 examples/protocols/pppos_client/example_test.py
 examples/protocols/pppos_client/main/pppos_client_main.c
 examples/protocols/slip/slip_udp/components/slip_modem/include/slip_modem.h