Index: dialin/hd/alarms.py =================================================================== diff -u -r4b8f0afb5aafc2409327ec47aad264ab500e69f7 -rb1332a9a27e5d7c47d378fef58afaf272cfeb7af --- dialin/hd/alarms.py (.../alarms.py) (revision 4b8f0afb5aafc2409327ec47aad264ab500e69f7) +++ dialin/hd/alarms.py (.../alarms.py) (revision b1332a9a27e5d7c47d378fef58afaf272cfeb7af) @@ -313,6 +313,15 @@ """ return (self.alarms_flags & 16384) > 0 + def clear_dialin_alarms(self): + """ + Clears the alarms states in Dialin. + + @return: none + """ + for x in range(500): + self.alarm_states[x] = False + @publish(["alarms_state", "alarm_top", "alarms_silence_expires_in", "alarms_escalates_in", "alarms_flags"]) def _handler_alarms_status_sync(self, message): """ @@ -339,12 +348,6 @@ message['message'][self.START_POS_ALARMS_FLAGS:self.END_POS_ALARMS_FLAGS]), byteorder=DenaliMessage.BYTE_ORDER) - # if no active alarms from HD, set all alarms (on Dialin side) to False in case we got out of sync - #if self.alarm_top == 0: # TODO check this - if self.alarms_state == 0: - for x in range(500): - self.alarm_states[x] = False - @publish(["alarm_states", "alarm_conditions"]) def _handler_alarm_activate(self, message): """ Index: tests/dg_tests.py =================================================================== diff -u -r4b8f0afb5aafc2409327ec47aad264ab500e69f7 -rb1332a9a27e5d7c47d378fef58afaf272cfeb7af --- tests/dg_tests.py (.../dg_tests.py) (revision 4b8f0afb5aafc2409327ec47aad264ab500e69f7) +++ tests/dg_tests.py (.../dg_tests.py) (revision b1332a9a27e5d7c47d378fef58afaf272cfeb7af) @@ -455,7 +455,7 @@ hd.cmd_hd_software_reset_request() sleep(1) - hd.alarms.cmd_clear_all_alarms() + hd.alarms.clear_dialin_alarms() while True: if hd.hd_operation_mode == HDOpModes.MODE_STAN.value: