Skip to content
Snippets Groups Projects
Commit bfe915db authored by Jan David Mol's avatar Jan David Mol
Browse files

Don't error if transitioning to a state we're already in. Explicitly reboot...

Don't error if transitioning to a state we're already in. Explicitly reboot software devices to make sure their state is as expected
parent cecff728
No related branches found
No related tags found
1 merge request!743Busy-day fixes 2023-09-22
......@@ -41,9 +41,6 @@ class PowerHierarchyDevice(AbstractHierarchyDevice):
def _boot_device(self, device: DeviceProxy):
"""Default sequence of device booting operations"""
if device.state() == DevState.ON:
logger.info(f"Booting {device}: Succesful: It's already ON?")
return
logger.info(f"Booting {device}: off()")
device.off()
......
......@@ -195,6 +195,9 @@ class StationManager(LOFARDevice):
Switch the station into OFF state.
It can only be executed from state HIBERNATE.
"""
if self.station_state == StationState.OFF:
return
if not self._is_transition_allowed(StationState.OFF):
raise Exception(f"Station did not transition to {StationState.OFF.name}")
......@@ -214,6 +217,9 @@ class StationManager(LOFARDevice):
Switch the station into HIBERNATE state.
It can only be executed from either state OFF or STANDBY.
"""
if self.station_state == StationState.HIBERNATE:
return
if not self._is_transition_allowed(StationState.HIBERNATE):
raise Exception(
f"Station did not transition to {StationState.HIBERNATE.name}"
......@@ -247,6 +253,9 @@ class StationManager(LOFARDevice):
Switch the station into STANDBY state.
It can only be executed from either state HIBERNATE or ON.
"""
if self.station_state == StationState.STANDBY:
return
if not self._is_transition_allowed(StationState.STANDBY):
raise Exception(
f"Station did not transition to {StationState.STANDBY.name}"
......@@ -278,6 +287,9 @@ class StationManager(LOFARDevice):
Switch the station into ON state.
It can only be executed from state STANDBY.
"""
if self.station_state == StationState.ON:
return
if not self._is_transition_allowed(StationState.ON):
raise Exception(f"Station did not transition to {StationState.ON.name}")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment