소스 검색

Merge pull request #732 from jbrazio/jbrazio/2025_b5813561

Heltec T114 without display
ripplebiz 11 달 전
부모
커밋
84623938c3
2개의 변경된 파일103개의 추가작업 그리고 11개의 파일을 삭제
  1. 96 9
      variants/heltec_t114/platformio.ini
  2. 7 2
      variants/heltec_t114/target.h

+ 96 - 9
variants/heltec_t114/platformio.ini

@@ -1,3 +1,6 @@
+;
+; Heltec T114 without display
+;
 [Heltec_t114]
 extends = nrf52_base
 board = heltec_t114
@@ -24,15 +27,11 @@ build_flags = ${nrf52_base.build_flags}
   -D SX126X_DIO3_TCXO_VOLTAGE=1.8
   -D SX126X_CURRENT_LIMIT=140
   -D SX126X_RX_BOOSTED_GAIN=1
+  -D DISPLAY_CLASS=NullDisplayDriver
   -D ST7789
-  -D DISPLAY_CLASS=ST7789Display
 build_src_filter = ${nrf52_base.build_src_filter}
   +<helpers/*.cpp>
   +<../variants/heltec_t114>
-  +<helpers/ui/ST7789Display.cpp>
-  +<helpers/ui/MomentaryButton.cpp>
-  +<helpers/ui/OLEDDisplay.cpp>
-  +<helpers/ui/OLEDDisplayFonts.cpp>
 lib_deps =
   ${nrf52_base.lib_deps}
   stevemarple/MicroNMEA @ ^2.0.6
@@ -40,7 +39,7 @@ lib_deps =
 debug_tool = jlink
 upload_protocol = nrfutil
 
-[env:Heltec_t114_repeater]
+[env:Heltec_t114_without_display_repeater]
 extends = Heltec_t114
 build_src_filter = ${Heltec_t114.build_src_filter}
   +<../examples/simple_repeater>
@@ -55,7 +54,7 @@ build_flags =
 ;  -D MESH_PACKET_LOGGING=1
 ;  -D MESH_DEBUG=1
 
-[env:Heltec_t114_room_server]
+[env:Heltec_t114_without_display_room_server]
 extends = Heltec_t114
 build_src_filter = ${Heltec_t114.build_src_filter}
   +<../examples/simple_room_server>
@@ -69,7 +68,7 @@ build_flags =
 ;  -D MESH_PACKET_LOGGING=1
 ;  -D MESH_DEBUG=1
 
-[env:Heltec_t114_companion_radio_ble]
+[env:Heltec_t114_without_display_companion_radio_ble]
 extends = Heltec_t114
 build_flags =
   ${Heltec_t114.build_flags}
@@ -89,7 +88,7 @@ lib_deps =
   ${Heltec_t114.lib_deps}
   densaugeo/base64 @ ~1.4.0
 
-[env:Heltec_t114_companion_radio_usb]
+[env:Heltec_t114_without_display_companion_radio_usb]
 extends = Heltec_t114
 build_flags =
   ${Heltec_t114.build_flags}
@@ -106,4 +105,92 @@ build_src_filter = ${Heltec_t114.build_src_filter}
   +<../examples/companion_radio/ui-new/*.cpp>
 lib_deps =
   ${Heltec_t114.lib_deps}
+  densaugeo/base64 @ ~1.4.0
+
+;
+; Heltec T114 with ST7789 display
+;
+[Heltec_t114_with_display]
+extends = Heltec_t114
+board = heltec_t114
+board_build.ldscript = boards/nrf52840_s140_v6.ld
+build_flags = ${Heltec_t114.build_flags}
+  -D HELTEC_T114_WITH_DISPLAY
+  -D DISPLAY_CLASS=ST7789Display
+build_src_filter = ${Heltec_t114.build_src_filter}
+  +<helpers/ui/ST7789Display.cpp>
+  +<helpers/ui/MomentaryButton.cpp>
+  +<helpers/ui/OLEDDisplay.cpp>
+  +<helpers/ui/OLEDDisplayFonts.cpp>
+lib_deps =
+  ${Heltec_t114.lib_deps}
+debug_tool = jlink
+upload_protocol = nrfutil
+
+[env:Heltec_t114_repeater]
+extends = Heltec_t114_with_display
+build_src_filter = ${Heltec_t114_with_display.build_src_filter}
+  +<../examples/simple_repeater>
+
+build_flags =
+  ${Heltec_t114_with_display.build_flags}
+  -D ADVERT_NAME='"Heltec_T114 Repeater"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D MAX_NEIGHBOURS=8
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+
+[env:Heltec_t114_room_server]
+extends = Heltec_t114_with_display
+build_src_filter = ${Heltec_t114_with_display.build_src_filter}
+  +<../examples/simple_room_server>
+build_flags =
+  ${Heltec_t114_with_display.build_flags}
+  -D ADVERT_NAME='"Heltec_T114 Room"'
+  -D ADVERT_LAT=0.0
+  -D ADVERT_LON=0.0
+  -D ADMIN_PASSWORD='"password"'
+  -D ROOM_PASSWORD='"hello"'
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+
+[env:Heltec_t114_companion_radio_ble]
+extends = Heltec_t114_with_display
+build_flags =
+  ${Heltec_t114_with_display.build_flags}
+  -I examples/companion_radio/ui-new
+  -D MAX_CONTACTS=100
+  -D MAX_GROUP_CHANNELS=8
+  -D BLE_PIN_CODE=123456
+;  -D BLE_DEBUG_LOGGING=1
+  -D OFFLINE_QUEUE_SIZE=256
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Heltec_t114_with_display.build_src_filter}
+  +<helpers/nrf52/SerialBLEInterface.cpp>
+  +<../examples/companion_radio/*.cpp>
+  +<../examples/companion_radio/ui-new/*.cpp>
+lib_deps =
+  ${Heltec_t114_with_display.lib_deps}
+  densaugeo/base64 @ ~1.4.0
+
+[env:Heltec_t114_companion_radio_usb]
+extends = Heltec_t114_with_display
+build_flags =
+  ${Heltec_t114_with_display.build_flags}
+  -I examples/companion_radio/ui-new
+  -D MAX_CONTACTS=100
+  -D MAX_GROUP_CHANNELS=8
+;  -D BLE_PIN_CODE=123456
+;  -D BLE_DEBUG_LOGGING=1
+;  -D MESH_PACKET_LOGGING=1
+;  -D MESH_DEBUG=1
+build_src_filter = ${Heltec_t114_with_display.build_src_filter}
+  +<helpers/nrf52/*.cpp>
+  +<../examples/companion_radio/*.cpp>
+  +<../examples/companion_radio/ui-new/*.cpp>
+lib_deps =
+  ${Heltec_t114_with_display.lib_deps}
   densaugeo/base64 @ ~1.4.0

+ 7 - 2
variants/heltec_t114/target.h

@@ -8,9 +8,14 @@
 #include <helpers/AutoDiscoverRTCClock.h>
 #include <helpers/SensorManager.h>
 #include <helpers/sensors/LocationProvider.h>
+
 #ifdef DISPLAY_CLASS
-  #include <helpers/ui/ST7789Display.h>
-  #include <helpers/ui/MomentaryButton.h>
+#include <helpers/ui/MomentaryButton.h>
+#ifdef HELTEC_T114_WITH_DISPLAY
+#include <helpers/ui/ST7789Display.h>
+#else
+#include "helpers/ui/NullDisplayDriver.h"
+#endif
 #endif
 
 class T114SensorManager : public SensorManager {