def __init__(self, addr, port=2048): af,typ,proto,name,sa = getaddrinfo(addr,port,AF_UNSPEC,SOCK_STREAM)[0] self.sock = socket(af,typ,proto) self.sock.connect(sa) JennicProtocol.__init__(self) self.preferedblocksize=0xff self.addr=0x00
def __init__(self, addr, port=2048): af, typ, proto, name, sa = getaddrinfo(addr, port, AF_UNSPEC, SOCK_STREAM)[0] self.sock = socket(af, typ, proto) self.sock.connect(sa) JennicProtocol.__init__(self) self.preferedblocksize = 0xff self.addr = 0x00
def __init__(self, devname): self.DEFAULT_TIMEOUT = .2 self.MAX_TIMEOUT = 10 if devname == None: devname = '/dev/ttyUSB0' sys.stdout.write("waiting for %s.." % devname) sys.stdout.flush() while True: f = -1 try: f = open(devname) except IOError: pass else: break sys.stdout.write("done\n") self.ser = Serial(devname, 38400, timeout=.01, parity=PARITY_NONE, stopbits=1, bytesize=8, rtscts=0, dsrdtr=0) # make sure that the baudrate is set! self.ser.setBaudrate(115200) self.ser.setBaudrate(38400) # switch to programming mode for boards that support it, atm # there is the jnode and jbee platform self.ser.setDTR(0) sleep(.01) self.ser.setDTR(1) sleep(.2) # read everything that is clogging up the input buffer, until we can # be sure that we are in programming mode. sys.stdout.write("waiting until queues are emtpy..") sys.stdout.flush() while self.ser.inWaiting(): self.ser.read(self.ser.inWaiting()) sleep(.5) sys.stdout.write("done\n") # switch to maximum baudrate self.ser.write(pack("<BBBB", 3, 0x27, 1, self.crc([3, 0x27, 1], 3))) self.ser.read(3) self.ser.setBaudrate(1000000) JennicProtocol.__init__(self)
def __init__(self, device=None, initbaud=38400, progbaud=1000000, reset=-1, spimiso=-1): GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(spimiso, GPIO.OUT) GPIO.setup(reset, GPIO.OUT) self.INITBAUD, self.PROGBAUD = int(initbaud), int(progbaud) self.DEVICE = device self.RESET, self.SPIMISO, = reset, spimiso self.DEFAULT_TIMEOUT = .2 self.MAX_TIMEOUT = 10 JennicProtocol.__init__(self)
def __init__(self, device=None, initbaud=38400, progbaud=1000000): vid, pid, iserial = usbutils.query_usb_id(device) devserials= ftd2xx.listDevices(); dev = None for i, sn in enumerate(devserials): if sn == iserial.encode(): dev = ftd2xx.getDeviceInfoDetail(i) break if dev == None: raise Exception(device + " not found") self.INITBAUD, self.PROGBAUD = int(initbaud), int(progbaud) self.SERIAL = iserial JennicProtocol.__init__(self)
def __init__(self, pid=0x6001, devno=1, flag=None, baud_fast=True, ftdi_obj=None): self.DEFAULT_TIMEOUT = 1 # 100 for debug self.MAX_TIMEOUT = 3 # 100 fpr debug self.MAX_TIMEOUT_ERASEFULL = 8 self.MAX_TIMEOUT_ERASESECT = 2 self.BAUD_DEFAULT = 38400 self.b_ftdi_obj = False self.devno = 1 self.pid = pid self.isopen = False self.baud_fast = baud_fast if ftdi_obj is not None: self.ser = ftdi_obj self.b_ftdi_obj = True self.isopen = True else: if pid == None: pid = self.PRODICT_ID self.devno = None if devno.__class__ == int: self.devno = devno elif devno.__class__ == str: pass #self.devno = find_devno_by_serial(self.VENDOR_ID, pid, devno) else: self.devno = 1 self.pid = pid self.isopen = False self.baud_fast = baud_fast self.ser = Ftdi() self.open(baud=self.BAUD_DEFAULT) self.dev_prog() self.baud_default_to_fast() JennicProtocol.__init__(self)
def __init__(self, devname): self.DEFAULT_TIMEOUT = .2 self.MAX_TIMEOUT = 10 if devname==None: devname='/dev/ttyUSB0' sys.stdout.write("waiting for %s.."%devname) sys.stdout.flush() while True: f=-1 try: f=open(devname) except IOError: pass else: break sys.stdout.write("done\n") self.ser = Serial(devname, 38400, timeout=.01, parity=PARITY_NONE, stopbits=1, bytesize=8, rtscts=0, dsrdtr=0) # make sure that the baudrate is set! self.ser.setBaudrate(115200) self.ser.setBaudrate(38400) # switch to programming mode for boards that support it, atm # there is the jnode and jbee platform self.ser.setDTR(0); sleep(.01); self.ser.setDTR(1); sleep(.2) # read everything that is clogging up the input buffer, until we can # be sure that we are in programming mode. sys.stdout.write("waiting until queues are emtpy..") sys.stdout.flush() while self.ser.inWaiting(): self.ser.read(self.ser.inWaiting()) sleep(.5) sys.stdout.write("done\n") # switch to maximum baudrate #self.ser.write(pack("<BBBB", 3,0x27,1,self.crc([3,0x27,1],3))) #self.ser.read(3) #self.ser.setBaudrate(1000000) JennicProtocol.__init__(self)
def __init__(self, RESET=5, SPIMISO=4): self.f = Ftdi() self.RESET, self.SPIMISO, self.NONE = 1<<RESET, 1<<SPIMISO, 0x00 try: # Teco usbbridge self.f.usb_open(0x0403, 0xcc40) except: try: # FT232 chips self.f.usb_open(0x0403, 0x6001) except: # FT2232 chips self.f.usb_open(0x0403, 0x6010) # clear crap self.f.usb_reset() self.f.usb_purge_buffers() self.f.usb_purge_buffers() crap = cArray(1024) self.f.read_data(crap, 1024) self.enterprogrammingmode() self.doreset = 1 # clear crap self.f.usb_reset() self.f.usb_purge_buffers() self.f.usb_purge_buffers() crap = cArray(1024) self.f.read_data(crap, 1024) self.f.set_baudrate(38400) self.f.set_line_property(NONE, STOP_BIT_1, BITS_8) self.f.setrts(1) self.f.setflowctrl(SIO_RTS_CTS_HS) self.f.setrts(0) JennicProtocol.__init__(self)
def __init__(self, RESET=5, SPIMISO=4): self.f = Ftdi() self.RESET, self.SPIMISO, self.NONE = 1 << RESET, 1 << SPIMISO, 0x00 try: # Teco usbbridge self.f.usb_open(0x0403, 0xcc40) except: try: # FT232 chips self.f.usb_open(0x0403, 0x6001) except: # FT2232 chips self.f.usb_open(0x0403, 0x6010) # clear crap self.f.usb_reset() self.f.usb_purge_buffers() self.f.usb_purge_buffers() crap = cArray(1024) self.f.read_data(crap, 1024) self.enterprogrammingmode() self.doreset = 1 # clear crap self.f.usb_reset() self.f.usb_purge_buffers() self.f.usb_purge_buffers() crap = cArray(1024) self.f.read_data(crap, 1024) self.f.set_baudrate(38400) self.f.set_line_property(NONE, STOP_BIT_1, BITS_8) self.f.setrts(1) self.f.setflowctrl(SIO_RTS_CTS_HS) self.f.setrts(0) JennicProtocol.__init__(self)