diff --git a/platformio.ini b/platformio.ini index 87d26360..dc10360c 100644 --- a/platformio.ini +++ b/platformio.ini @@ -313,7 +313,9 @@ build_flags = -D RADIOLIB_EXCLUDE_SSTV=1 -D ESP32_PLATFORM -D ENV_INCLUDE_GPS=1 - -D ENV_INCLUDE_AHTX0=1 + ; 0x38 is the FT6636 touch controller, not an AHT10/20. The Adafruit probe + ; mis-detects it as a sensor and can hang boot on its register 0xBA, so keep off. + -D ENV_INCLUDE_AHTX0=0 -D ENV_INCLUDE_BME280=1 -D ENV_INCLUDE_BMP280=1 -D ENV_INCLUDE_SHTC3=1 @@ -323,7 +325,8 @@ build_flags = -D ENV_INCLUDE_INA219=1 -D ENV_INCLUDE_INA226=1 -D ENV_INCLUDE_INA260=1 - -D ENV_INCLUDE_MLX90614=1 + ; 0x5A is the keyboard module's AW9523 (left half), not an MLX90614. + -D ENV_INCLUDE_MLX90614=0 -D ENV_INCLUDE_VL53L0X=1 -D ENV_INCLUDE_BME680=1 -D ENV_INCLUDE_BMP085=1 @@ -346,12 +349,18 @@ build_flags = -D MAX_LORA_TX_POWER=22 -D SX126X_REGISTER_PATCH=1 -D SX126X_DIO2_AS_RF_SWITCH=true - -D SX126X_DIO3_TCXO_VOLTAGE=1.8 + ; Ra-01SH clocks the SX1262 from a 32 MHz crystal, not a TCXO, so DIO3 is not a + ; TCXO supply. Must be 0 explicitly: std_init() defaults to 1.6 V otherwise. + -D SX126X_DIO3_TCXO_VOLTAGE=0 -D SX126X_CURRENT_LIMIT=140 -D SX126X_RX_BOOSTED_GAIN=1 -D PIN_GPS_RX=18 -D PIN_GPS_TX=17 - -D GPS_BAUD=9600 + ; EnvironmentSensorManager reads GPS_BAUD_RATE, not GPS_BAUD. + -D GPS_BAUD_RATE=9600 + ; ATGM336H cold-start can exceed the 1 s probe window. Without this the probe + ; gives up and start_gps() never runs, so GPS reads on but nothing is parsed. + -D ENV_SKIP_GPS_DETECT=1 ; Keep the base rotation portrait; UITask applies the landscape transform. -D PIN_BOARD_SDA=2 -D PIN_BOARD_SCL=1 diff --git a/src/main.cpp b/src/main.cpp index a6e97a6a..d66d692b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -710,8 +710,14 @@ void setup() { // hit the overflow) still get the big ring; default GPS-off keeps the stock 256 B. A user // who enables GPS mid-session picks it up on the next reboot (gps_enabled is persisted). { +#if defined(ATTAKY_MESH_SERIES) + // This fixed stack always carries the GPS, so take the larger RX ring + // unconditionally; the default 256 B ring gives the slowest first fix. + Serial1.setRxBufferSize(4096); +#else auto* np = the_mesh.getNodePrefs(); if (np && np->gps_enabled) Serial1.setRxBufferSize(4096); +#endif } #endif sensors.begin();