diff --git a/CMakeLists.txt b/CMakeLists.txt index c88b7e1ba96..e9030ed38dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -206,9 +206,7 @@ set(ARDUINO_LIBRARY_Matter_SRCS libraries/Matter/src/Matter.cpp libraries/Matter/src/MatterEndPoint.cpp) -set(ARDUINO_LIBRARY_PPP_SRCS - libraries/PPP/src/PPP.cpp - libraries/PPP/src/ppp.c) +set(ARDUINO_LIBRARY_PPP_SRCS libraries/PPP/src/PPP.cpp) set(ARDUINO_LIBRARY_Preferences_SRCS libraries/Preferences/src/Preferences.cpp) diff --git a/idf_component.yml b/idf_component.yml index 3e376391af2..5004d87a881 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -54,7 +54,7 @@ dependencies: version: "^1.2.3" require: public espressif/esp_modem: - version: "^1.1.0" + version: "^2.0.0" espressif/esp-zboss-lib: version: "==1.6.4" # compatible with esp-zigbee-lib 1.6.8 require: public diff --git a/libraries/PPP/src/PPP.cpp b/libraries/PPP/src/PPP.cpp index 01989429ae5..5ce0164762c 100644 --- a/libraries/PPP/src/PPP.cpp +++ b/libraries/PPP/src/PPP.cpp @@ -23,17 +23,6 @@ typedef struct { } PdpContext; #include "esp_modem_api.h" -// Because of how esp_modem functions are declared, we need to workaround some APIs that take strings as input (output works OK) -// Following APIs work only when called through this interface -extern "C" { -esp_err_t _esp_modem_at(esp_modem_dce_t *dce_wrap, const char *at, char *p_out, int timeout); -esp_err_t _esp_modem_at_raw(esp_modem_dce_t *dce_wrap, const char *cmd, char *p_out, const char *pass, const char *fail, int timeout); -esp_err_t _esp_modem_send_sms(esp_modem_dce_t *dce_wrap, const char *number, const char *message); -esp_err_t _esp_modem_set_pin(esp_modem_dce_t *dce_wrap, const char *pin); -esp_err_t _esp_modem_set_operator(esp_modem_dce_t *dce_wrap, int mode, int format, const char *oper); -esp_err_t _esp_modem_set_network_bands(esp_modem_dce_t *dce_wrap, const char *mode, const int *bands, int size); -}; - static PPPClass *_esp_modem = NULL; static esp_event_handler_instance_t _ppp_ev_instance = NULL; @@ -354,8 +343,8 @@ bool PPPClass::begin(ppp_modem_model_t model, uint8_t uart_num, int baud_rate) { } /* check if PIN needed */ - if (esp_modem_read_pin(_dce, pin_ok) == ESP_OK && pin_ok == false) { - if (_pin == NULL || _esp_modem_set_pin(_dce, _pin) != ESP_OK) { + if (esp_modem_read_pin(_dce, &pin_ok) == ESP_OK && pin_ok == false) { + if (_pin == NULL || esp_modem_set_pin(_dce, _pin) != ESP_OK) { log_e("PIN verification failed!"); goto err; } @@ -461,7 +450,7 @@ bool PPPClass::attached() const { PPP_CMD_MODE_CHECK(false); int m = 0; - esp_err_t err = esp_modem_get_network_attachment_state(_dce, m); + esp_err_t err = esp_modem_get_network_attachment_state(_dce, &m); if (err != ESP_OK) { // log_e("esp_modem_get_network_attachment_state failed with %d %s", err, esp_err_to_name(err)); return false; @@ -526,7 +515,7 @@ int PPPClass::RSSI() const { PPP_CMD_MODE_CHECK(-1); int rssi, ber; - esp_err_t err = esp_modem_get_signal_quality(_dce, rssi, ber); + esp_err_t err = esp_modem_get_signal_quality(_dce, &rssi, &ber); if (err != ESP_OK) { log_e("esp_modem_get_signal_quality failed with %d %s", err, esp_err_to_name(err)); return -1; @@ -538,7 +527,7 @@ int PPPClass::BER() const { PPP_CMD_MODE_CHECK(-1); int rssi, ber; - esp_err_t err = esp_modem_get_signal_quality(_dce, rssi, ber); + esp_err_t err = esp_modem_get_signal_quality(_dce, &rssi, &ber); if (err != ESP_OK) { log_e("esp_modem_get_signal_quality failed with %d %s", err, esp_err_to_name(err)); return -1; @@ -550,7 +539,7 @@ String PPPClass::IMSI() const { PPP_CMD_MODE_CHECK(String()); char imsi[32]; - esp_err_t err = esp_modem_get_imsi(_dce, (std::string &)imsi); + esp_err_t err = esp_modem_get_imsi(_dce, imsi); if (err != ESP_OK) { log_e("esp_modem_get_imsi failed with %d %s", err, esp_err_to_name(err)); return String(); @@ -563,7 +552,7 @@ String PPPClass::IMEI() const { PPP_CMD_MODE_CHECK(String()); char imei[32]; - esp_err_t err = esp_modem_get_imei(_dce, (std::string &)imei); + esp_err_t err = esp_modem_get_imei(_dce, imei); if (err != ESP_OK) { log_e("esp_modem_get_imei failed with %d %s", err, esp_err_to_name(err)); return String(); @@ -576,7 +565,7 @@ String PPPClass::moduleName() const { PPP_CMD_MODE_CHECK(String()); char name[32]; - esp_err_t err = esp_modem_get_module_name(_dce, (std::string &)name); + esp_err_t err = esp_modem_get_module_name(_dce, name); if (err != ESP_OK) { log_e("esp_modem_get_module_name failed with %d %s", err, esp_err_to_name(err)); return String(); @@ -590,7 +579,7 @@ String PPPClass::operatorName() const { char oper[32]; int act = 0; - esp_err_t err = esp_modem_get_operator_name(_dce, (std::string &)oper, act); + esp_err_t err = esp_modem_get_operator_name(_dce, oper, &act); if (err != ESP_OK) { log_e("esp_modem_get_operator_name failed with %d %s", err, esp_err_to_name(err)); return String(); @@ -603,7 +592,7 @@ int PPPClass::networkMode() const { PPP_CMD_MODE_CHECK(-1); int m = 0; - esp_err_t err = esp_modem_get_network_system_mode(_dce, m); + esp_err_t err = esp_modem_get_network_system_mode(_dce, &m); if (err != ESP_OK) { log_e("esp_modem_get_network_system_mode failed with %d %s", err, esp_err_to_name(err)); return -1; @@ -615,7 +604,7 @@ int PPPClass::radioState() const { PPP_CMD_MODE_CHECK(-1); int m = 0; - esp_err_t err = esp_modem_get_radio_state(_dce, m); + esp_err_t err = esp_modem_get_radio_state(_dce, &m); if (err != ESP_OK) { // log_e("esp_modem_get_radio_state failed with %d %s", err, esp_err_to_name(err)); return -1; @@ -683,7 +672,7 @@ int PPPClass::batteryVoltage() const { PPP_CMD_MODE_CHECK(-1); int volt, bcs, bcl; - esp_err_t err = esp_modem_get_battery_status(_dce, volt, bcs, bcl); + esp_err_t err = esp_modem_get_battery_status(_dce, &volt, &bcs, &bcl); if (err != ESP_OK) { log_e("esp_modem_get_battery_status failed with %d %s", err, esp_err_to_name(err)); return -1; @@ -695,7 +684,7 @@ int PPPClass::batteryLevel() const { PPP_CMD_MODE_CHECK(-1); int volt, bcs, bcl; - esp_err_t err = esp_modem_get_battery_status(_dce, volt, bcs, bcl); + esp_err_t err = esp_modem_get_battery_status(_dce, &volt, &bcs, &bcl); if (err != ESP_OK) { log_e("esp_modem_get_battery_status failed with %d %s", err, esp_err_to_name(err)); return -1; @@ -707,7 +696,7 @@ int PPPClass::batteryStatus() const { PPP_CMD_MODE_CHECK(-1); int volt, bcs, bcl; - esp_err_t err = esp_modem_get_battery_status(_dce, volt, bcs, bcl); + esp_err_t err = esp_modem_get_battery_status(_dce, &volt, &bcs, &bcl); if (err != ESP_OK) { log_e("esp_modem_get_battery_status failed with %d %s", err, esp_err_to_name(err)); return -1; @@ -737,7 +726,7 @@ bool PPPClass::sms(const char *num, const char *message) { return false; } - err = _esp_modem_send_sms(_dce, num, message); + err = esp_modem_send_sms(_dce, num, message); if (err != ESP_OK) { log_e("esp_modem_send_sms() failed with %d %s", err, esp_err_to_name(err)); return false; @@ -749,7 +738,7 @@ String PPPClass::cmd(const char *at_command, int timeout) { PPP_CMD_MODE_CHECK(String()); char out[128] = {0}; - esp_err_t err = _esp_modem_at(_dce, at_command, out, timeout); + esp_err_t err = esp_modem_at(_dce, at_command, out, timeout); if (err != ESP_OK) { log_e("esp_modem_at failed %d %s", err, esp_err_to_name(err)); return String(); @@ -761,7 +750,7 @@ bool PPPClass::cmd(const char *at_command, String &response, int timeout) { PPP_CMD_MODE_CHECK(false); char out[128] = {0}; - esp_err_t err = _esp_modem_at(_dce, at_command, out, timeout); + esp_err_t err = esp_modem_at(_dce, at_command, out, timeout); response = String(out); if (err != ESP_OK) { diff --git a/libraries/PPP/src/ppp.c b/libraries/PPP/src/ppp.c deleted file mode 100644 index 52896e76c8e..00000000000 --- a/libraries/PPP/src/ppp.c +++ /dev/null @@ -1,28 +0,0 @@ -#include "sdkconfig.h" -#if CONFIG_LWIP_PPP_SUPPORT && defined __has_include && __has_include("esp_modem_api.h") -#include "esp_modem_api.h" - -esp_err_t _esp_modem_at(esp_modem_dce_t *dce_wrap, const char *at, char *p_out, int timeout) { - return esp_modem_at(dce_wrap, at, p_out, timeout); -} - -esp_err_t _esp_modem_send_sms(esp_modem_dce_t *dce_wrap, const char *number, const char *message) { - return esp_modem_send_sms(dce_wrap, number, message); -} - -esp_err_t _esp_modem_set_pin(esp_modem_dce_t *dce_wrap, const char *pin) { - return esp_modem_set_pin(dce_wrap, pin); -} - -esp_err_t _esp_modem_at_raw(esp_modem_dce_t *dce_wrap, const char *cmd, char *p_out, const char *pass, const char *fail, int timeout) { - return esp_modem_at_raw(dce_wrap, cmd, p_out, pass, fail, timeout); -} - -esp_err_t _esp_modem_set_operator(esp_modem_dce_t *dce_wrap, int mode, int format, const char *oper) { - return esp_modem_set_operator(dce_wrap, mode, format, oper); -} - -esp_err_t _esp_modem_set_network_bands(esp_modem_dce_t *dce_wrap, const char *mode, const int *bands, int size) { - return esp_modem_set_network_bands(dce_wrap, mode, bands, size); -} -#endif // CONFIG_LWIP_PPP_SUPPORT diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 716af37fddb..0cc20bb0645 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -54,7 +54,7 @@ { "packager": "esp32", "name": "esp32-arduino-libs", - "version": "idf-release_v5.5-d66ebb86-v1" + "version": "idf-release_v5.5-871ec2c1-v2" }, { "packager": "esp32", @@ -107,63 +107,63 @@ "tools": [ { "name": "esp32-arduino-libs", - "version": "idf-release_v5.5-d66ebb86-v1", + "version": "idf-release_v5.5-871ec2c1-v2", "systems": [ { "host": "i686-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "checksum": "SHA-256:e44eefcf645cbf3d8f9270c0cdcc836621cbb10a8f5fac62e337d0da2e564fc8", - "size": "508996777" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "checksum": "SHA-256:6d55cf2796dc9bffcac5339ffe2de4335f837a1e89d90af10d1c6e9ee8f9ce69", + "size": "509399279" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "checksum": "SHA-256:e44eefcf645cbf3d8f9270c0cdcc836621cbb10a8f5fac62e337d0da2e564fc8", - "size": "508996777" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "checksum": "SHA-256:6d55cf2796dc9bffcac5339ffe2de4335f837a1e89d90af10d1c6e9ee8f9ce69", + "size": "509399279" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "checksum": "SHA-256:e44eefcf645cbf3d8f9270c0cdcc836621cbb10a8f5fac62e337d0da2e564fc8", - "size": "508996777" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "checksum": "SHA-256:6d55cf2796dc9bffcac5339ffe2de4335f837a1e89d90af10d1c6e9ee8f9ce69", + "size": "509399279" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "checksum": "SHA-256:e44eefcf645cbf3d8f9270c0cdcc836621cbb10a8f5fac62e337d0da2e564fc8", - "size": "508996777" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "checksum": "SHA-256:6d55cf2796dc9bffcac5339ffe2de4335f837a1e89d90af10d1c6e9ee8f9ce69", + "size": "509399279" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "checksum": "SHA-256:e44eefcf645cbf3d8f9270c0cdcc836621cbb10a8f5fac62e337d0da2e564fc8", - "size": "508996777" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "checksum": "SHA-256:6d55cf2796dc9bffcac5339ffe2de4335f837a1e89d90af10d1c6e9ee8f9ce69", + "size": "509399279" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "checksum": "SHA-256:e44eefcf645cbf3d8f9270c0cdcc836621cbb10a8f5fac62e337d0da2e564fc8", - "size": "508996777" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "checksum": "SHA-256:6d55cf2796dc9bffcac5339ffe2de4335f837a1e89d90af10d1c6e9ee8f9ce69", + "size": "509399279" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "checksum": "SHA-256:e44eefcf645cbf3d8f9270c0cdcc836621cbb10a8f5fac62e337d0da2e564fc8", - "size": "508996777" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "checksum": "SHA-256:6d55cf2796dc9bffcac5339ffe2de4335f837a1e89d90af10d1c6e9ee8f9ce69", + "size": "509399279" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-d66ebb86-v1.zip", - "checksum": "SHA-256:e44eefcf645cbf3d8f9270c0cdcc836621cbb10a8f5fac62e337d0da2e564fc8", - "size": "508996777" + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.5/esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.5-871ec2c1-v2.zip", + "checksum": "SHA-256:6d55cf2796dc9bffcac5339ffe2de4335f837a1e89d90af10d1c6e9ee8f9ce69", + "size": "509399279" } ] },