usbuirt.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/usr/bin/env python
  2. # DT Home
  3. # USB UIRT
  4. #
  5. # Douglas Thrift
  6. #
  7. # usbuirt.py
  8. import ctypes
  9. UUIRTDRV_ERR_NO_DEVICE = 0x20000001
  10. UUIRTDRV_ERR_NO_RESP = 0x20000002
  11. UUIRTDRV_ERR_NO_DLL = 0x20000003
  12. UUIRTDRV_ERR_VERSION = 0x20000004
  13. UUIRTDRV_CFG_LEDRX = 0x0001
  14. UUIRTDRV_CFG_LEDTX = 0x0002
  15. UUIRTDRV_CFG_LEGACYRX = 0x0004
  16. UUIRTDRV_IRFMT_UUIRT = 0x0000
  17. UUIRTDRV_IRFMT_PRONTO = 0x0010
  18. UUIRTDRV_IRFMT_LEARN_FORCERAW = 0x0100
  19. UUIRTDRV_IRFMT_LEARN_FORCESTRUC = 0x0200
  20. UUIRTDRV_IRFMT_LEARN_FORCEFREQ = 0x0400
  21. UUIRTDRV_IRFMT_LEARN_FREQDETECT = 0x0800
  22. class UUINFO(ctypes.Structure):
  23. _fields_ = [
  24. ('fwVersion', ctypes.c_uint),
  25. ('protVersion', ctypes.c_uint),
  26. ('fwDateDay', ctypes.c_ubyte),
  27. ('fwDateMonth', ctypes.c_ubyte),
  28. ('fwDateYear', ctypes.c_ubyte),
  29. ]
  30. if __name__ == '__main__':
  31. uuirtdrv = ctypes.WinDLL('uuirtdrv', use_last_error = True)
  32. handle = uuirtdrv.UUIRTOpen()
  33. print handle
  34. print uuirtdrv.UUIRTTransmitIR(handle, '''
  35. 0000 006E 0022 0002 0155 00AA 0015 0016 0015 0016 0015 0040 0015 0016
  36. 0015 0016 0015 0016 0015 0016 0015 0016 0015 0040 0015 0040 0015 0016
  37. 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040
  38. 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016
  39. 0015 0016 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040 0015 0040
  40. 0015 05EC 0155 0055 0015 0E34
  41. ''', UUIRTDRV_IRFMT_PRONTO, 1, 0, None, None, None)
  42. uuirtdrv.UUIRTClose(handle)