@@ -97,7 +97,7 @@ void SaveConfig(const Settings& s) {
97
97
98
98
void InitializeTasks () {
99
99
xTaskCreate (MonitorStatesTask, " MonitorStates" , 4096 , NULL , 6 , NULL );
100
- xTaskCreate (ReadTemperaturesTask, " ReadTemps" , 6144 , NULL , 5 , NULL );
100
+ xTaskCreate (ReadTemperaturesTask, " ReadTemps" , 4096 , NULL , 5 , NULL );
101
101
xTaskCreate (PlayLedsTask, " PlayLEDs" , 4096 , NULL , 4 , NULL );
102
102
xTaskCreate (DisplayDataTask, " DisplayData" , 4096 , NULL , 3 , NULL );
103
103
xTaskCreate (NativeUsbTelemetryTask, " UsbTelTask" , 2048 , NULL , 2 , NULL );
@@ -119,7 +119,7 @@ void InitializeFanCurves() {
119
119
120
120
DeserializationError error = deserializeJson (fan_doc, fan_curves);
121
121
122
- if (error || fan_curves == " {}" ) {
122
+ if (error || fan_curves == " {}" || fan_curves == " [] " ) {
123
123
Serial.printf (" No/Invalid settings for %s, using defaults.\n " , fan_key.c_str ());
124
124
m_SensorSettings[fan_id].sensor_name = " TEMP_1" ;
125
125
m_SensorSettings[fan_id].temperature_alarm_threshold = 999 ;
@@ -158,8 +158,8 @@ void InitializeFanCurves() {
158
158
}
159
159
160
160
// Set initial fan speeds based on current temps
161
- const double t1 = ReadTemperature (0 );
162
- const double t2 = ReadTemperature (1 );
161
+ double t1 = ReadTemperature (0 );
162
+ double t2 = ReadTemperature (1 );
163
163
164
164
for (int i = 0 ; i < ACTIVE_FANS; i++) {
165
165
int fan_id = a_FanIds[i];
@@ -239,6 +239,10 @@ void loop() {
239
239
taskScheduler.execute ();
240
240
LoopMqttClient ();
241
241
}
242
+
243
+ temperature1 = ReadTemperature (0 );
244
+ temperature2 = ReadTemperature (1 );
245
+
242
246
vTaskDelay (pdMS_TO_TICKS (250 )); // Yield, let tasks run
243
247
}
244
248
@@ -278,8 +282,8 @@ void MonitorStatesTask(void *pvParameters) {
278
282
// --- Monitor Alarms ---
279
283
bool temp_alarm_active = false ;
280
284
bool rpm_alarm_active = false ;
281
- const double t1 = ReadTemperature ( 0 ) ;
282
- const double t2 = ReadTemperature ( 1 ) ;
285
+ const double t1 = temperature1 ;
286
+ const double t2 = temperature2 ;
283
287
284
288
for (int i = 0 ; i < ACTIVE_FANS; ++i) {
285
289
int fan_id = a_FanIds[i];
@@ -323,8 +327,8 @@ void PlayAlarmsTask(void *pvParameters) {
323
327
void ReadTemperaturesTask (void *pvParameters) {
324
328
while (true ) {
325
329
326
- const double t1 = ReadTemperature ( 0 ) ;
327
- const double t2 = ReadTemperature ( 1 ) ;
330
+ const double t1 = temperature1 ;
331
+ const double t2 = temperature2 ;
328
332
329
333
if (DEBUG_ENABLED && DEBUG_DATA_ENABLED) {
330
334
Serial.printf (" T1: %.2f C; T2: %.2f C\n " , t1, t2);
@@ -423,8 +427,8 @@ void DisplayDataTask(void *pvParameters) {
423
427
424
428
case ScreenView::Temperatures:
425
429
{
426
- double t1 = ReadTemperature ( 0 ) ;
427
- double t2 = ReadTemperature ( 1 ) ;
430
+ double t1 = temperature1 ;
431
+ double t2 = temperature2 ;
428
432
429
433
if (systemSettings.units == " F" ) {
430
434
if (t1 > -90.0 ) t1 = (t1 * 1.8 ) + 32 ;
@@ -496,8 +500,8 @@ void SendUsbTelemetry() {
496
500
}
497
501
498
502
std::string PrepareTelemetryPayload (const std::string& event) {
499
- double t1 = ReadTemperature ( 0 ) ;
500
- double t2 = ReadTemperature ( 1 ) ;
503
+ double t1 = temperature1 ;
504
+ double t2 = temperature2 ;
501
505
502
506
if (systemSettings.units == " F" ) {
503
507
if (t1 > -90.0 ) t1 = (t1 * 1.8 ) + 32 ;
0 commit comments