Index: leahi_dialin/td/modules/alarms.py =================================================================== diff -u -r34b64ff2d8a64f4b7b60b80bb7cf4c36845e5943 -r27cd8e0e7b47617083e8c12f73306f0ba648e687 --- leahi_dialin/td/modules/alarms.py (.../alarms.py) (revision 34b64ff2d8a64f4b7b60b80bb7cf4c36845e5943) +++ leahi_dialin/td/modules/alarms.py (.../alarms.py) (revision 27cd8e0e7b47617083e8c12f73306f0ba648e687) @@ -176,7 +176,6 @@ self.process_into_vars(decoder_list = msg_list, message = message) - self.td_alarm_status_timestamp = timestamp @@ -191,15 +190,8 @@ @return: none """ self.logger.debug("Alarm activated!") - alarm_id:int - data_typ_1:int - data_1:int - data_typ_2:int - data_2:int - priority:int - rank:int - clr_top_only:int + result = {} msg_list = [] msg_list.append(('alarm_id', DataTypes.U32)) msg_list.append(('data_typ_1', DataTypes.U32)) @@ -217,24 +209,23 @@ if isinstance(msg_detail[1], DataTypes): unpack_attrib = msg_detail[1].unpack_attrib() else: - data_type_val:int - exec(f'data_type_val = {msg_detail[1]}') - unpack_attrib = DataTypes(data_type_val).unpack_attrib() - value = struct.unpack(unpack_attrib,bytearray(message['message'][start_pos:end_pos]))[0] - exec(f'{msg_detail[0]} = {value}') + unpack_attrib = DataTypes(result[msg_detail[1]]).unpack_attrib() + + value = struct.unpack(unpack_attrib, bytearray(message['message'][start_pos:end_pos]))[0] + result[msg_detail[0]] = value i += 1 - self.logger.debug("Alarm ID: %d %d %d" % (alarm_id[0], data_1[0], data_2[0])) - self.alarm_states[alarm_id] = True - self.alarm_conditions[alarm_id] = True - self.alarm_priorities[alarm_id] = priority - self.alarm_ranks[alarm_id] = rank - self.alarm_clear_top_only_flags[alarm_id] = clr_top_only - self.alarm_data[alarm_id] = [data_1, data_2] - self.last_alarm_triggered = alarm_id - self.last_alarm_data_1 = data_1 - self.last_alarm_data_2 = data_2 - self.dd_alarm_triggered_timestamp = timestamp + self.logger.debug("Alarm ID: %d %d %d" % (result['alarm_id'], result['data_1'], result['data_2'])) + self.alarm_states[result['alarm_id']] = True + self.alarm_conditions[result['alarm_id']] = True + self.alarm_priorities[result['alarm_id']] = result['priority'] + self.alarm_ranks[result['alarm_id']] = result['rank'] + self.alarm_clear_top_only_flags[result['alarm_id']] = result['clr_top_only'] + self.alarm_data[result['alarm_id']] = [result['data_1'], result['data_2']] + self.last_alarm_triggered = result['alarm_id'] + self.last_alarm_data_1 = result['data_1'] + self.last_alarm_data_2 = result['data_2'] + self.td_alarm_triggered_timestamp = timestamp @publish(["msg_id_td_alarm_cleared", "alarm_states", "alarm_conditions", "TD_alarm_cleared_timestamp"]) @@ -245,15 +236,13 @@ @param message: published TD alarm clear message @return: none """ - alarm_id: int msg_list = [] msg_list.append(('alarm_id', DataTypes.U32)) - self.process_into_vars(decoder_list = msg_list, - message = message) - - self.alarm_states[alarm_id] = False - self.alarm_conditions[alarm_id] = False + result = self.process_into_vars(decoder_list = msg_list, + message = message) + self.alarm_states[result['alarm_id']] = False + self.alarm_conditions[result['alarm_id']] = False self.td_alarm_cleared_timestamp = timestamp @@ -265,14 +254,13 @@ @param message: published TD alarm clear alarm condition message @return: none """ - alarm_id: int msg_list = [] msg_list.append(('alarm_id', DataTypes.U32)) - self.process_into_vars(decoder_list = msg_list, - message = message) + result = self.process_into_vars(decoder_list = msg_list, + message = message) - self.alarm_conditions[alarm_id] = False + self.alarm_conditions[result['alarm_id']] = False self.td_alarm_clr_condition_timestamp = timestamp @@ -295,12 +283,12 @@ msg_list.append(('self.safety_shutdown_active', DataTypes.BOOL)) msg_list.append(('self.ac_power_lost', DataTypes.BOOL)) sensor_list = [] - sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_RESUME.value, DataTypes.BOOL)) - sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_RINSEBACK.value, DataTypes.BOOL)) - sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_END_TREATMENT.value, DataTypes.BOOL)) - sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_RESUME.value, DataTypes.BOOL)) - sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_RINSEBACK.value, DataTypes.BOOL)) - sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_END_TREATMENT.value, DataTypes.BOOL)) + sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_RESUME.value, DataTypes.BOOL_U08)) + sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_RINSEBACK.value, DataTypes.BOOL_U08)) + sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_END_TREATMENT.value, DataTypes.BOOL_U08)) + sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_RESUME.value, DataTypes.BOOL_U08)) + sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_RINSEBACK.value, DataTypes.BOOL_U08)) + sensor_list.append((self.AlarmResponseButtons.TD_ALARM_RESPONSE_BUTTON_END_TREATMENT.value, DataTypes.BOOL_U08)) self.process_into_vars(decoder_list = msg_list, message = message)