Browse Source

Seperated the internal states into their own method.

pyserial_fix
Scott Petersen 11 years ago
parent
commit
1465869322
1 changed files with 21 additions and 21 deletions
  1. +21
    -21
      pyad2usb/ad2usb.py

+ 21
- 21
pyad2usb/ad2usb.py View File

@@ -220,30 +220,11 @@ class AD2USB(object):
if data[0] != '!':
msg = Message(data)

# parse and build stuff
if self._address_mask & msg.mask > 0:
if msg.ac != self._power_status:
self._power_status, old_status = msg.ac, self._power_status
self._update_internal_states(msg)

if old_status is not None:
self.on_power_changed(self._power_status)

if msg.alarm_bell != self._alarm_status:
self._alarm_status, old_status = msg.alarm_bell, self._alarm_status

if old_status is not None:
self.on_alarm(self._alarm_status)

if msg.bypass != self._bypass_status:
self._bypass_status, old_status = msg.bypass, self._bypass_status

if old_status is not None:
self.on_bypass(self._bypass_status)

else:
# specialty messages
else: # specialty messages
header = data[0:4]
#print data

if header == '!EXP' or header == '!REL':
msg = ExpanderMessage(data)
@@ -253,6 +234,25 @@ class AD2USB(object):
if msg:
self.on_message(msg)

def _update_internal_states(self, message):
if message.ac != self._power_status:
self._power_status, old_status = message.ac, self._power_status

if old_status is not None:
self.on_power_changed(self._power_status)

if message.alarm_bell != self._alarm_status:
self._alarm_status, old_status = message.alarm_bell, self._alarm_status

if old_status is not None:
self.on_alarm(self._alarm_status)

if message.bypass != self._bypass_status:
self._bypass_status, old_status = message.bypass, self._bypass_status

if old_status is not None:
self.on_bypass(self._bypass_status)

def _on_open(self, sender, args):
"""
Internal handler for opening the device.


Loading…
Cancel
Save