|
|
@@ -1,13 +1,48 @@ |
|
|
|
#!/usr/bin/env python |
|
|
|
|
|
|
|
__author__ = 'John-Mark Gurney' |
|
|
|
__copyright__ = 'Copyright 2017 John-Mark Gurney. All rights reserved.' |
|
|
|
__license__ = '2-clause BSD license' |
|
|
|
|
|
|
|
# Copyright 2017, John-Mark Gurney |
|
|
|
# All rights reserved. |
|
|
|
# |
|
|
|
# Redistribution and use in source and binary forms, with or without |
|
|
|
# modification, are permitted provided that the following conditions are met: |
|
|
|
# |
|
|
|
# 1. Redistributions of source code must retain the above copyright notice, this |
|
|
|
# list of conditions and the following disclaimer. |
|
|
|
# 2. Redistributions in binary form must reproduce the above copyright notice, |
|
|
|
# this list of conditions and the following disclaimer in the documentation |
|
|
|
# and/or other materials provided with the distribution. |
|
|
|
# |
|
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
|
|
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
|
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
|
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR |
|
|
|
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|
|
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
|
|
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|
|
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
|
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
|
|
# |
|
|
|
# The views and conclusions contained in the software and documentation are those |
|
|
|
# of the authors and should not be interpreted as representing official policies, |
|
|
|
# either expressed or implied, of the Project. |
|
|
|
|
|
|
|
import mock |
|
|
|
import serial |
|
|
|
import unittest |
|
|
|
import threading |
|
|
|
import time |
|
|
|
|
|
|
|
__all__ = [ 'DenonAVR' ] |
|
|
|
|
|
|
|
class DenonAVR(object): |
|
|
|
def __init__(self, serdev): |
|
|
|
'''Specify the serial device connected to the Denon AVR.''' |
|
|
|
|
|
|
|
self._ser = serial.serial_for_url(serdev, baudrate=9600, |
|
|
|
timeout=.5) |
|
|
|
self._power = None |
|
|
@@ -192,7 +227,8 @@ class DenonAVR(object): |
|
|
|
return event |
|
|
|
|
|
|
|
def update(self): |
|
|
|
'''Update the status of the AVR.''' |
|
|
|
'''Update the status of the AVR. This ensures that the |
|
|
|
state of the object matches the amp.''' |
|
|
|
|
|
|
|
self._sendcmd('PW', '?') |
|
|
|
self._sendcmd('MV', '?') |
|
|
|