Browse Source

Inheritance structure set up.

pyserial_fix
Scott Petersen 11 years ago
parent
commit
4927628f3e
1 changed files with 38 additions and 29 deletions
  1. +38
    -29
      pyad2usb/devices.py

+ 38
- 29
pyad2usb/devices.py View File

@@ -7,16 +7,43 @@ from pyftdi.pyftdi.usbtools import *
from . import util
from .event import event

class USBDevice(object):
FTDI_VENDOR_ID = 0x0403
FTDI_PRODUCT_ID = 0x6001
BAUDRATE = 115200

class Device(object):
on_open = event.Event('Called when the device has been opened')
on_close = event.Event('Called when the device has been closed')
on_read = event.Event('Called when a line has been read from the device')
on_write = event.Event('Called when data has been written to the device')

def __init__(self):
pass

def __del__(self):
pass

class ReadThread(threading.Thread):
def __init__(self, device):
threading.Thread.__init__(self)
self._device = device
self._running = False

def stop(self):
self._running = False

def run(self):
self._running = True

while self._running:
try:
self._device.read_line()
except util.CommError, err:
self.stop()

time.sleep(0.25)

class USBDevice(Device):
FTDI_VENDOR_ID = 0x0403
FTDI_PRODUCT_ID = 0x6001
BAUDRATE = 115200

@staticmethod
def find_all():
devices = []
@@ -29,6 +56,8 @@ class USBDevice(object):
return devices

def __init__(self, vid=FTDI_VENDOR_ID, pid=FTDI_PRODUCT_ID, serial=None, description=None):
Device.__init__(self)

self._vendor_id = vid
self._product_id = pid
self._serial_number = serial
@@ -37,7 +66,7 @@ class USBDevice(object):
self._device = Ftdi()
self._running = False

self._read_thread = USBDevice.ReadThread(self)
self._read_thread = Device.ReadThread(self)

def open(self, baudrate=BAUDRATE, interface=0, index=0):
self._running = True
@@ -115,37 +144,17 @@ class USBDevice(object):

return ret

class ReadThread(threading.Thread):
def __init__(self, device):
threading.Thread.__init__(self)
self._device = device
self._running = False

def stop(self):
self._running = False

def run(self):
self._running = True

while self._running:
try:
self._device.read_line()
except util.CommError, err:
self.stop()

time.sleep(0.25)


class SerialDevice(object):
class SerialDevice(Device):
BAUDRATE = 9600

def __init__(self):
pass
Device.__init__(self)

def __del__(self):
pass

def open(self, port, baudrate=BAUDRATE):
def open(self, baudrate=BAUDRATE, interface="COM1", index=0):
pass

def close(self):


Loading…
Cancel
Save