|
@@ -33,17 +33,17 @@ static void calibrate_soc_by_ocv(void){
|
|
|
for (int i = 0; i < CELLS_NUM; i++){
|
|
for (int i = 0; i < CELLS_NUM; i++){
|
|
|
pack_vol += measure_value()->cell_vol[i];
|
|
pack_vol += measure_value()->cell_vol[i];
|
|
|
}
|
|
}
|
|
|
- if (pack_vol < (2200 * CELLS_NUM)){
|
|
|
|
|
|
|
+ if (pack_vol < (2700 * CELLS_NUM)){
|
|
|
_soc.capacity = 0;
|
|
_soc.capacity = 0;
|
|
|
- }else if (pack_vol < (2700 * CELLS_NUM)){
|
|
|
|
|
|
|
+ }else if (pack_vol < (2950 * CELLS_NUM)){
|
|
|
_soc.capacity = 5;
|
|
_soc.capacity = 5;
|
|
|
}else if (pack_vol < (3200 * CELLS_NUM)){
|
|
}else if (pack_vol < (3200 * CELLS_NUM)){
|
|
|
_soc.capacity = 15;
|
|
_soc.capacity = 15;
|
|
|
}else if (pack_vol < (3400 * CELLS_NUM)){
|
|
}else if (pack_vol < (3400 * CELLS_NUM)){
|
|
|
- _soc.capacity = 50;
|
|
|
|
|
|
|
+ _soc.capacity = 25;
|
|
|
}else if (pack_vol < (3500 * CELLS_NUM)){
|
|
}else if (pack_vol < (3500 * CELLS_NUM)){
|
|
|
- _soc.capacity = 75;
|
|
|
|
|
- }else if (pack_vol < (3600 * CELLS_NUM)){
|
|
|
|
|
|
|
+ _soc.capacity = 85;
|
|
|
|
|
+ }else if (pack_vol < (3550 * CELLS_NUM)){
|
|
|
_soc.capacity = 95;
|
|
_soc.capacity = 95;
|
|
|
}else {
|
|
}else {
|
|
|
_soc.capacity = 100;
|
|
_soc.capacity = 100;
|