Skip to content

Commit 221fdc9

Browse files
committed
Show highest temperatures since system boot
1 parent e09e1e8 commit 221fdc9

File tree

8 files changed

+39
-2
lines changed

8 files changed

+39
-2
lines changed

main/http_server/axe-os/src/app/components/home/home.component.html

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,20 @@ <h5>Pool Information ({{ activePoolLabel }})</h5>
259259

260260
<div class="col-12 lg:col-6">
261261
<div class="card" *ngIf="info$ | async as info; else loading">
262-
<h5>Uptime</h5>
263-
{{info.uptimeSeconds | dateAgo}}
262+
<h5>Uptime Information</h5>
263+
<table>
264+
<tr>
265+
<td>{{info.uptimeSeconds | dateAgo}}</td>
266+
</tr>
267+
<tr>
268+
<td>Highest ASIC Temperature:</td>
269+
<td>{{info.tempHighest}}&deg;C</td>
270+
</tr>
271+
<tr>
272+
<td>Highest VR Temperature:</td>
273+
<td>{{info.vrTempHighest}}&deg;C</td>
274+
</tr>
275+
</table>
264276
</div>
265277
</div>
266278

main/http_server/axe-os/src/app/components/home/home.component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ export class HomeComponent {
238238
info.coreVoltageActual = parseFloat((info.coreVoltageActual / 1000).toFixed(2));
239239
info.coreVoltage = parseFloat((info.coreVoltage / 1000).toFixed(2));
240240
info.temp = parseFloat(info.temp.toFixed(1));
241+
info.tempHighest = parseFloat(info.tempHighest.toFixed(1));
241242

242243
return info;
243244
}),

main/http_server/axe-os/src/app/services/system.service.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ export class SystemService {
2525
voltage: 5208.75,
2626
current: 2237.5,
2727
temp: 60,
28+
tempHighest: 63,
2829
vrTemp: 45,
30+
vrTempHighest: 48,
2931
maxPower: 25,
3032
nominalVoltage: 5,
3133
hashRate: 475,

main/http_server/axe-os/src/models/ISystemInfo.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ export interface ISystemInfo {
1414
voltage: number,
1515
current: number,
1616
temp: number,
17+
tempHighest: number,
1718
vrTemp: number,
19+
vrTempHighest: number,
1820
maxPower: number,
1921
nominalVoltage: number,
2022
hashRate: number,

main/http_server/http_server.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,9 @@ static esp_err_t GET_system_info(httpd_req_t * req)
554554
cJSON_AddNumberToObject(root, "voltage", GLOBAL_STATE->POWER_MANAGEMENT_MODULE.voltage);
555555
cJSON_AddNumberToObject(root, "current", Power_get_current(GLOBAL_STATE));
556556
cJSON_AddNumberToObject(root, "temp", GLOBAL_STATE->POWER_MANAGEMENT_MODULE.chip_temp_avg);
557+
cJSON_AddNumberToObject(root, "tempHighest", GLOBAL_STATE->POWER_MANAGEMENT_MODULE.chip_temp_highest);
557558
cJSON_AddNumberToObject(root, "vrTemp", GLOBAL_STATE->POWER_MANAGEMENT_MODULE.vr_temp);
559+
cJSON_AddNumberToObject(root, "vrTempHighest", GLOBAL_STATE->POWER_MANAGEMENT_MODULE.vr_temp_highest);
558560
cJSON_AddNumberToObject(root, "maxPower", Power_get_max_settings(GLOBAL_STATE));
559561
cJSON_AddNumberToObject(root, "nominalVoltage", Power_get_nominal_voltage(GLOBAL_STATE));
560562
cJSON_AddNumberToObject(root, "hashRate", GLOBAL_STATE->SYSTEM_MODULE.current_hashrate);

main/http_server/openapi.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,12 @@ components:
129129
- stratumURL
130130
- stratumUser
131131
- temp
132+
- tempHighest
132133
- uptimeSeconds
133134
- version
134135
- voltage
135136
- vrTemp
137+
- vrTempHighest
136138
- wifiStatus
137139
- wifiRSSI
138140
properties:
@@ -267,6 +269,9 @@ components:
267269
temp:
268270
type: number
269271
description: Average chip temperature
272+
tempHighest:
273+
type: number
274+
description: Highest average chip temperature
270275
uptimeSeconds:
271276
type: number
272277
description: System uptime in seconds
@@ -279,6 +284,9 @@ components:
279284
vrTemp:
280285
type: number
281286
description: Voltage regulator temperature
287+
vrTempHighest:
288+
type: number
289+
description: Highest voltage regulator temperature
282290
wifiStatus:
283291
type: string
284292
description: WiFi connection status

main/tasks/power_management_task.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ void POWER_MANAGEMENT_task(void * pvParameters)
5757
SystemModule * sys_module = &GLOBAL_STATE->SYSTEM_MODULE;
5858

5959
power_management->frequency_multiplier = 1;
60+
power_management->chip_temp_highest = 0.0;
61+
power_management->vr_temp_highest = 0.0;
6062

6163
//int last_frequency_increase = 0;
6264
//uint16_t frequency_target = nvs_config_get_u16(NVS_CONFIG_ASIC_FREQ, CONFIG_ASIC_FREQUENCY);
@@ -75,8 +77,14 @@ void POWER_MANAGEMENT_task(void * pvParameters)
7577

7678
power_management->fan_rpm = Thermal_get_fan_speed(GLOBAL_STATE->device_model);
7779
power_management->chip_temp_avg = Thermal_get_chip_temp(GLOBAL_STATE);
80+
if (power_management->chip_temp_avg > power_management->chip_temp_highest) {
81+
power_management->chip_temp_highest = power_management->chip_temp_avg;
82+
}
7883

7984
power_management->vr_temp = Power_get_vreg_temp(GLOBAL_STATE);
85+
if (power_management->vr_temp > power_management->vr_temp_highest) {
86+
power_management->vr_temp_highest = power_management->vr_temp;
87+
}
8088

8189

8290
// ASIC Thermal Diode will give bad readings if the ASIC is turned off

main/tasks/power_management_task.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ typedef struct
77
uint16_t fan_rpm;
88
float chip_temp[6];
99
float chip_temp_avg;
10+
float chip_temp_highest;
1011
float vr_temp;
12+
float vr_temp_highest;
1113
float voltage;
1214
float frequency_multiplier;
1315
float frequency_value;

0 commit comments

Comments
 (0)