diff --git a/Boards.h b/Boards.h index 694dcaf..d611b9e 100644 --- a/Boards.h +++ b/Boards.h @@ -125,6 +125,10 @@ #define MODEL_FE 0xFE // Homebrew board, max 17dBm output power #define MODEL_FF 0xFF // Homebrew board, max 14dBm output power + // Board added by Mees Electronics + #define BOARD_WAVESHARE_ESP32_S3_PICO 0x61 // Waveshare ESP32 S3 Pico + #define MODEL_31 0x31 // SX1278 + // Displays #define OLED 0x01 #define EINK_BW 0x02 @@ -411,15 +415,15 @@ const uint8_t interfaces[INTERFACE_COUNT] = {SX1276}; #if HAS_TCXO == true - const bool interface_cfg[INTERFACE_COUNT][3] = { + const bool interface_cfg[INTERFACE_COUNT][3] = { // SX127X { true, // DEFAULT_SPI true, // HAS_TCXO false // DIO2_AS_RF_SWITCH - }, + }, }; - const int8_t interface_pins[INTERFACE_COUNT][10] = { + const int8_t interface_pins[INTERFACE_COUNT][10] = { // SX127X { 18, // pin_ss @@ -444,16 +448,16 @@ #endif #if HAS_TCXO == false - const bool interface_cfg[INTERFACE_COUNT][3] = { + const bool interface_cfg[INTERFACE_COUNT][3] = { // SX127X { true, // DEFAULT_SPI false, // HAS_TCXO false // DIO2_AS_RF_SWITCH - }, + }, }; - const int8_t interface_pins[INTERFACE_COUNT][10] = { + const int8_t interface_pins[INTERFACE_COUNT][10] = { // SX127X { 18, // pin_ss @@ -1022,6 +1026,77 @@ -1 // pin_tcxo_enable } }; + + #elif BOARD_MODEL == BOARD_WAVESHARE_ESP32_S3_PICO + #define HAS_DISPLAY true + #define DISPLAY OLED + #define HAS_BLUETOOTH true + #define HAS_PMU true + #define HAS_CONSOLE true + #define HAS_EEPROM true + #define INTERFACE_COUNT 1 + + const uint8_t interfaces[INTERFACE_COUNT] = {SX1276}; + #if HAS_TCXO == true + const bool interface_cfg[INTERFACE_COUNT][3] = { + // SX127X + { + true, // DEFAULT_SPI + true, // HAS_TCXO + false // DIO2_AS_RF_SWITCH + }, + }; + const int8_t interface_pins[INTERFACE_COUNT][10] = { + // SX127X + { + 18, // pin_ss + -1, // pin_sclk + -1, // pin_mosi + -1, // pin_miso + -1, // pin_busy + 26, // pin_dio + 23, // pin_reset + -1, // pin_txen + -1, // pin_rxen + 33 // pin_tcxo_enable + } + }; + #endif + #if defined(EXTERNAL_LEDS) + const int pin_led_rx = 15; + const int pin_led_tx = 4; + #else + const int pin_led_rx = 25; + const int pin_led_tx = 25; + #endif + + #if HAS_TCXO == false + const bool interface_cfg[INTERFACE_COUNT][3] = { + // SX127X + { + true, // DEFAULT_SPI + false, // HAS_TCXO + false // DIO2_AS_RF_SWITCH + }, + }; + + const int8_t interface_pins[INTERFACE_COUNT][10] = { + // SX127X + { + 18, // pin_ss + -1, // pin_sclk + -1, // pin_mosi + -1, // pin_miso + -1, // pin_busy + 26, // pin_dio + 23, // pin_reset + -1, // pin_txen + -1, // pin_rxen + -1 // pin_tcxo_enable + } + }; + #endif + #else #error An unsupported ESP32 board was selected. Cannot compile RNode firmware. #endif diff --git a/Makefile b/Makefile index 7064a1e..34c0c0e 100644 --- a/Makefile +++ b/Makefile @@ -151,6 +151,10 @@ firmware-opencom-xl: firmware-heltec_t114: arduino-cli compile --log --fqbn Heltec_nRF52:Heltec_nRF52:HT-n5262 -e --build-property "build.partitions=no_ota" --build-property "upload.maximum_size=2097152" --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x3C\"" +# Added board from Mees Electronics +firmware-waveshare-esp32-s3-pico: check_bt_buffers + arduino-cli compile --fqbn esp32:esp32:ttgo-lora32 $(COMMON_BUILD_FLAGS) --build-property "compiler.cpp.extra_flags=\"-DBOARD_MODEL=0x61\"" + upload-tbeam: arduino-cli upload -p $(or $(port), /dev/ttyACM0) --fqbn esp32:esp32:t-beam @sleep 1 @@ -264,6 +268,14 @@ upload-techo: @sleep 6 rnodeconf /dev/ttyACM0 --firmware-hash $$(./partition_hashes from_device /dev/ttyACM0) +# Added board from Mees Electronics +upload-waveshare-esp32-s3-pico: + arduino-cli upload -p $(or $(port), /dev/ttyACM0) --fqbn esp32:esp32:ttgo-lora32 + @sleep 1 + rnodeconf $(or $(port), /dev/ttyACM0) --firmware-hash $$(./partition_hashes ./build/esp32.esp32.ttgo-lora32/RNode_Firmware_CE.ino.bin) + @sleep 3 + python3 ./Release/esptool/esptool.py --port $(or $(port), /dev/ttyACM0) $(COMMON_ESP_UPLOAD_FLAGS) ./Release/console_image.bin + release: console-site spiffs-image $(shell grep ^release- Makefile | cut -d: -f1) release-hashes: diff --git a/Utilities.h b/Utilities.h index ba13ed6..cd6e74a 100644 --- a/Utilities.h +++ b/Utilities.h @@ -289,6 +289,13 @@ uint8_t boot_vector = 0x00; void led_tx_off() { digitalWrite(pin_led_tx, LOW); } void led_id_on() { } void led_id_off() { } + #elif BOARD_MODEL == BOARD_WAVESHARE_ESP32_S3_PICO + void led_rx_on() { digitalWrite(pin_led_rx, HIGH); } + void led_rx_off() { digitalWrite(pin_led_rx, LOW); } + void led_tx_on() { digitalWrite(pin_led_tx, HIGH); } + void led_tx_off() { digitalWrite(pin_led_tx, LOW); } + void led_id_on() { } + void led_id_off() { } #endif #elif MCU_VARIANT == MCU_NRF52 #if HAS_NP == true