Browse Source

Add a remote for the Xbox 360.

Douglas William Thrift 8 years ago
parent
commit
8001b6baa9
3 changed files with 50 additions and 9 deletions
  1. 1 0
      remote/__init__.py
  2. 46 0
      remote/xbox360.py
  3. 3 9
      usbuirt.py

+ 1 - 0
remote/__init__.py

@@ -33,3 +33,4 @@ def ir_command(method):
     return command
 
 from remote.vornado import VornadoRemote
+from remote.xbox360 import Xbox360Remote

+ 46 - 0
remote/xbox360.py

@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+# DT Home
+# Xbox 360 Remote
+#
+# Douglas Thrift
+#
+# xbox360.py
+
+#  Copyright 2012 Douglas Thrift
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+import remote
+
+class Xbox360Remote(remote.Remote):
+    @remote.ir_command
+    def power_on(self):
+        return '''
+            0000 0073 0000 0021 0060 0020 0010 0010 0010 0010 0010 0020 0010
+            0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010
+            0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010
+            0010 0010 0010 0010 0020 0020 0010 0010 0010 0010 0020 0020 0020
+            0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010
+            0020 0010 0010 0010 09AC
+        '''
+
+    @remote.ir_command
+    def power_off(self):
+        return '''
+            0000 0073 0000 0022 0060 0020 0010 0010 0010 0010 0010 0020 0010
+            0020 0030 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010
+            0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020 0010 0010
+            0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020
+            0020 0020 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0020
+            0010 0010 0020 0010 0010 0010 09AC
+        '''

+ 3 - 9
usbuirt.py

@@ -49,17 +49,11 @@ class UUINFO(ctypes.Structure):
     ]
 
 if __name__ == '__main__':
+    import sys
+
     uuirtdrv = ctypes.WinDLL('uuirtdrv', use_last_error = True)
     handle = uuirtdrv.UUIRTOpen()
 
-    print handle
-    print uuirtdrv.UUIRTTransmitIR(handle, '''
-        0000 006E 0022 0002 0155 00AA 0015 0016 0015 0016 0015 0040 0015 0016
-        0015 0016 0015 0016 0015 0016 0015 0016 0015 0040 0015 0040 0015 0016
-        0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040
-        0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016
-        0015 0016 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040
-        0015 05EC 0155 0055 0015 0E34
-    ''', UUIRTDRV_IRFMT_PRONTO, 1, 0, None, None, None)
+    uuirtdrv.UUIRTTransmitIR(handle, ' '.join(sys.argv[1:]), UUIRTDRV_IRFMT_PRONTO, 1, 0, None, None, None)
 
     uuirtdrv.UUIRTClose(handle)