|
6 | 6 | from science_mode_4.layer import Layer |
7 | 7 | from science_mode_4.protocol.commands import Commands |
8 | 8 | from science_mode_4.utils.logger import logger |
9 | | -from .dyscom_types import DyscomFrequencyOut, DyscomGetOperationModeType, DyscomPowerModuleType,\ |
10 | | - DyscomPowerModulePowerType, DyscomSignalType, DyscomSysType |
| 9 | +from .dyscom_types import DyscomFrequencyOut, DyscomGetOperationModeType, DyscomInitState, DyscomPowerModuleType,\ |
| 10 | + DyscomPowerModulePowerType, DyscomSignalType, DyscomSysState, DyscomSysType |
11 | 11 | from .dyscom_init import DyscomInitResult, PacketDyscomInit, PacketDyscomInitAck, DyscomInitParams |
12 | 12 | from .dyscom_get_file_system_status import PacketDyscomGetFileSystemStatus, PacketDyscomGetAckFileSystemStatus,\ |
13 | 13 | DyscomGetFileSystemStatusResult |
@@ -36,6 +36,9 @@ async def init(self, params: DyscomInitParams) -> DyscomInitResult: |
36 | 36 | p = PacketDyscomInit(params) |
37 | 37 | ack: PacketDyscomInitAck = await self.send_packet_and_wait(p) |
38 | 38 | self._check_result_error(ack.result_error, "DyscomInit") |
| 39 | + if ack.init_state not in [DyscomInitState.UNUSED, DyscomInitState.SUCCESS]: |
| 40 | + raise ValueError(f"Dyscom error init {ack.init_state.name}") |
| 41 | + |
39 | 42 | logger().info("Dyscom init, measurement_file_id: %s, state: %s, frequency: %s",\ |
40 | 43 | ack.measurement_file_id, ack.init_state.name, ack.frequency_out.name) |
41 | 44 | return DyscomInitResult(ack.register_map_ads129x, ack.measurement_file_id, ack.init_state, ack.frequency_out) |
@@ -139,6 +142,9 @@ async def sys(self, sys_type: DyscomSysType, filename: str = "") -> DyscomSysRes |
139 | 142 | p = PacketDyscomSys(sys_type, filename) |
140 | 143 | ack: PacketDyscomSysAck = await self.send_packet_and_wait(p) |
141 | 144 | self._check_result_error(ack.result_error, "DyscomSys") |
| 145 | + if ack.state not in [DyscomSysState.SUCCESSFUL]: |
| 146 | + raise ValueError(f"Dyscom error sys {ack.state.name}") |
| 147 | + |
142 | 148 | logger().info("Dyscom sys, type: %s, state: %s, filename: %s", ack.sys_type.name, ack.state.name, ack.filename) |
143 | 149 | return DyscomSysResult(ack.sys_type, ack.state, ack.filename) |
144 | 150 |
|
|
0 commit comments