Skip to content

Commit 871e14a

Browse files
authored
Merge pull request #145 from HyperloopUPV-H8/control-station/store-optimisation
[control-station] store optimisation
2 parents 51c9e64 + 155052d commit 871e14a

10 files changed

Lines changed: 238 additions & 364 deletions

File tree

Lines changed: 77 additions & 223 deletions
Original file line numberDiff line numberDiff line change
@@ -1,223 +1,77 @@
1-
import {
2-
BooleanMeasurement,
3-
EnumMeasurement,
4-
Measurements,
5-
NumericMeasurement,
6-
useMeasurementsStore,
7-
} from "..";
8-
9-
export type ObccuMeasurements = {
10-
generalState: EnumMeasurement;
11-
12-
maximumCell1: NumericMeasurement;
13-
maximumCell2: NumericMeasurement;
14-
maximumCell3: NumericMeasurement;
15-
maximumCell4: NumericMeasurement;
16-
maximumCell5: NumericMeasurement;
17-
maximumCell6: NumericMeasurement;
18-
maximumCell7: NumericMeasurement;
19-
maximumCell8: NumericMeasurement;
20-
maximumCell9: NumericMeasurement;
21-
maximumCell10: NumericMeasurement;
22-
23-
minimumCell1: NumericMeasurement;
24-
minimumCell2: NumericMeasurement;
25-
minimumCell3: NumericMeasurement;
26-
minimumCell4: NumericMeasurement;
27-
minimumCell5: NumericMeasurement;
28-
minimumCell6: NumericMeasurement;
29-
minimumCell7: NumericMeasurement;
30-
minimumCell8: NumericMeasurement;
31-
minimumCell9: NumericMeasurement;
32-
minimumCell10: NumericMeasurement;
33-
34-
SOC1: EnumMeasurement;
35-
SOC2: EnumMeasurement;
36-
SOC3: EnumMeasurement;
37-
SOC4: EnumMeasurement;
38-
SOC5: EnumMeasurement;
39-
SOC6: EnumMeasurement;
40-
SOC7: EnumMeasurement;
41-
SOC8: EnumMeasurement;
42-
SOC9: EnumMeasurement;
43-
SOC10: EnumMeasurement;
44-
45-
isBalancing1: BooleanMeasurement;
46-
isBalancing2: BooleanMeasurement;
47-
isBalancing3: BooleanMeasurement;
48-
isBalancing4: BooleanMeasurement;
49-
isBalancing5: BooleanMeasurement;
50-
isBalancing6: BooleanMeasurement;
51-
isBalancing7: BooleanMeasurement;
52-
isBalancing8: BooleanMeasurement;
53-
isBalancing9: BooleanMeasurement;
54-
isBalancing10: BooleanMeasurement;
55-
56-
dclvTemperature: NumericMeasurement;
57-
58-
battery_temperature_1: NumericMeasurement;
59-
battery_temperature_2: NumericMeasurement;
60-
battery_temperature_3: NumericMeasurement;
61-
battery_temperature_4: NumericMeasurement;
62-
battery_temperature_5: NumericMeasurement;
63-
battery_temperature_6: NumericMeasurement;
64-
battery_temperature_7: NumericMeasurement;
65-
battery_temperature_8: NumericMeasurement;
66-
battery_temperature_9: NumericMeasurement;
67-
battery_temperature_10: NumericMeasurement;
68-
69-
"2BatteryTemperature1": NumericMeasurement;
70-
"2BatteryTemperature2": NumericMeasurement;
71-
"2BatteryTemperature3": NumericMeasurement;
72-
"2BatteryTemperature4": NumericMeasurement;
73-
"2BatteryTemperature5": NumericMeasurement;
74-
"2BatteryTemperature6": NumericMeasurement;
75-
"2BatteryTemperature7": NumericMeasurement;
76-
"2BatteryTemperature8": NumericMeasurement;
77-
"2BatteryTemperature9": NumericMeasurement;
78-
"2BatteryTemperature10": NumericMeasurement;
79-
80-
imd: BooleanMeasurement;
81-
totalVoltage1: NumericMeasurement;
82-
totalVoltage2: NumericMeasurement;
83-
totalVoltage3: NumericMeasurement;
84-
totalVoltage4: NumericMeasurement;
85-
totalVoltage5: NumericMeasurement;
86-
totalVoltage6: NumericMeasurement;
87-
totalVoltage7: NumericMeasurement;
88-
totalVoltage8: NumericMeasurement;
89-
totalVoltage9: NumericMeasurement;
90-
totalVoltage10: NumericMeasurement;
91-
92-
totalVoltageHigh: NumericMeasurement;
93-
drift: BooleanMeasurement;
94-
};
95-
96-
export function selectObccuMeasurements(
97-
measurements: Measurements
98-
): ObccuMeasurements {
99-
const getMeasurementFallback = useMeasurementsStore(
100-
(state) => state.getMeasurementFallback
101-
);
102-
103-
return {
104-
"2BatteryTemperature1": getMeasurementFallback(
105-
"OBCCU/2battery_temperature_1"
106-
),
107-
"2BatteryTemperature2": getMeasurementFallback(
108-
"OBCCU/2battery_temperature_2"
109-
),
110-
"2BatteryTemperature3": getMeasurementFallback(
111-
"OBCCU/2battery_temperature_3"
112-
),
113-
"2BatteryTemperature4": getMeasurementFallback(
114-
"OBCCU/2battery_temperature_4"
115-
),
116-
"2BatteryTemperature5": getMeasurementFallback(
117-
"OBCCU/2battery_temperature_5"
118-
),
119-
"2BatteryTemperature6": getMeasurementFallback(
120-
"OBCCU/2battery_temperature_6"
121-
),
122-
"2BatteryTemperature7": getMeasurementFallback(
123-
"OBCCU/2battery_temperature_7"
124-
),
125-
"2BatteryTemperature8": getMeasurementFallback(
126-
"OBCCU/2battery_temperature_8"
127-
),
128-
"2BatteryTemperature9": getMeasurementFallback(
129-
"OBCCU/2battery_temperature_9"
130-
),
131-
"2BatteryTemperature10": getMeasurementFallback(
132-
"OBCCU/2battery_temperature_10"
133-
),
134-
dclvTemperature: getMeasurementFallback("OBCCU/dclv_temperature"),
135-
generalState: getMeasurementFallback("OBCCU/general_state"),
136-
imd: getMeasurementFallback("OBCCU/imd"),
137-
isBalancing1: getMeasurementFallback("OBCCU/is_balancing1"),
138-
isBalancing10: getMeasurementFallback("OBCCU/is_balancing10"),
139-
isBalancing2: getMeasurementFallback("OBCCU/is_balancing2"),
140-
isBalancing3: getMeasurementFallback("OBCCU/is_balancing3"),
141-
isBalancing4: getMeasurementFallback("OBCCU/is_balancing4"),
142-
isBalancing5: getMeasurementFallback("OBCCU/is_balancing5"),
143-
isBalancing6: getMeasurementFallback("OBCCU/is_balancing6"),
144-
isBalancing7: getMeasurementFallback("OBCCU/is_balancing7"),
145-
isBalancing8: getMeasurementFallback("OBCCU/is_balancing8"),
146-
isBalancing9: getMeasurementFallback("OBCCU/is_balancing9"),
147-
maximumCell1: getMeasurementFallback("OBCCU/maximum_cell_1"),
148-
maximumCell10: getMeasurementFallback("OBCCU/maximum_cell_10"),
149-
maximumCell2: getMeasurementFallback("OBCCU/maximum_cell_2"),
150-
maximumCell3: getMeasurementFallback("OBCCU/maximum_cell_3"),
151-
maximumCell4: getMeasurementFallback("OBCCU/maximum_cell_4"),
152-
maximumCell5: getMeasurementFallback("OBCCU/maximum_cell_5"),
153-
maximumCell6: getMeasurementFallback("OBCCU/maximum_cell_6"),
154-
maximumCell7: getMeasurementFallback("OBCCU/maximum_cell_7"),
155-
maximumCell8: getMeasurementFallback("OBCCU/maximum_cell_8"),
156-
maximumCell9: getMeasurementFallback("OBCCU/maximum_cell_9"),
157-
minimumCell1: getMeasurementFallback("OBCCU/minimum_cell_1"),
158-
minimumCell10: getMeasurementFallback("OBCCU/minimum_cell_10"),
159-
minimumCell2: getMeasurementFallback("OBCCU/minimum_cell_2"),
160-
minimumCell3: getMeasurementFallback("OBCCU/minimum_cell_3"),
161-
minimumCell4: getMeasurementFallback("OBCCU/minimum_cell_4"),
162-
minimumCell5: getMeasurementFallback("OBCCU/minimum_cell_5"),
163-
minimumCell6: getMeasurementFallback("OBCCU/minimum_cell_6"),
164-
minimumCell7: getMeasurementFallback("OBCCU/minimum_cell_7"),
165-
minimumCell8: getMeasurementFallback("OBCCU/minimum_cell_8"),
166-
minimumCell9: getMeasurementFallback("OBCCU/minimum_cell_9"),
167-
168-
SOC1: getMeasurementFallback("OBCCU/SOC1"),
169-
SOC10: getMeasurementFallback("OBCCU/SOC10"),
170-
SOC2: getMeasurementFallback("OBCCU/SOC2"),
171-
SOC3: getMeasurementFallback("OBCCU/SOC3"),
172-
SOC4: getMeasurementFallback("OBCCU/SOC4"),
173-
SOC5: getMeasurementFallback("OBCCU/SOC5"),
174-
SOC6: getMeasurementFallback("OBCCU/SOC6"),
175-
SOC7: getMeasurementFallback("OBCCU/SOC7"),
176-
SOC8: getMeasurementFallback("OBCCU/SOC8"),
177-
SOC9: getMeasurementFallback("OBCCU/SOC9"),
178-
179-
totalVoltage1: getMeasurementFallback("OBCCU/total_voltage1"),
180-
totalVoltage10: getMeasurementFallback("OBCCU/total_voltage10"),
181-
totalVoltage2: getMeasurementFallback("OBCCU/total_voltage2"),
182-
totalVoltage3: getMeasurementFallback("OBCCU/total_voltage3"),
183-
totalVoltage4: getMeasurementFallback("OBCCU/total_voltage4"),
184-
totalVoltage5: getMeasurementFallback("OBCCU/total_voltage5"),
185-
totalVoltage6: getMeasurementFallback("OBCCU/total_voltage6"),
186-
totalVoltage7: getMeasurementFallback("OBCCU/total_voltage7"),
187-
totalVoltage8: getMeasurementFallback("OBCCU/total_voltage8"),
188-
totalVoltage9: getMeasurementFallback("OBCCU/total_voltage9"),
189-
totalVoltageHigh: getMeasurementFallback("OBCCU/total_voltage_high"),
190-
191-
battery_temperature_1: getMeasurementFallback(
192-
"OBCCU/battery_temperature_1"
193-
),
194-
battery_temperature_2: getMeasurementFallback(
195-
"OBCCU/battery_temperature_2"
196-
),
197-
battery_temperature_3: getMeasurementFallback(
198-
"OBCCU/battery_temperature_3"
199-
),
200-
battery_temperature_4: getMeasurementFallback(
201-
"OBCCU/battery_temperature_4"
202-
),
203-
battery_temperature_5: getMeasurementFallback(
204-
"OBCCU/battery_temperature_5"
205-
),
206-
battery_temperature_6: getMeasurementFallback(
207-
"OBCCU/battery_temperature_6"
208-
),
209-
battery_temperature_7: getMeasurementFallback(
210-
"OBCCU/battery_temperature_7"
211-
),
212-
battery_temperature_8: getMeasurementFallback(
213-
"OBCCU/battery_temperature_8"
214-
),
215-
battery_temperature_9: getMeasurementFallback(
216-
"OBCCU/battery_temperature_9"
217-
),
218-
battery_temperature_10: getMeasurementFallback(
219-
"OBCCU/battery_temperature_10"
220-
),
221-
drift: getMeasurementFallback("OBCCU/drift"),
222-
} as ObccuMeasurements;
223-
}
1+
export enum ObccuMeasurements {
2+
generalState = "OBCCU/general_state",
3+
maximumCell1 = "OBCCU/maximum_cell_1",
4+
maximumCell2 = "OBCCU/maximum_cell_2",
5+
maximumCell3 = "OBCCU/maximum_cell_3",
6+
maximumCell4 = "OBCCU/maximum_cell_4",
7+
maximumCell5 = "OBCCU/maximum_cell_5",
8+
maximumCell6 = "OBCCU/maximum_cell_6",
9+
maximumCell7 = "OBCCU/maximum_cell_7",
10+
maximumCell8 = "OBCCU/maximum_cell_8",
11+
maximumCell9 = "OBCCU/maximum_cell_9",
12+
maximumCell10 = "OBCCU/maximum_cell_10",
13+
minimumCell1 = "OBCCU/minimum_cell_1",
14+
minimumCell2 = "OBCCU/minimum_cell_2",
15+
minimumCell3 = "OBCCU/minimum_cell_3",
16+
minimumCell4 = "OBCCU/minimum_cell_4",
17+
minimumCell5 = "OBCCU/minimum_cell_5",
18+
minimumCell6 = "OBCCU/minimum_cell_6",
19+
minimumCell7 = "OBCCU/minimum_cell_7",
20+
minimumCell8 = "OBCCU/minimum_cell_8",
21+
minimumCell9 = "OBCCU/minimum_cell_9",
22+
minimumCell10 = "OBCCU/minimum_cell_10",
23+
SOC1 = "OBCCU/SOC1",
24+
SOC2 = "OBCCU/SOC2",
25+
SOC3 = "OBCCU/SOC3",
26+
SOC4 = "OBCCU/SOC4",
27+
SOC5 = "OBCCU/SOC5",
28+
SOC6 = "OBCCU/SOC6",
29+
SOC7 = "OBCCU/SOC7",
30+
SOC8 = "OBCCU/SOC8",
31+
SOC9 = "OBCCU/SOC9",
32+
SOC10 = "OBCCU/SOC10",
33+
isBalancing1 = "OBCCU/is_balancing1",
34+
isBalancing2 = "OBCCU/is_balancing2",
35+
isBalancing3 = "OBCCU/is_balancing3",
36+
isBalancing4 = "OBCCU/is_balancing4",
37+
isBalancing5 = "OBCCU/is_balancing5",
38+
isBalancing6 = "OBCCU/is_balancing6",
39+
isBalancing7 = "OBCCU/is_balancing7",
40+
isBalancing8 = "OBCCU/is_balancing8",
41+
isBalancing9 = "OBCCU/is_balancing9",
42+
isBalancing10 = "OBCCU/is_balancing10",
43+
dclvTemperature = "OBCCU/dclv_temperature",
44+
battery_temperature_1 = "OBCCU/battery_temperature_1",
45+
battery_temperature_2 = "OBCCU/battery_temperature_2",
46+
battery_temperature_3 = "OBCCU/battery_temperature_3",
47+
battery_temperature_4 = "OBCCU/battery_temperature_4",
48+
battery_temperature_5 = "OBCCU/battery_temperature_5",
49+
battery_temperature_6 = "OBCCU/battery_temperature_6",
50+
battery_temperature_7 = "OBCCU/battery_temperature_7",
51+
battery_temperature_8 = "OBCCU/battery_temperature_8",
52+
battery_temperature_9 = "OBCCU/battery_temperature_9",
53+
battery_temperature_10 = "OBCCU/battery_temperature_10",
54+
"2BatteryTemperature1" = "OBCCU/2battery_temperature_1",
55+
"2BatteryTemperature2" = "OBCCU/2battery_temperature_2",
56+
"2BatteryTemperature3" = "OBCCU/2battery_temperature_3",
57+
"2BatteryTemperature4" = "OBCCU/2battery_temperature_4",
58+
"2BatteryTemperature5" = "OBCCU/2battery_temperature_5",
59+
"2BatteryTemperature6" = "OBCCU/2battery_temperature_6",
60+
"2BatteryTemperature7" = "OBCCU/2battery_temperature_7",
61+
"2BatteryTemperature8" = "OBCCU/2battery_temperature_8",
62+
"2BatteryTemperature9" = "OBCCU/2battery_temperature_9",
63+
"2BatteryTemperature10" = "OBCCU/2battery_temperature_10",
64+
imd = "OBCCU/imd",
65+
totalVoltage1 = "OBCCU/total_voltage1",
66+
totalVoltage2 = "OBCCU/total_voltage2",
67+
totalVoltage3 = "OBCCU/total_voltage3",
68+
totalVoltage4 = "OBCCU/total_voltage4",
69+
totalVoltage5 = "OBCCU/total_voltage5",
70+
totalVoltage6 = "OBCCU/total_voltage6",
71+
totalVoltage7 = "OBCCU/total_voltage7",
72+
totalVoltage8 = "OBCCU/total_voltage8",
73+
totalVoltage9 = "OBCCU/total_voltage9",
74+
totalVoltage10 = "OBCCU/total_voltage10",
75+
totalVoltageHigh = "OBCCU/total_voltage_high",
76+
drift = "OBCCU/drift",
77+
};

common-front/lib/store/measurementsStore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export const useMeasurementsStore = create<MeasurementsStore>((set, get) => ({
6969
*/
7070
updateMeasurements: (measurements: Record<string, PacketUpdate>) => {
7171

72-
const measurementsDraft = {...get().measurements};
72+
const measurementsDraft = get().measurements;
7373

7474
for (const update of Object.values(measurements)) {
7575
for (const [id, mUpdate] of Object.entries(

0 commit comments

Comments
 (0)