Skip to content

Commit 263a297

Browse files
committed
mix mos and bms balance temps
1 parent ad64240 commit 263a297

File tree

3 files changed

+31
-9
lines changed

3 files changed

+31
-9
lines changed

inc/sp140/structs.h

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,13 @@ typedef struct {
103103
TelemetryState bmsState; // Current connection state
104104
float cell_voltages[BMS_CELLS_NUM]; // Individual cell voltages
105105

106-
// Individual temperature sensors (T1-T4 cell temperatures)
107-
float t1_temperature; // T1 cell temperature sensor (°C)
108-
float t2_temperature; // T2 cell temperature sensor (°C)
109-
float t3_temperature; // T3 cell temperature sensor (°C)
110-
float t4_temperature; // T4 cell temperature sensor (°C)
106+
// Individual temperature sensors
107+
float mos_temperature; // BMS MOSFET temperature (°C) - index 0
108+
float balance_temperature; // BMS balance resistor temperature (°C) - index 1
109+
float t1_temperature; // T1 cell temperature sensor (°C) - index 2
110+
float t2_temperature; // T2 cell temperature sensor (°C) - index 3
111+
float t3_temperature; // T3 cell temperature sensor (°C) - index 4
112+
float t4_temperature; // T4 cell temperature sensor (°C) - index 5
111113
} STR_BMS_TELEMETRY_140;
112114
#pragma pack(pop)
113115

src/sp140/bms.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,12 @@ void updateBMSData() {
5959
}
6060

6161
// Populate individual temperature sensors
62-
bmsTelemetryData.t1_temperature = bms_can->getTemperature(0);
63-
bmsTelemetryData.t2_temperature = bms_can->getTemperature(1);
64-
bmsTelemetryData.t3_temperature = bms_can->getTemperature(2);
65-
bmsTelemetryData.t4_temperature = bms_can->getTemperature(3);
62+
bmsTelemetryData.mos_temperature = bms_can->getTemperature(0); // BMS MOSFET
63+
bmsTelemetryData.balance_temperature = bms_can->getTemperature(1); // BMS Balance resistors
64+
bmsTelemetryData.t1_temperature = bms_can->getTemperature(2); // Cell probe 1
65+
bmsTelemetryData.t2_temperature = bms_can->getTemperature(3); // Cell probe 2
66+
bmsTelemetryData.t3_temperature = bms_can->getTemperature(4); // Cell probe 3
67+
bmsTelemetryData.t4_temperature = bms_can->getTemperature(5); // Cell probe 4
6668

6769
bmsTelemetryData.lastUpdateMs = millis();
6870
// printBMSData();

src/sp140/simple_monitor.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,24 @@ void addESCMonitors() {
6464
}
6565

6666
void addBMSMonitors() {
67+
// BMS MOSFET Temperature (Warning: 50°C, Critical: 60°C)
68+
static SensorMonitor* bmsMosTemp = new SensorMonitor(
69+
"BMS_MOS_Temp",
70+
{.warnLow = -10, .warnHigh = 50, .critLow = -15, .critHigh = 60},
71+
[]() { return bmsTelemetryData.mos_temperature; },
72+
&serialLogger
73+
);
74+
sensors.push_back(bmsMosTemp);
75+
76+
// BMS Balance Resistor Temperature (Warning: 50°C, Critical: 60°C)
77+
static SensorMonitor* bmsBalanceTemp = new SensorMonitor(
78+
"BMS_Balance_Temp",
79+
{.warnLow = -10, .warnHigh = 50, .critLow = -15, .critHigh = 60},
80+
[]() { return bmsTelemetryData.balance_temperature; },
81+
&serialLogger
82+
);
83+
sensors.push_back(bmsBalanceTemp);
84+
6785
// T1-T4 Cell Temperature Sensors (Warning: 50°C, Critical: 56°C)
6886
static SensorMonitor* bmsT1Temp = new SensorMonitor(
6987
"BMS_T1_Temp",

0 commit comments

Comments
 (0)