mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-04 10:19:29 +02:00
stop equipment before reboot
This commit is contained in:
parent
ed912f349f
commit
7b3594c248
3 changed files with 13 additions and 5 deletions
|
@ -196,16 +196,21 @@ void update_machineryprotection() {
|
||||||
}
|
}
|
||||||
|
|
||||||
//battery pause status begin
|
//battery pause status begin
|
||||||
void setBatteryPause(bool pause_battery, bool pause_CAN, bool emergency_stop) {
|
void setBatteryPause(bool pause_battery, bool pause_CAN, bool emergency_stop, bool store_settings) {
|
||||||
|
|
||||||
// First handle emergency stop / resume
|
// First handle emergency stop / resume
|
||||||
if (emergency_stop && !datalayer.system.settings.equipment_stop_active) {
|
if (emergency_stop && !datalayer.system.settings.equipment_stop_active) {
|
||||||
datalayer.system.settings.equipment_stop_active = true;
|
datalayer.system.settings.equipment_stop_active = true;
|
||||||
store_settings_emergency_stop();
|
if (store_settings) {
|
||||||
|
store_settings_emergency_stop();
|
||||||
|
}
|
||||||
|
|
||||||
set_event(EVENT_EMERGENCY_STOP, 1);
|
set_event(EVENT_EMERGENCY_STOP, 1);
|
||||||
} else if (!emergency_stop && datalayer.system.settings.equipment_stop_active) {
|
} else if (!emergency_stop && datalayer.system.settings.equipment_stop_active) {
|
||||||
datalayer.system.settings.equipment_stop_active = false;
|
datalayer.system.settings.equipment_stop_active = false;
|
||||||
store_settings_emergency_stop();
|
if (store_settings) {
|
||||||
|
store_settings_emergency_stop();
|
||||||
|
}
|
||||||
clear_event(EVENT_EMERGENCY_STOP);
|
clear_event(EVENT_EMERGENCY_STOP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ extern void store_settings_emergency_stop();
|
||||||
void update_machineryprotection();
|
void update_machineryprotection();
|
||||||
|
|
||||||
//battery pause status begin
|
//battery pause status begin
|
||||||
void setBatteryPause(bool pause_battery, bool pause_CAN, bool emergency_stop = false);
|
void setBatteryPause(bool pause_battery, bool pause_CAN, bool emergency_stop = false, bool store_settings = true);
|
||||||
void emulator_pause_state_send_CAN_battery();
|
void emulator_pause_state_send_CAN_battery();
|
||||||
std::string get_emulator_pause_status();
|
std::string get_emulator_pause_status();
|
||||||
//battery pause status end
|
//battery pause status end
|
||||||
|
|
|
@ -344,7 +344,10 @@ void init_webserver() {
|
||||||
if (WEBSERVER_AUTH_REQUIRED && !request->authenticate(http_username, http_password))
|
if (WEBSERVER_AUTH_REQUIRED && !request->authenticate(http_username, http_password))
|
||||||
return request->requestAuthentication();
|
return request->requestAuthentication();
|
||||||
request->send(200, "text/plain", "Rebooting server...");
|
request->send(200, "text/plain", "Rebooting server...");
|
||||||
//TODO: Should we handle contactors gracefully? Ifdef CONTACTOR_CONTROL then what?
|
|
||||||
|
//Equipment STOP without persisting the emergency state before restart
|
||||||
|
// Max Charge/Discharge = 0; CAN = stop; contactors = open
|
||||||
|
setBatteryPause(true, true, true, false);
|
||||||
delay(1000);
|
delay(1000);
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue