meshtastic / Meshtastic-arduino

Driver for interfacing with Meshtastic nodes over WiFi and Serial connections.
GNU General Public License v3.0
29 stars 5 forks source link

Which SoftwareSerial is intended to be used? #20

Open mcsarge opened 6 months ago

mcsarge commented 6 months ago

I cannot compile this code because it is asking for SoftwareSerial, and I do not know which one you have chosen to use. Or should I set the following flag: MT_SOFTWARESERIAL_SUPPORTED to turn it off, since I am on an ESP32?

mcsarge commented 6 months ago

Here is what I did to make it work: in mt_internals.h:

ifndef MT_INTERNALS_H

define MT_INTERNALS_H

if defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_ESP32) || defined(ESP32)

define MT_WIFI_SUPPORTED

else

define MT_SOFTWARESERIAL_SUPPORTED

endif

and it mt_serial.cpp

include "mt_internals.h"

ifdef MT_SOFTWARESERIAL_SUPPORTED

include

SoftwareSerial *serial;

else

define serial (&Serial1)

endif

void mt_serial_init(int8_t rx_pin, int8_t tx_pin, uint32_t baud) {

ifdef MT_SOFTWARESERIAL_SUPPORTED

serial = new SoftwareSerial(rx_pin, tx_pin); serial->begin(baud);

endif

ifdef MT_WIFI_SUPPORTED

mt_wifi_mode = true;

else

mt_wifi_mode = false;

endif

mt_serial_mode = true; }

etleyden commented 3 weeks ago

Also was experiencing this issue. This did not work for me, and instead resulted in a cascade of errors:

/Users/etleyden/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /private/var/folders/69/4nb_brqs0tg9gyskbzzt2xl40000gn/T/arduino/sketches/4C3A989D1ADC5240C353340C87550E56/libraries/Meshtastic/mt_protocol.cpp.o:(.literal._Z13mt_send_radioPKcj+0xc): undefined reference to `_Z18mt_wifi_send_radioPKcj'
/Users/etleyden/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /private/var/folders/69/4nb_brqs0tg9gyskbzzt2xl40000gn/T/arduino/sketches/4C3A989D1ADC5240C353340C87550E56/libraries/Meshtastic/mt_protocol.cpp.o:(.literal._Z25handle_config_complete_idmm+0x0): undefined reference to `_Z26mt_wifi_reset_idle_timeoutm'
/Users/etleyden/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /private/var/folders/69/4nb_brqs0tg9gyskbzzt2xl40000gn/T/arduino/sketches/4C3A989D1ADC5240C353340C87550E56/libraries/Meshtastic/mt_protocol.cpp.o:(.literal._Z7mt_loopm+0x4): undefined reference to `_Z12mt_wifi_loopm'
/Users/etleyden/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /private/var/folders/69/4nb_brqs0tg9gyskbzzt2xl40000gn/T/arduino/sketches/4C3A989D1ADC5240C353340C87550E56/libraries/Meshtastic/mt_protocol.cpp.o:(.literal._Z7mt_loopm+0x8): undefined reference to `_Z19mt_wifi_check_radioPcj'
/Users/etleyden/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /private/var/folders/69/4nb_brqs0tg9gyskbzzt2xl40000gn/T/arduino/sketches/4C3A989D1ADC5240C353340C87550E56/libraries/Meshtastic/mt_protocol.cpp.o: in function `_Z13mt_send_radioPKcj':
/Users/etleyden/Documents/Arduino/libraries/Meshtastic/src/mt_protocol.cpp:44: undefined reference to `_Z18mt_wifi_send_radioPKcj'
/Users/etleyden/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /private/var/folders/69/4nb_brqs0tg9gyskbzzt2xl40000gn/T/arduino/sketches/4C3A989D1ADC5240C353340C87550E56/libraries/Meshtastic/mt_protocol.cpp.o: in function `_Z25handle_config_complete_idmm':
/Users/etleyden/Documents/Arduino/libraries/Meshtastic/src/mt_protocol.cpp:178: undefined reference to `_Z26mt_wifi_reset_idle_timeoutm'
/Users/etleyden/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /private/var/folders/69/4nb_brqs0tg9gyskbzzt2xl40000gn/T/arduino/sketches/4C3A989D1ADC5240C353340C87550E56/libraries/Meshtastic/mt_protocol.cpp.o: in function `_Z7mt_loopm':
/Users/etleyden/Documents/Arduino/libraries/Meshtastic/src/mt_protocol.cpp:287: undefined reference to `_Z12mt_wifi_loopm'
/Users/etleyden/Library/Arduino15/packages/esp32/tools/esp-xs3/2302/bin/../lib/gcc/xtensa-esp32s3-elf/12.2.0/../../../../xtensa-esp32s3-elf/bin/ld: /Users/etleyden/Documents/Arduino/libraries/Meshtastic/src/mt_protocol.cpp:288: undefined reference to `_Z19mt_wifi_check_radioPcj'
collect2: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

My search for a fix continues 🚢