diff --git a/selfdrive/camerad/snapshot/snapshot.py b/selfdrive/camerad/snapshot/snapshot.py index b7dd300da1..db17b3297c 100755 --- a/selfdrive/camerad/snapshot/snapshot.py +++ b/selfdrive/camerad/snapshot/snapshot.py @@ -11,7 +11,7 @@ import cereal.messaging as messaging from common.params import Params from common.realtime import DT_MDL from common.transformations.camera import eon_f_frame_size, eon_d_frame_size, tici_f_frame_size -from selfdrive.hardware import TICI +from selfdrive.hardware import HARDWARE, TICI from selfdrive.controls.lib.alertmanager import set_offroad_alert from selfdrive.manager.process_config import managed_processes @@ -88,20 +88,23 @@ def snapshot(): os.environ["SEND_ROAD"] = "1" os.environ["SEND_WIDE_ROAD"] = "1" - if front_camera_allowed: os.environ["SEND_DRIVER"] = "1" - managed_processes['camerad'].start() - frame = "wideRoadCameraState" if TICI else "roadCameraState" - front_frame = "driverCameraState" if front_camera_allowed else None - focus_perc_threshold = 0. if TICI else 10 / 12. + try: + HARDWARE.set_power_save(False) + managed_processes['camerad'].start() + frame = "wideRoadCameraState" if TICI else "roadCameraState" + front_frame = "driverCameraState" if front_camera_allowed else None + focus_perc_threshold = 0. if TICI else 10 / 12. - rear, front = get_snapshots(frame, front_frame, focus_perc_threshold) - managed_processes['camerad'].stop() + rear, front = get_snapshots(frame, front_frame, focus_perc_threshold) + finally: + managed_processes['camerad'].stop() + HARDWARE.set_power_save(True) - params.put_bool("IsTakingSnapshot", False) - set_offroad_alert("Offroad_IsTakingSnapshot", False) + params.put_bool("IsTakingSnapshot", False) + set_offroad_alert("Offroad_IsTakingSnapshot", False) if not front_camera_allowed: front = None