espressif / esp-iot-bridge

A smart bridge to make both ESP and the other MCU or smart device can access the Internet.
164 stars 54 forks source link

ESP32-S2 with UART modem #11

Open x893 opened 2 years ago

x893 commented 2 years ago

Hello, i use ESP32-S2 with SPI interface to host, WiFi to external network and GSM modem via UART1 as reserved link. After change menuconfig for modem ` [*] UART

[ ] USB

(17) UART Tx GPIO number of Modem

(18) UART Rx GPIO number of Modem

(115200) UART baud rate of Modem

[ ] Use extended DCE object

(0) System status led (red) gpio, set 0 if not use

(0) Wi-Fi status led (blue) gpio, set 0 if not use

(0) Modem status led (green) gpio, set 0 if not use

(0) Modem power control gpio, set 0 if not use

(0) Modem reset control gpio, set 0 if not use

(5) Retry times during dial

(internet) Set MODEM APN `

i see next error

` [886/888] Linking CXX executable esp-gateway-5.elfFAILED: esp-gateway-5.elf cmd.exe /C "cd . && D:\esp32\Espressif\tools\xtensa-esp32s2-elf\esp-2022r1-RC1-11.2.0\xtensa-esp32s2-elf\bin\xtensa-esp32s2-elf-g++.exe -mlongcalls @CMakeFiles\esp-gateway-5.elf.rsp -o esp-gateway-5.elf && cd ."

d:/esp32/espressif/tools/xtensa-esp32s2-elf/esp-2022r1-rc1-11.2.0/xtensa-esp32s2-elf/bin/../lib/gcc/xtensa-esp32s2-elf/11.2.0/../../../../xtensa-esp32s2-elf/bin/ld.exe: esp-idf/esp_modem/libesp_modem.a(esp_modem_dte_usb.c.obj):(.literal._usb_disconn_cb+0x0): undefined reference to `esp_modem_board_force_reset'

d:/esp32/espressif/tools/xtensa-esp32s2-elf/esp-2022r1-rc1-11.2.0/xtensa-esp32s2-elf/bin/../lib/gcc/xtensa-esp32s2-elf/11.2.0/../../../../xtensa-esp32s2-elf/bin/ld.exe: esp-idf/esp_modem/libesp_modem.a(esp_modem_dte_usb.c.obj): in function `_usb_disconn_cb':

D:/esp32/esp-gateway-5/components/esp_modem/src/esp_modem_dte_usb.c:335: undefined reference to `esp_modem_board_force_reset'

collect2.exe: error: ld returned 1 exit status `

After change components\esp_modem\CMakeLists.txt

` if(CONFIG_IDF_TARGET_ESP32 OR CONFIG_IDF_TARGET_ESP32C3)

    list(APPEND srcs "src/esp_modem_dte_uart.c")

elseif(CONFIG_IDF_TARGET_ESP32S2 OR CONFIG_IDF_TARGET_ESP32S3)

if(CONFIG_GATEWAY_MODEM_USB)

    list(APPEND srcs "src/esp_modem_dte_usb.c")

else()

    list(APPEND srcs "src/esp_modem_dte_uart.c")

endif()

endif() `

compile successfully.

tswen commented 2 years ago

Thank you for your reminder, the previous logic is not rigorous, S2, S3 should not remove the uart compilation. I'll submit that revision later.