mirror of
https://github.com/agessaman/MeshCore.git
synced 2026-08-28 22:08:28 +00:00
fix: resolve remaining upstream-merge build breaks; park oversize TLora
Three real regressions from the 2026-07-19 upstream merge, all invisible to the two prescribed smoke builds: - heltec_tracker_v2/HeltecTrackerV2Board.cpp: the FEM trio (setLoRaFemLnaEnabled/canControlLoRaFemLna/isLoRaFemLnaEnabled) was duplicated verbatim by auto-merge, and upstream's new powerOff() (35f654ce) used P_LORA_PA_POWER unguarded — a macro defined only for the tracker_v2 envs, while heltec_tracker_v1_1 compiles the same board file. Guarded it the same way LoRaFEMControl.cpp already guards that macro. - SimpleMeshTables.h: the tracker variants pull in TFT_eSPI, whose TFT_eSPI_ESP32_S3.h defines FS_NO_GLOBALS. That suppresses FS.h's own 'using fs::File', so File never reached global scope and every TU routed through it failed with "'File' has not been declared" — here and at simple_repeater/MyMesh.h:158. Restore the using when FS_NO_GLOBALS is set. Explicit fs::File is not an option: File is also the global type on the nRF52/RP2040 paths, which have no fs namespace. - ST7735Display.cpp: upstream's HSPI fix (d30d8ed7) guarded on HELTEC_LORA_V3 || HELTEC_TRACKER_V2. heltec_tracker_v1_1 matches neither and fell through to &SPI1, which is not instantiated on ESP32. Added it to the guard. Also parks LilyGo_TLora_V2_1_1_6_{repeater,room_server}_observer_mqtt with a trailing underscore (the nibble_screen_connect convention fromb8f1fad6), which also excludes them from the workflows' enumeration regex. That board does NOT fit and never did: 2,069,397 / 1,966,080 = 105.3% on flex, with no webconfig and no upstream merge. It has been failing on production all along — the release ships 30 envs, not 32 — hidden because build.sh does not propagate pio's exit code. Dropping webconfig would recover ~46 KB of a ~101 KB deficit, so that is not a fix. Rationale and options in .scratch/tlora-v2-oversize.md.
This commit is contained in:
@@ -36,9 +36,14 @@ void HeltecTrackerV2Board::begin() {
|
||||
}
|
||||
|
||||
void HeltecTrackerV2Board::powerOff() {
|
||||
// Turn off PA
|
||||
// Turn off PA. Guarded because this board file is also compiled for the
|
||||
// heltec_tracker_v1_1 envs, which do not define P_LORA_PA_POWER (it is set
|
||||
// only in variants/heltec_tracker_v2/platformio.ini). Same guard idiom
|
||||
// LoRaFEMControl.cpp already uses for this macro.
|
||||
#if defined(P_LORA_PA_POWER)
|
||||
digitalWrite(P_LORA_PA_POWER, LOW);
|
||||
rtc_gpio_hold_en((gpio_num_t)P_LORA_PA_POWER);
|
||||
#endif
|
||||
|
||||
ESP32Board::powerOff();
|
||||
}
|
||||
@@ -86,21 +91,3 @@ void HeltecTrackerV2Board::begin() {
|
||||
bool HeltecTrackerV2Board::isLoRaFemLnaEnabled() const {
|
||||
return loRaFEMControl.isLNAEnabled();
|
||||
}
|
||||
|
||||
bool HeltecTrackerV2Board::setLoRaFemLnaEnabled(bool enable) {
|
||||
if (!loRaFEMControl.isLnaCanControl()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
loRaFEMControl.setLNAEnable(enable);
|
||||
loRaFEMControl.setRxModeEnable();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool HeltecTrackerV2Board::canControlLoRaFemLna() const {
|
||||
return loRaFEMControl.isLnaCanControl();
|
||||
}
|
||||
|
||||
bool HeltecTrackerV2Board::isLoRaFemLnaEnabled() const {
|
||||
return loRaFEMControl.isLNAEnabled();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user