|
|
@@ -28,15 +28,16 @@ void Battery_Init(){
|
|
|
}
|
|
|
|
|
|
void Battery_ReadState(uint8_t slot_id){
|
|
|
- if(battery_data[slot_id].min_voltage==0 &&
|
|
|
+
|
|
|
+ if(battery_data[slot_id].battery_measurement.voltage < BATTERY_THRESHOLD){
|
|
|
+ battery_data[slot_id].battery_state = STATE_EMPTY;
|
|
|
+ }
|
|
|
+ else if(battery_data[slot_id].min_voltage==0 &&
|
|
|
battery_data[slot_id].max_voltage==0 &&
|
|
|
battery_data[slot_id].cut_off_current==0){
|
|
|
battery_data[slot_id].battery_state = STATE_WAITING_FOR_LIMITS;
|
|
|
//printf("Waiting to receive battery limits to start charging/discharging\n");
|
|
|
}
|
|
|
- else if(battery_data[slot_id].battery_measurement.voltage < BATTERY_THRESHOLD){
|
|
|
- battery_data[slot_id].battery_state = STATE_EMPTY;
|
|
|
- }
|
|
|
else if((battery_data[slot_id].battery_measurement.voltage >= BATTERY_THRESHOLD) &&
|
|
|
(battery_data[slot_id].battery_measurement.voltage < battery_data[slot_id].min_voltage)){
|
|
|
battery_data[slot_id].battery_state = STATE_BATTERY_DETECTED;
|