mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-04 02:09:30 +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
|
||||
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
|
||||
if (emergency_stop && !datalayer.system.settings.equipment_stop_active) {
|
||||
datalayer.system.settings.equipment_stop_active = true;
|
||||
store_settings_emergency_stop();
|
||||
if (store_settings) {
|
||||
store_settings_emergency_stop();
|
||||
}
|
||||
|
||||
set_event(EVENT_EMERGENCY_STOP, 1);
|
||||
} else if (!emergency_stop && datalayer.system.settings.equipment_stop_active) {
|
||||
datalayer.system.settings.equipment_stop_active = false;
|
||||
store_settings_emergency_stop();
|
||||
if (store_settings) {
|
||||
store_settings_emergency_stop();
|
||||
}
|
||||
clear_event(EVENT_EMERGENCY_STOP);
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ extern void store_settings_emergency_stop();
|
|||
void update_machineryprotection();
|
||||
|
||||
//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();
|
||||
std::string get_emulator_pause_status();
|
||||
//battery pause status end
|
||||
|
|
|
@ -344,7 +344,10 @@ void init_webserver() {
|
|||
if (WEBSERVER_AUTH_REQUIRED && !request->authenticate(http_username, http_password))
|
||||
return request->requestAuthentication();
|
||||
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);
|
||||
ESP.restart();
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue