fix(t096): hold GPS and TFT off on slim

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ben AllfreeandCursor committed 2026-09-04 09:19:50 -07:00
1 parent d788f20eae
commit 6cacbc0bb4
2 files changed
+17 -3

No files matched your search

+4
View File
@@ -13,6 +13,10 @@ Add user-visible overlay work under **`## [Unreleased]`** in the same change set
## [Unreleased]
### Fixed
- **T096 slim:** hold GPS off and TFT backlight off in `T096Board::begin()`. Slim never compiled the GPS driver, so `GPS_EN` (active-low) stayed high-Z after reset.
## [1.17.1-ev1] - unpublished bench pin
First `upstream-evN` pin. Rebase onto MeshCore `companion-v1.17.1`. Overlay from `0.1.3` carried forward.
+13 -3
View File
@@ -13,10 +13,8 @@ const PowerMgtConfig power_config = {
};
void T096Board::initiateShutdown(uint8_t reason) {
#if ENV_INCLUDE_GPS == 1
pinMode(PIN_GPS_EN, OUTPUT);
digitalWrite(PIN_GPS_EN, !PIN_GPS_EN_ACTIVE);
#endif
variant_shutdown();
bool enable_lpcomp = (reason == SHUTDOWN_REASON_LOW_VOLTAGE ||
@@ -49,7 +47,19 @@ void T096Board::begin() {
pinMode(P_LORA_TX_LED, OUTPUT);
digitalWrite(P_LORA_TX_LED, LOW);
periph_power.begin();
periph_power.begin(); // VEXT off until display/GPS claim()
#ifndef DISPLAY_CLASS
pinMode(PIN_TFT_LEDA_CTL, OUTPUT);
digitalWrite(PIN_TFT_LEDA_CTL, !PIN_TFT_LEDA_CTL_ACTIVE);
#endif
#ifndef ENV_INCLUDE_GPS
// GPS_EN is active-low. Slim never compiled the GPS driver, so the pin
// stayed high-Z after reset and the module could sit powered.
pinMode(PIN_GPS_EN, OUTPUT);
digitalWrite(PIN_GPS_EN, !PIN_GPS_EN_ACTIVE);
pinMode(PIN_GPS_RESET, OUTPUT);
digitalWrite(PIN_GPS_RESET, PIN_GPS_RESET_ACTIVE);
#endif
loRaFEMControl.init();
delay(1);
}