From 04462b93bccbbe8cf40daea5970d199b1ab10e01 Mon Sep 17 00:00:00 2001 From: pelgraine <140762863+pelgraine@users.noreply.github.com> Date: Tue, 10 Feb 2026 15:10:59 +1100 Subject: [PATCH] Removed unnecessary t-echo lite variant --- variants/lilygo_techo_lite/TechoBoard.cpp | 31 ----- variants/lilygo_techo_lite/TechoBoard.h | 44 ------ variants/lilygo_techo_lite/platformio.ini | 98 -------------- variants/lilygo_techo_lite/target.cpp | 52 ------- variants/lilygo_techo_lite/target.h | 31 ----- variants/lilygo_techo_lite/variant.cpp | 39 ------ variants/lilygo_techo_lite/variant.h | 158 ---------------------- 7 files changed, 453 deletions(-) delete mode 100644 variants/lilygo_techo_lite/TechoBoard.cpp delete mode 100644 variants/lilygo_techo_lite/TechoBoard.h delete mode 100644 variants/lilygo_techo_lite/platformio.ini delete mode 100644 variants/lilygo_techo_lite/target.cpp delete mode 100644 variants/lilygo_techo_lite/target.h delete mode 100644 variants/lilygo_techo_lite/variant.cpp delete mode 100644 variants/lilygo_techo_lite/variant.h diff --git a/variants/lilygo_techo_lite/TechoBoard.cpp b/variants/lilygo_techo_lite/TechoBoard.cpp deleted file mode 100644 index 81d3d0c9..00000000 --- a/variants/lilygo_techo_lite/TechoBoard.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include - -#include "TechoBoard.h" - -#ifdef LILYGO_TECHO - -void TechoBoard::begin() { - NRF52Board::begin(); - - Wire.begin(); - - pinMode(SX126X_POWER_EN, OUTPUT); - digitalWrite(SX126X_POWER_EN, HIGH); - delay(10); // give sx1262 some time to power up -} - -uint16_t TechoBoard::getBattMilliVolts() { - int adcvalue = 0; - - analogReference(AR_INTERNAL_3_0); - analogReadResolution(12); - delay(10); - - // ADC range is 0..3000mV and resolution is 12-bit (0..4095) - adcvalue = analogRead(PIN_VBAT_READ); - // Convert the raw value to compensated mv, taking the resistor- - // divider into account (providing the actual LIPO voltage) - return (uint16_t)((float)adcvalue * REAL_VBAT_MV_PER_LSB); -} -#endif diff --git a/variants/lilygo_techo_lite/TechoBoard.h b/variants/lilygo_techo_lite/TechoBoard.h deleted file mode 100644 index 8e6974bd..00000000 --- a/variants/lilygo_techo_lite/TechoBoard.h +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once - -#include -#include -#include - -// built-ins -#define VBAT_MV_PER_LSB (0.73242188F) // 3.0V ADC range and 12-bit ADC resolution = 3000mV/4096 - -#define VBAT_DIVIDER (0.5F) // 150K + 150K voltage divider on VBAT -#define VBAT_DIVIDER_COMP (2.0F) // Compensation factor for the VBAT divider - -#define PIN_VBAT_READ (4) -#define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB) - -class TechoBoard : public NRF52BoardOTA { -public: - TechoBoard() : NRF52BoardOTA("TECHO_OTA") {} - void begin(); - uint16_t getBattMilliVolts() override; - - const char* getManufacturerName() const override { - return "LilyGo T-Echo"; - } - - void powerOff() override { - #ifdef LED_RED - digitalWrite(LED_RED, LOW); - #endif - #ifdef LED_GREEN - digitalWrite(LED_GREEN, LOW); - #endif - #ifdef LED_BLUE - digitalWrite(LED_BLUE, LOW); - #endif - #ifdef DISP_BACKLIGHT - digitalWrite(DISP_BACKLIGHT, LOW); - #endif - #ifdef PIN_PWR_EN - digitalWrite(PIN_PWR_EN, LOW); - #endif - sd_power_system_off(); - } -}; diff --git a/variants/lilygo_techo_lite/platformio.ini b/variants/lilygo_techo_lite/platformio.ini deleted file mode 100644 index 0ba6a197..00000000 --- a/variants/lilygo_techo_lite/platformio.ini +++ /dev/null @@ -1,98 +0,0 @@ -[LilyGo_T-Echo-Lite] -extends = nrf52_base -board = t-echo -board_build.ldscript = boards/nrf52840_s140_v6.ld -build_flags = ${nrf52_base.build_flags} - -I variants/lilygo_techo_lite - -I src/helpers/nrf52 - -I lib/nrf52/s140_nrf52_6.1.1_API/include - -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52 - -D LILYGO_TECHO - -D RADIO_CLASS=CustomSX1262 - -D WRAPPER_CLASS=CustomSX1262Wrapper - -D LORA_TX_POWER=22 - -D SX126X_POWER_EN=30 - -D SX126X_CURRENT_LIMIT=140 - -D SX126X_RX_BOOSTED_GAIN=1 - -D P_LORA_TX_LED=LED_GREEN - -D DISABLE_DIAGNOSTIC_OUTPUT - -D ENV_INCLUDE_GPS=1 - -D GPS_BAUD_RATE=9600 - -D PIN_GPS_EN=GPS_EN - -D DISPLAY_CLASS=GxEPDDisplay - -D EINK_DISPLAY_MODEL=GxEPD2_122_T61 - -D EINK_SCALE_X=1.5f - -D EINK_SCALE_Y=2.0f - -D EINK_X_OFFSET=0 - -D EINK_Y_OFFSET=10 - -D DISPLAY_ROTATION=4 - -D AUTO_OFF_MILLIS=0 -build_src_filter = ${nrf52_base.build_src_filter} - + - + - + - + - + - +<../variants/lilygo_techo_lite> -lib_deps = - ${nrf52_base.lib_deps} - stevemarple/MicroNMEA @ ^2.0.6 - adafruit/Adafruit BME280 Library @ ^2.3.0 - https://github.com/SoulOfNoob/GxEPD2.git - bakercp/CRC32 @ ^2.0.0 -debug_tool = jlink -upload_protocol = nrfutil - -[env:LilyGo_T-Echo-Lite_repeater] -extends = LilyGo_T-Echo-Lite -build_src_filter = ${LilyGo_T-Echo-Lite.build_src_filter} - +<../examples/simple_repeater> -build_flags = - ${LilyGo_T-Echo-Lite.build_flags} - -D ADVERT_NAME='"T-Echo-Lite Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 -; -D MESH_PACKET_LOGGING=1 -; -D MESH_DEBUG=1 - -[env:LilyGo_T-Echo-Lite_room_server] -extends = LilyGo_T-Echo-Lite -build_src_filter = ${LilyGo_T-Echo-Lite.build_src_filter} - +<../examples/simple_room_server> -build_flags = - ${LilyGo_T-Echo-Lite.build_flags} - -D ADVERT_NAME='"T-Echo-Lite Room"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' -; -D MESH_PACKET_LOGGING=1 -; -D MESH_DEBUG=1 - -[env:LilyGo_T-Echo-Lite_companion_radio_ble] -extends = LilyGo_T-Echo-Lite -board_build.ldscript = boards/nrf52840_s140_v6_extrafs.ld -board_upload.maximum_size = 712704 -build_flags = - ${LilyGo_T-Echo-Lite.build_flags} - -I src/helpers/ui - -I examples/companion_radio/ui-new - -D MAX_CONTACTS=350 - -D MAX_GROUP_CHANNELS=40 - ; -D QSPIFLASH=1 - -D BLE_PIN_CODE=123456 - ; -D BLE_DEBUG_LOGGING=1 - -D OFFLINE_QUEUE_SIZE=256 - -D UI_RECENT_LIST_SIZE=9 - -D UI_SENSORS_PAGE=1 - ; -D MESH_PACKET_LOGGING=1 - ; -D MESH_DEBUG=1 - -D AUTO_SHUTDOWN_MILLIVOLTS=3300 -build_src_filter = ${LilyGo_T-Echo-Lite.build_src_filter} - + - +<../examples/companion_radio/*.cpp> - +<../examples/companion_radio/ui-new/*.cpp> -lib_deps = - ${LilyGo_T-Echo-Lite.lib_deps} - densaugeo/base64 @ ~1.4.0 diff --git a/variants/lilygo_techo_lite/target.cpp b/variants/lilygo_techo_lite/target.cpp deleted file mode 100644 index 6979e347..00000000 --- a/variants/lilygo_techo_lite/target.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include -#include "target.h" -#include -#include - -TechoBoard board; - -RADIO_CLASS radio = new Module(P_LORA_NSS, P_LORA_DIO_1, P_LORA_RESET, P_LORA_BUSY, SPI); - -WRAPPER_CLASS radio_driver(radio, board); - -VolatileRTCClock fallback_clock; -AutoDiscoverRTCClock rtc_clock(fallback_clock); - -#ifdef ENV_INCLUDE_GPS -MicroNMEALocationProvider nmea = MicroNMEALocationProvider(Serial1, &rtc_clock); -EnvironmentSensorManager sensors = EnvironmentSensorManager(nmea); -#else -EnvironmentSensorManager sensors = EnvironmentSensorManager(); -#endif - -#ifdef DISPLAY_CLASS - DISPLAY_CLASS display; - MomentaryButton user_btn(PIN_USER_BTN, 1000, true); -#endif - -bool radio_init() { - rtc_clock.begin(Wire); - - return radio.std_init(&SPI); -} - -uint32_t radio_get_rng_seed() { - return radio.random(0x7FFFFFFF); -} - -void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { - radio.setFrequency(freq); - radio.setSpreadingFactor(sf); - radio.setBandwidth(bw); - radio.setCodingRate(cr); -} - -void radio_set_tx_power(uint8_t dbm) { - radio.setOutputPower(dbm); -} - -mesh::LocalIdentity radio_new_identity() { - RadioNoiseListener rng(radio); - return mesh::LocalIdentity(&rng); // create new random identity -} - diff --git a/variants/lilygo_techo_lite/target.h b/variants/lilygo_techo_lite/target.h deleted file mode 100644 index 2b6ed45f..00000000 --- a/variants/lilygo_techo_lite/target.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#define RADIOLIB_STATIC_ONLY 1 -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef DISPLAY_CLASS - #include - #include -#endif - -extern TechoBoard board; -extern WRAPPER_CLASS radio_driver; -extern AutoDiscoverRTCClock rtc_clock; -extern EnvironmentSensorManager sensors; - -#ifdef DISPLAY_CLASS - extern DISPLAY_CLASS display; - extern MomentaryButton user_btn; -#endif - -bool radio_init(); -uint32_t radio_get_rng_seed(); -void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); -void radio_set_tx_power(uint8_t dbm); -mesh::LocalIdentity radio_new_identity(); diff --git a/variants/lilygo_techo_lite/variant.cpp b/variants/lilygo_techo_lite/variant.cpp deleted file mode 100644 index 3cd82d70..00000000 --- a/variants/lilygo_techo_lite/variant.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "variant.h" -#include "wiring_constants.h" -#include "wiring_digital.h" - -const int MISO = PIN_SPI1_MISO; -const int MOSI = PIN_SPI1_MOSI; -const int SCK = PIN_SPI1_SCK; - -const uint32_t g_ADigitalPinMap[] = { - 0xff, 0xff, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47 -}; - -void initVariant() { - pinMode(PIN_PWR_EN, OUTPUT); - digitalWrite(PIN_PWR_EN, HIGH); - - pinMode(PIN_BUTTON1, INPUT_PULLUP); - pinMode(PIN_BUTTON2, INPUT_PULLUP); - - pinMode(LED_RED, OUTPUT); - pinMode(LED_GREEN, OUTPUT); - pinMode(LED_BLUE, OUTPUT); - digitalWrite(LED_BLUE, HIGH); - digitalWrite(LED_GREEN, HIGH); - digitalWrite(LED_RED, HIGH); - - // pinMode(PIN_TXCO, OUTPUT); - // digitalWrite(PIN_TXCO, HIGH); - - pinMode(DISP_POWER, OUTPUT); - digitalWrite(DISP_POWER, LOW); - - // shutdown gps - pinMode(GPS_EN, OUTPUT); - digitalWrite(GPS_EN, LOW); -} diff --git a/variants/lilygo_techo_lite/variant.h b/variants/lilygo_techo_lite/variant.h deleted file mode 100644 index 16e0b5cb..00000000 --- a/variants/lilygo_techo_lite/variant.h +++ /dev/null @@ -1,158 +0,0 @@ -/* - * variant.h - * Copyright (C) 2023 Seeed K.K. - * MIT License - */ - -#pragma once - -#define _PINNUM(port, pin) ((port) * 32 + (pin)) - -#include "WVariant.h" - -//////////////////////////////////////////////////////////////////////////////// -// Low frequency clock source - -#define USE_LFXO // 32.768 kHz crystal oscillator -#define VARIANT_MCK (64000000ul) - -#define WIRE_INTERFACES_COUNT (1) - -//////////////////////////////////////////////////////////////////////////////// -// Power - -#define PIN_PWR_EN _PINNUM(0, 30) // RT9080_EN - -#define BATTERY_PIN _PINNUM(0, 2) -#define ADC_MULTIPLIER (4.90F) - -#define ADC_RESOLUTION (14) -#define BATTERY_SENSE_RES (12) - -#define AREF_VOLTAGE (3.0) - -//////////////////////////////////////////////////////////////////////////////// -// Number of pins - -#define PINS_COUNT (48) -#define NUM_DIGITAL_PINS (48) -#define NUM_ANALOG_INPUTS (1) -#define NUM_ANALOG_OUTPUTS (0) - -//////////////////////////////////////////////////////////////////////////////// -// UART pin definition - -#define PIN_SERIAL1_RX PIN_GPS_TX -#define PIN_SERIAL1_TX PIN_GPS_RX -//////////////////////////////////////////////////////////////////////////////// -// I2C pin definition - -#define PIN_WIRE_SDA _PINNUM(0, 4) // (SDA) -#define PIN_WIRE_SCL _PINNUM(0, 2) // (SCL) - -//////////////////////////////////////////////////////////////////////////////// -// SPI pin definition - -#define SPI_INTERFACES_COUNT _PINNUM(0, 2) - -#define PIN_SPI_MISO _PINNUM(0, 17) // (MISO) -#define PIN_SPI_MOSI _PINNUM(0, 15) // (MOSI) -#define PIN_SPI_SCK _PINNUM(0, 13) // (SCK) -#define PIN_SPI_NSS (-1) - -//////////////////////////////////////////////////////////////////////////////// -// QSPI FLASH - -#define PIN_QSPI_SCK _PINNUM(0, 4) -#define PIN_QSPI_CS _PINNUM(0, 12) -#define PIN_QSPI_IO0 _PINNUM(0, 6) -#define PIN_QSPI_IO1 _PINNUM(0, 8) -#define PIN_QSPI_IO2 _PINNUM(1, 9) -#define PIN_QSPI_IO3 _PINNUM(0, 26) - -#define EXTERNAL_FLASH_DEVICES ZD25WQ32CEIGR -#define EXTERNAL_FLASH_USE_QSPI - -//////////////////////////////////////////////////////////////////////////////// -// Builtin LEDs - -#define LED_RED _PINNUM(1, 14) // LED_3 -#define LED_BLUE _PINNUM(1, 5) // LED_2 -#define LED_GREEN _PINNUM(1, 7) // LED_1 - -//#define PIN_STATUS_LED LED_BLUE -#define LED_BUILTIN (-1) -#define LED_PIN LED_BUILTIN -#define LED_STATE_ON LOW - -//////////////////////////////////////////////////////////////////////////////// -// Builtin buttons - -#define PIN_BUTTON1 _PINNUM(0, 24) // BOOT -#define BUTTON_PIN PIN_BUTTON1 -#define PIN_USER_BTN BUTTON_PIN - -#define PIN_BUTTON2 _PINNUM(0, 18) -#define BUTTON_PIN2 PIN_BUTTON2 - -#define EXTERNAL_FLASH_DEVICES MX25R1635F -#define EXTERNAL_FLASH_USE_QSPI - -//////////////////////////////////////////////////////////////////////////////// -// Lora - -#define USE_SX1262 -#define LORA_CS _PINNUM(0, 11) -#define SX126X_POWER_EN _PINNUM(0, 30) -#define SX126X_DIO1 _PINNUM(1, 8) -#define SX126X_BUSY _PINNUM(0, 14) -#define SX126X_RESET _PINNUM(0, 7) -#define SX126X_RF_VC1 _PINNUM(0, 27) -#define SX126X_RF_VC2 _PINNUM(0, 33) - -#define P_LORA_DIO_1 SX126X_DIO1 -#define P_LORA_NSS LORA_CS -#define P_LORA_RESET SX126X_RESET -#define P_LORA_BUSY SX126X_BUSY -#define P_LORA_SCLK PIN_SPI_SCK -#define P_LORA_MISO PIN_SPI_MISO -#define P_LORA_MOSI PIN_SPI_MOSI - -//////////////////////////////////////////////////////////////////////////////// -// SPI1 - -#define PIN_SPI1_MISO (-1) // Not used for Display -#define PIN_SPI1_MOSI _PINNUM(0, 20) -#define PIN_SPI1_SCK _PINNUM(0, 19) - -// GxEPD2 needs that for a panel that is not even used ! -extern const int MISO; -extern const int MOSI; -extern const int SCK; - -//////////////////////////////////////////////////////////////////////////////// -// Display - -// #define DISP_MISO (-1) // Not used for Display -#define DISP_MOSI _PINNUM(0, 20) -#define DISP_SCLK _PINNUM(0, 19) -#define DISP_CS _PINNUM(0, 22) -#define DISP_DC _PINNUM(0, 21) -#define DISP_RST _PINNUM(0, 28) -#define DISP_BUSY _PINNUM(0, 3) -#define DISP_POWER _PINNUM(1, 12) -// #define DISP_BACKLIGHT (-1) // Display has no backlight - -#define PIN_DISPLAY_CS DISP_CS -#define PIN_DISPLAY_DC DISP_DC -#define PIN_DISPLAY_RST DISP_RST -#define PIN_DISPLAY_BUSY DISP_BUSY - -//////////////////////////////////////////////////////////////////////////////// -// GPS - -#define PIN_GPS_RX _PINNUM(1, 13) // RXD -#define PIN_GPS_TX _PINNUM(1, 15) // TXD -#define GPS_EN _PINNUM(1, 11) // POWER_RT9080_EN -#define PIN_GPS_STANDBY _PINNUM(1, 10) -#define PIN_GPS_PPS _PINNUM(0, 29) // 1PPS