@@ -68,8 +68,24 @@ void PageBms::bmsValuesRx(BMS_VALUES val)
6868 reloadCellBars (val.v_cells .size ());
6969 }
7070
71+ double vcMin = 0.0 ;
72+ double vcMax = 0.0 ;
73+
74+ if (val.v_cells .size () > 0 ) {
75+ vcMin = val.v_cells .first ();
76+ vcMax = vcMin;
77+ }
78+
7179 QSharedPointer<QCPAxisTickerText> textTicker (new QCPAxisTickerText);
7280 for (int i = 0 ;i < val.v_cells .size ();i++) {
81+ if (val.v_cells .at (i) > vcMax) {
82+ vcMax = val.v_cells .at (i);
83+ }
84+
85+ if (val.v_cells .at (i) < vcMin) {
86+ vcMin = val.v_cells .at (i);
87+ }
88+
7389 QVector<double > cell, voltage;
7490 cell.append (i + 1 );
7591 voltage.append (val.v_cells .at (i));
@@ -129,23 +145,27 @@ void PageBms::bmsValuesRx(BMS_VALUES val)
129145 ui->plotTemp ->replotWhenVisible ();
130146
131147 // Value table
132- ui->valTable ->item (0 , 0 )->setText (QString (" %1 V" ).arg (val.v_tot , 0 , ' f' , 2 ));
133- ui->valTable ->item (1 , 0 )->setText (QString (" %1 V" ).arg (val.v_charge , 0 , ' f' , 2 ));
134- ui->valTable ->item (2 , 0 )->setText (QString (" %1 A" ).arg (val.i_in , 0 , ' f' , 2 ));
135- ui->valTable ->item (3 , 0 )->setText (QString (" %1 A" ).arg (val.i_in_ic , 0 , ' f' , 2 ));
136- ui->valTable ->item (4 , 0 )->setText (QString (" %1 Ah" ).arg (val.ah_cnt , 0 , ' f' , 3 ));
137- ui->valTable ->item (5 , 0 )->setText (QString (" %1 Wh" ).arg (val.wh_cnt , 0 , ' f' , 3 ));
138- ui->valTable ->item (6 , 0 )->setText (QString (" %1 W" ).arg (val.i_in_ic * val.v_tot , 0 , ' f' , 3 ));
139- ui->valTable ->item (7 , 0 )->setText (QString (" %1 %" ).arg (val.soc * 100.0 , 0 , ' f' , 0 ));
140- ui->valTable ->item (8 , 0 )->setText (QString (" %1 %" ).arg (val.soh * 100.0 , 0 , ' f' , 0 ));
141- ui->valTable ->item (9 , 0 )->setText (QString (" %1 °C" ).arg (val.temp_cells_highest , 0 , ' f' , 2 ));
142- ui->valTable ->item (10 , 0 )->setText (QString (" %1 %" ).arg (val.humidity , 0 , ' f' , 2 ));
143- ui->valTable ->item (11 , 0 )->setText (QString (" %1 Pa" ).arg (val.pressure , 0 , ' f' , 0 ));
144- ui->valTable ->item (12 , 0 )->setText (QString (" %1 °C" ).arg (val.temp_hum_sensor , 0 , ' f' , 2 ));
145- ui->valTable ->item (13 , 0 )->setText (QString (" %1 Ah" ).arg (val.ah_cnt_chg_total , 0 , ' f' , 3 ));
146- ui->valTable ->item (14 , 0 )->setText (QString (" %1 Wh" ).arg (val.wh_cnt_chg_total , 0 , ' f' , 3 ));
147- ui->valTable ->item (15 , 0 )->setText (QString (" %1 Ah" ).arg (val.ah_cnt_dis_total , 0 , ' f' , 3 ));
148- ui->valTable ->item (16 , 0 )->setText (QString (" %1 Wh" ).arg (val.wh_cnt_dis_total , 0 , ' f' , 3 ));
148+ int ind = 0 ;
149+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 V" ).arg (val.v_tot , 0 , ' f' , 2 ));
150+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 V" ).arg (vcMin, 0 , ' f' , 3 ));
151+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 V" ).arg (vcMax, 0 , ' f' , 3 ));
152+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 V" ).arg (vcMax - vcMin, 0 , ' f' , 3 ));
153+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 V" ).arg (val.v_charge , 0 , ' f' , 2 ));
154+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 A" ).arg (val.i_in , 0 , ' f' , 2 ));
155+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 A" ).arg (val.i_in_ic , 0 , ' f' , 2 ));
156+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 Ah" ).arg (val.ah_cnt , 0 , ' f' , 3 ));
157+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 Wh" ).arg (val.wh_cnt , 0 , ' f' , 3 ));
158+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 W" ).arg (val.i_in_ic * val.v_tot , 0 , ' f' , 3 ));
159+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 %" ).arg (val.soc * 100.0 , 0 , ' f' , 0 ));
160+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 %" ).arg (val.soh * 100.0 , 0 , ' f' , 0 ));
161+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 °C" ).arg (val.temp_cells_highest , 0 , ' f' , 2 ));
162+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 %" ).arg (val.humidity , 0 , ' f' , 2 ));
163+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 Pa" ).arg (val.pressure , 0 , ' f' , 0 ));
164+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 °C" ).arg (val.temp_hum_sensor , 0 , ' f' , 2 ));
165+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 Ah" ).arg (val.ah_cnt_chg_total , 0 , ' f' , 3 ));
166+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 Wh" ).arg (val.wh_cnt_chg_total , 0 , ' f' , 3 ));
167+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 Ah" ).arg (val.ah_cnt_dis_total , 0 , ' f' , 3 ));
168+ ui->valTable ->item (ind++, 0 )->setText (QString (" %1 Wh" ).arg (val.wh_cnt_dis_total , 0 , ' f' , 3 ));
149169}
150170
151171void PageBms::reloadCellBars (int cells)
0 commit comments