add torch

This commit is contained in:
taco
2026-05-10 03:08:08 +10:00
parent 8540c98947
commit 9f683975c1
6 changed files with 27 additions and 1 deletions
@@ -643,6 +643,15 @@ void UITask::loop() {
next_backlight_btn_check = millis() + 300;
}
#endif
#if defined(HAS_TORCH)
ev = back_btn.check();
if (ev == BUTTON_EVENT_CLICK && c == 0) {
c = checkDisplayOn(KEY_PREV);
} else if (ev == BUTTON_EVENT_DOUBLE_CLICK) {
board.toggleTorch();
c = 0;
}
#endif
if (c != 0 && curr) {
curr->handleInput(c);
@@ -67,6 +67,18 @@ void TechoCardBoard::onAfterTransmit() {
Led_A.show();
}
void TechoCardBoard::toggleTorch() {
if (!_torchStatus) {
Led_C.setPixelColor(0, 255, 255, 255);
Led_C.show();
_torchStatus = true;
} else {
Led_C.setPixelColor(0, 0, 0, 0);
Led_C.show();
_torchStatus = false;
}
}
void TechoCardBoard::turnOffLeds() {
for (uint8_t i = 0; i < sizeof(Led) / sizeof(*Led); i++)
{
@@ -15,6 +15,7 @@
#define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)
class TechoCardBoard : public NRF52BoardDCDC {
bool _torchStatus = false;
public:
TechoCardBoard() : NRF52Board("TECHO_OTA") {}
void begin();
@@ -29,6 +30,7 @@ public:
void powerOff() override;
void toggleTorch();
void turnOffLeds();
};
+2 -1
View File
@@ -14,6 +14,7 @@ build_flags = ${nrf52_base.build_flags}
-D SX126X_CURRENT_LIMIT=140
-D SX126X_RX_BOOSTED_GAIN=1
-D HAS_NEOPIXEL=1
-D HAS_TORCH=1
; -D DISABLE_DIAGNOSTIC_OUTPUT
-D ENV_INCLUDE_GPS=1
-D DISPLAY_CLASS=U8g2Display
@@ -79,7 +80,7 @@ build_flags =
-D UI_RECENT_LIST_SIZE=3
-D UI_GPS_PAGE=1
; -D MESH_PACKET_LOGGING=1
; -D MESH_DEBUG=1
-D MESH_DEBUG=1
-D AUTO_SHUTDOWN_MILLIVOLTS=3300
build_src_filter = ${LilyGo_T-Echo_Card.build_src_filter}
+<helpers/nrf52/SerialBLEInterface.cpp>
+1
View File
@@ -23,6 +23,7 @@ EnvironmentSensorManager sensors = EnvironmentSensorManager();
#ifdef DISPLAY_CLASS
DISPLAY_CLASS display;
MomentaryButton user_btn(PIN_USER_BTN, 1000, true);
MomentaryButton back_btn(PIN_BUTTON2, 1000, true);
#endif
bool radio_init() {
+1
View File
@@ -22,6 +22,7 @@ extern EnvironmentSensorManager sensors;
#ifdef DISPLAY_CLASS
extern DISPLAY_CLASS display;
extern MomentaryButton user_btn;
extern MomentaryButton back_btn;
#endif
bool radio_init();