renamend and refactored vision master to play better with build system

This commit is contained in:
recrof
2025-09-02 22:23:32 +02:00
parent a93a0fecba
commit ddc900c8c8
21 changed files with 143 additions and 102 deletions

View File

@@ -23,7 +23,7 @@ void HeltecE213Board::begin() {
void HeltecE213Board::enterDeepSleep(uint32_t secs, int pin_wake_btn) {
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
// Make sure the DIO1 and NSS GPIOs are hold on required levels during deep sleep
// Make sure the DIO1 and NSS GPIOs are hold on required levels during deep sleep
rtc_gpio_set_direction((gpio_num_t)P_LORA_DIO_1, RTC_GPIO_MODE_INPUT_ONLY);
rtc_gpio_pulldown_en((gpio_num_t)P_LORA_DIO_1);
@@ -44,8 +44,7 @@ void HeltecE213Board::begin() {
}
void HeltecE213Board::powerOff() {
// TODO: re-enable this when there is a definite wake-up source pin:
// enterDeepSleep(0);
enterDeepSleep(0);
}
uint16_t HeltecE213Board::getBattMilliVolts() {
@@ -66,4 +65,3 @@ void HeltecE213Board::begin() {
const char* HeltecE213Board::getManufacturerName() const {
return "Heltec E213";
}

View File

@@ -5,15 +5,6 @@
#include <helpers/ESP32Board.h>
#include <driver/rtc_io.h>
// LoRa radio module pins for heltec_vision_master_e213
#define P_LORA_DIO_1 14
#define P_LORA_NSS 8
#define P_LORA_RESET 12
#define P_LORA_BUSY 13
#define P_LORA_SCLK 9
#define P_LORA_MISO 11
#define P_LORA_MOSI 10
class HeltecE213Board : public ESP32Board {
public:
@@ -26,5 +17,4 @@ public:
void powerOff() override;
uint16_t getBattMilliVolts() override;
const char* getManufacturerName() const override ;
};

View File

@@ -1,14 +1,22 @@
[Heltec_Vision_Master_E213_base]
[Heltec_E213_base]
extends = esp32_base
board = heltec_vision_master_e213
board = heltec_e213
build_flags =
${esp32_base.build_flags}
-I variants/heltec_vision_master_e213
-D HELTEC_VISION_MASTER_E213
-I variants/heltec_e213
-D Vision_Master_E213
-D ARDUINO_USB_CDC_ON_BOOT=1
-D RADIO_CLASS=CustomSX1262
-D WRAPPER_CLASS=CustomSX1262Wrapper
-D LORA_TX_POWER=22
-D P_LORA_DIO_1=14
-D P_LORA_NSS=8
-D P_LORA_RESET=12
-D P_LORA_BUSY=13
-D P_LORA_SCLK=9
-D P_LORA_MISO=11
-D P_LORA_MOSI=10
-D P_LORA_TX_LED=45
-D LORA_TX_POWER=22
-D PIN_USER_BTN=0
-D PIN_VEXT_EN=18
-D PIN_VEXT_EN_ACTIVE=HIGH
@@ -26,17 +34,16 @@ build_flags =
-D DISP_RST=3
-D DISP_SCLK=4
-D DISP_MOSI=6
-D Vision_Master_E213
build_src_filter = ${esp32_base.build_src_filter}
+<../variants/heltec_vision_master_e213>
+<../variants/heltec_e213>
lib_deps =
${esp32_base.lib_deps}
https://github.com/Quency-D/heltec-eink-modules/archive/563dd41fd850a1bc3039b8723da4f3a20fe1c800.zip
[env:Heltec_Vision_Master_E213_radio_ble]
extends = Heltec_Vision_Master_E213_base
[env:Heltec_E213_companion_radio_ble]
extends = Heltec_E213_base
build_flags =
${Heltec_Vision_Master_E213_base.build_flags}
${Heltec_E213_base.build_flags}
-I examples/companion_radio/ui-new
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=8
@@ -44,43 +51,61 @@ build_flags =
-D BLE_PIN_CODE=123456 ; dynamic, random PIN
-D BLE_DEBUG_LOGGING=1
-D OFFLINE_QUEUE_SIZE=256
build_src_filter = ${Heltec_Vision_Master_E213_base.build_src_filter}
build_src_filter = ${Heltec_E213_base.build_src_filter}
+<helpers/ui/E213Display.cpp>
+<helpers/esp32/*.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${Heltec_Vision_Master_E213_base.lib_deps}
${Heltec_E213_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:Heltec_Vision_Master_E213_repeater]
extends = Heltec_Vision_Master_E213_base
[env:Heltec_E213_companion_radio_usb]
extends = Heltec_E213_base
build_flags =
${Heltec_Vision_Master_E213_base.build_flags}
${Heltec_E213_base.build_flags}
-I examples/companion_radio/ui-new
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=8
-D DISPLAY_CLASS=E213Display
-D OFFLINE_QUEUE_SIZE=256
build_src_filter = ${Heltec_E213_base.build_src_filter}
+<helpers/ui/E213Display.cpp>
+<helpers/esp32/*.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${Heltec_E213_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:Heltec_E213_repeater]
extends = Heltec_E213_base
build_flags =
${Heltec_E213_base.build_flags}
-D DISPLAY_CLASS=E213Display
-D ADVERT_NAME='"Heltec E213 Repeater"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
build_src_filter = ${Heltec_Vision_Master_E213_base.build_src_filter}
build_src_filter = ${Heltec_E213_base.build_src_filter}
+<helpers/ui/E213Display.cpp>
+<../examples/simple_repeater>
lib_deps =
${Heltec_Vision_Master_E213_base.lib_deps}
${Heltec_E213_base.lib_deps}
${esp32_ota.lib_deps}
[env:Heltec_Vision_Master_E213_room_server]
extends = Heltec_Vision_Master_E213_base
[env:Heltec_E213_room_server]
extends = Heltec_E213_base
build_flags =
${Heltec_Vision_Master_E213_base.build_flags}
${Heltec_E213_base.build_flags}
-D DISPLAY_CLASS=E213Display
-D ADVERT_NAME='"Heltec E213 Room"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"'
-D ROOM_PASSWORD='"hello"'
build_src_filter = ${Heltec_Vision_Master_E213_base.build_src_filter}
build_src_filter = ${Heltec_E213_base.build_src_filter}
+<helpers/ui/E213Display.cpp>
+<../examples/simple_room_server>
lib_deps =
${Heltec_Vision_Master_E213_base.lib_deps}
${Heltec_E213_base.lib_deps}
${esp32_ota.lib_deps}

View File

@@ -23,7 +23,7 @@ void HeltecE290Board::begin() {
void HeltecE290Board::enterDeepSleep(uint32_t secs, int pin_wake_btn) {
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
// Make sure the DIO1 and NSS GPIOs are hold on required levels during deep sleep
// Make sure the DIO1 and NSS GPIOs are hold on required levels during deep sleep
rtc_gpio_set_direction((gpio_num_t)P_LORA_DIO_1, RTC_GPIO_MODE_INPUT_ONLY);
rtc_gpio_pulldown_en((gpio_num_t)P_LORA_DIO_1);
@@ -44,8 +44,7 @@ void HeltecE290Board::begin() {
}
void HeltecE290Board::powerOff() {
// TODO: re-enable this when there is a definite wake-up source pin:
// enterDeepSleep(0);
enterDeepSleep(0);
}
uint16_t HeltecE290Board::getBattMilliVolts() {
@@ -66,4 +65,3 @@ void HeltecE290Board::begin() {
const char* HeltecE290Board::getManufacturerName() const {
return "Heltec E290";
}

View File

@@ -5,15 +5,6 @@
#include <helpers/ESP32Board.h>
#include <driver/rtc_io.h>
// LoRa radio module pins for heltec_vision_master_e290
#define P_LORA_DIO_1 14
#define P_LORA_NSS 8
#define P_LORA_RESET 12
#define P_LORA_BUSY 13
#define P_LORA_SCLK 9
#define P_LORA_MISO 11
#define P_LORA_MOSI 10
class HeltecE290Board : public ESP32Board {
public:

View File

@@ -1,13 +1,21 @@
[Heltec_Vision_Master_E290_base]
[Heltec_E290_base]
extends = esp32_base
board = heltec_vision_master_e290
board = heltec_e290
build_flags =
${esp32_base.build_flags}
-I variants/heltec_vision_master_e290
-D HELTEC_VISION_MASTER_E290
-I variants/heltec_e290
-D Vision_Master_E290
-D ARDUINO_USB_CDC_ON_BOOT=1
-D RADIO_CLASS=CustomSX1262
-D WRAPPER_CLASS=CustomSX1262Wrapper
-D LORA_TX_POWER=22
-D P_LORA_DIO_1=14
-D P_LORA_NSS=8
-D P_LORA_RESET=12
-D P_LORA_BUSY=13
-D P_LORA_SCLK=9
-D P_LORA_MISO=11
-D P_LORA_MOSI=10
-D P_LORA_TX_LED=45
-D PIN_USER_BTN=0
-D PIN_VEXT_EN=18
@@ -20,17 +28,16 @@ build_flags =
-D SX126X_RX_BOOSTED_GAIN=1
-D PIN_BOARD_SDA=39
-D PIN_BOARD_SCL=38
-D Vision_Master_E290
build_src_filter = ${esp32_base.build_src_filter}
+<../variants/heltec_vision_master_e290>
+<../variants/heltec_e290>
lib_deps =
${esp32_base.lib_deps}
https://github.com/Quency-D/heltec-eink-modules/archive/563dd41fd850a1bc3039b8723da4f3a20fe1c800.zip
[env:Heltec_Vision_Master_E290_radio_ble]
extends = Heltec_Vision_Master_E290_base
[env:Heltec_E290_companion_radio_ble]
extends = Heltec_E290_base
build_flags =
${Heltec_Vision_Master_E290_base.build_flags}
${Heltec_E290_base.build_flags}
-I examples/companion_radio/ui-new
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=8
@@ -38,43 +45,63 @@ build_flags =
-D BLE_PIN_CODE=123456 ; dynamic, random PIN
-D BLE_DEBUG_LOGGING=1
-D OFFLINE_QUEUE_SIZE=256
build_src_filter = ${Heltec_Vision_Master_E290_base.build_src_filter}
build_src_filter = ${Heltec_E290_base.build_src_filter}
+<helpers/ui/E290Display.cpp>
+<helpers/esp32/*.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${Heltec_Vision_Master_E290_base.lib_deps}
${Heltec_E290_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:Heltec_Vision_Master_E290_repeater]
extends = Heltec_Vision_Master_E290_base
[env:Heltec_E290_companion_radio_usb]
extends = Heltec_E290_base
build_flags =
${Heltec_Vision_Master_E290_base.build_flags}
${Heltec_E290_base.build_flags}
-I examples/companion_radio/ui-new
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=8
-D DISPLAY_CLASS=E290Display
-D BLE_PIN_CODE=123456 ; dynamic, random PIN
-D BLE_DEBUG_LOGGING=1
-D OFFLINE_QUEUE_SIZE=256
build_src_filter = ${Heltec_E290_base.build_src_filter}
+<helpers/ui/E290Display.cpp>
+<helpers/esp32/*.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${Heltec_E290_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:Heltec_E290_repeater]
extends = Heltec_E290_base
build_flags =
${Heltec_E290_base.build_flags}
-D DISPLAY_CLASS=E290Display
-D ADVERT_NAME='"Heltec E290 Repeater"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
build_src_filter = ${Heltec_Vision_Master_E290_base.build_src_filter}
build_src_filter = ${Heltec_E290_base.build_src_filter}
+<helpers/ui/E290Display.cpp>
+<../examples/simple_repeater>
lib_deps =
${Heltec_Vision_Master_E290_base.lib_deps}
${Heltec_E290_base.lib_deps}
${esp32_ota.lib_deps}
[env:Heltec_Vision_Master_E290_room_server]
extends = Heltec_Vision_Master_E290_base
[env:Heltec_E290_room_server]
extends = Heltec_E290_base
build_flags =
${Heltec_Vision_Master_E290_base.build_flags}
${Heltec_E290_base.build_flags}
-D DISPLAY_CLASS=E290Display
-D ADVERT_NAME='"Heltec E290 Room"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"'
-D ROOM_PASSWORD='"hello"'
build_src_filter = ${Heltec_Vision_Master_E290_base.build_src_filter}
build_src_filter = ${Heltec_E290_base.build_src_filter}
+<helpers/ui/E290Display.cpp>
+<../examples/simple_room_server>
lib_deps =
${Heltec_Vision_Master_E290_base.lib_deps}
${Heltec_E290_base.lib_deps}
${esp32_ota.lib_deps}

View File

@@ -23,7 +23,7 @@ void HeltecT190Board::begin() {
void HeltecT190Board::enterDeepSleep(uint32_t secs, int pin_wake_btn) {
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
// Make sure the DIO1 and NSS GPIOs are hold on required levels during deep sleep
// Make sure the DIO1 and NSS GPIOs are hold on required levels during deep sleep
rtc_gpio_set_direction((gpio_num_t)P_LORA_DIO_1, RTC_GPIO_MODE_INPUT_ONLY);
rtc_gpio_pulldown_en((gpio_num_t)P_LORA_DIO_1);
@@ -44,8 +44,7 @@ void HeltecT190Board::begin() {
}
void HeltecT190Board::powerOff() {
// TODO: re-enable this when there is a definite wake-up source pin:
// enterDeepSleep(0);
enterDeepSleep(0);
}
uint16_t HeltecT190Board::getBattMilliVolts() {
@@ -66,4 +65,3 @@ void HeltecT190Board::begin() {
const char* HeltecT190Board::getManufacturerName() const {
return "Heltec T190";
}

View File

@@ -5,15 +5,6 @@
#include <helpers/ESP32Board.h>
#include <driver/rtc_io.h>
// LoRa radio module pins for heltec_vision_master_e290
#define P_LORA_DIO_1 14
#define P_LORA_NSS 8
#define P_LORA_RESET 12
#define P_LORA_BUSY 13
#define P_LORA_SCLK 9
#define P_LORA_MISO 11
#define P_LORA_MOSI 10
class HeltecT190Board : public ESP32Board {
public:

View File

@@ -1,13 +1,20 @@
[Heltec_Vision_Master_T190_base]
[Heltec_T190_base]
extends = esp32_base
board = heltec_vision_master_t190
board = heltec_t190
build_flags =
${esp32_base.build_flags}
-I variants/heltec_vision_master_t190
-I variants/heltec_t190
-I src/helpers/ui
-D HELTEC_VISION_MASTER_T190
-D RADIO_CLASS=CustomSX1262
-D WRAPPER_CLASS=CustomSX1262Wrapper
-D P_LORA_DIO_1=14
-D P_LORA_NSS=8
-D P_LORA_RESET=12
-D P_LORA_BUSY=13
-D P_LORA_SCLK=9
-D P_LORA_MISO=11
-D P_LORA_MOSI=10
-D LORA_TX_POWER=22
-D PIN_USER_BTN=0
-D PIN_VEXT_EN=5
@@ -31,7 +38,7 @@ build_flags =
-D ST7789
-D DISPLAY_CLASS=ST7789Display
build_src_filter = ${esp32_base.build_src_filter}
+<../variants/heltec_vision_master_t190>
+<../variants/heltec_t190>
+<helpers/*.cpp>
+<helpers/ui/ST7789Display.cpp>
+<helpers/ui/OLEDDisplay.cpp>
@@ -40,48 +47,64 @@ lib_deps =
${esp32_base.lib_deps}
adafruit/Adafruit GFX Library @ ^1.12.1
[env:Heltec_Vision_Master_T190_radio_ble]
extends = Heltec_Vision_Master_T190_base
[env:Heltec_T190_companion_radio_ble]
extends = Heltec_T190_base
build_flags =
${Heltec_Vision_Master_T190_base.build_flags}
${Heltec_T190_base.build_flags}
-I examples/companion_radio/ui-new
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=8
-D BLE_PIN_CODE=123456 ; dynamic, random PIN
-D BLE_DEBUG_LOGGING=1
-D OFFLINE_QUEUE_SIZE=256
build_src_filter = ${Heltec_Vision_Master_T190_base.build_src_filter}
build_src_filter = ${Heltec_T190_base.build_src_filter}
+<helpers/esp32/*.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${Heltec_Vision_Master_T190_base.lib_deps}
${Heltec_T190_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:Heltec_Vision_Master_T190_repeater]
extends = Heltec_Vision_Master_T190_base
[env:Heltec_T190_companion_radio_usb]
extends = Heltec_T190_base
build_flags =
${Heltec_Vision_Master_T190_base.build_flags}
${Heltec_T190_base.build_flags}
-I examples/companion_radio/ui-new
-D MAX_CONTACTS=300
-D MAX_GROUP_CHANNELS=8
-D OFFLINE_QUEUE_SIZE=256
build_src_filter = ${Heltec_T190_base.build_src_filter}
+<helpers/esp32/*.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${Heltec_T190_base.lib_deps}
densaugeo/base64 @ ~1.4.0
[env:Heltec_T190_repeater]
extends = Heltec_T190_base
build_flags =
${Heltec_T190_base.build_flags}
-D ADVERT_NAME='"Heltec T190 Repeater"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
build_src_filter = ${Heltec_Vision_Master_T190_base.build_src_filter}
build_src_filter = ${Heltec_T190_base.build_src_filter}
+<../examples/simple_repeater>
lib_deps =
${Heltec_Vision_Master_T190_base.lib_deps}
${Heltec_T190_base.lib_deps}
${esp32_ota.lib_deps}
[env:Heltec_Vision_Master_T190_room_server]
extends = Heltec_Vision_Master_T190_base
[env:Heltec_T190_room_server]
extends = Heltec_T190_base
build_flags =
${Heltec_Vision_Master_T190_base.build_flags}
${Heltec_T190_base.build_flags}
-D ADVERT_NAME='"Heltec T190 Room"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"'
-D ROOM_PASSWORD='"hello"'
build_src_filter = ${Heltec_Vision_Master_T190_base.build_src_filter}
build_src_filter = ${Heltec_T190_base.build_src_filter}
+<../examples/simple_room_server>
lib_deps =
${Heltec_Vision_Master_T190_base.lib_deps}
${Heltec_T190_base.lib_deps}
${esp32_ota.lib_deps}