def __selectMeter(self, num): """ Select giver meter """ if ftdi_type == 0: self.__ftdi.selectPort(usb_port[num]) else: err = ftdi.set_bitmode(globals.ftdi_context, usb_port[num], ftdi.BITMODE_CBUS) if err < 0: logging.error("Can't set bitmode (%d, %s)" % (err, ftdi.get_error_string(globals.ftdi_context))) raise FtdiError("Can't set bitmode (%d, %s)" % (err, ftdi.get_error_string(globals.ftdi_context))) time.sleep(0.1)
def __selectMeter(self, num): """ Select giver meter """ if FTDI_TYPE == 0: self.__ftdi.selectPort(USB_PORT[num]) else: err = ftdi.set_bitmode(self.context, USB_PORT[num], ftdi.BITMODE_CBUS) if err < 0: self._log.error("Can't set bitmode (%d, %s)" % (err, ftdi.get_error_string(self.context))) raise FtdiError("Can't set bitmode (%d, %s)" % (err, ftdi.get_error_string(self.context))) time.sleep(0.1)
print 'Device #%d: manufacturer="%s" description="%s" serial="%s"\n' % ( i, manufacturer, description, serial ) curnode = curnode.next i += 1 # open usb ret = ftdi.usb_open( ftdic, DEVICE_VID, DEVICE_PID ) if ret < 0: print 'unable to open ftdi device: %d (%s)' % ( ret, ftdi.get_error_string( ftdic ) ) os._exit( 1 ) # read chip id #ret, chipid = ftdi.read_chipid( ftdic ) #print 'FDTI chip id: %X\n' % chipid # MPSSE Mode ret = ftdi.set_bitmode( ftdic, 0xFF, ftdi.BITMODE_RESET ) if ret < 0: print 'Cannot reset MPSSE' os._exit( 1 ) time.sleep( 0.1 ) ret = ftdi.set_bitmode( ftdic, 0xFF, ftdi.BITMODE_MPSSE ) if ret < 0: print 'Cannot enable MPSSE Mode' os._exit( 1 ) # enable Clock-Divider which will set SK to 6MHz cmd = [ftdi.EN_DIV_5] chrcmd = "" for i in range(len(cmd)): chrcmd += chr(cmd[i]) print "Clock Divisor Disable ret =", ftdi.write_data( ftdic, chrcmd, len(chrcmd) ), "\n"
ret, ftdi.get_error_string(ftdic)) os._exit(1) print 'Device #%d: manufacturer="%s" description="%s" serial="%s"\n' % ( i, manufacturer, description, serial) curnode = curnode.next i += 1 # open usb ret = ftdi.usb_open(ftdic, 0x0403, 0x6001) if ret < 0: print 'unable to open ftdi device: %d (%s)' % ( ret, ftdi.get_error_string(ftdic)) os._exit(1) # bitbang ret = ftdi.set_bitmode(ftdic, 0xff, ftdi.BITMODE_BITBANG) if ret < 0: print 'Cannot enable bitbang' os._exit(1) print 'turning everything on' ftdi.write_data(ftdic, chr(0xff), 1) time.sleep(1) print 'turning everything off\n' ftdi.write_data(ftdic, chr(0x00), 1) time.sleep(1) for i in range(8): val = 2**i print 'enabling bit #%d (0x%02x)' % (i, val) ftdi.write_data(ftdic, chr(val), 1) time.sleep(1) ftdi.disable_bitbang(ftdic)
curnode = curnode.next i += 1 # open usb ret = ftdi.usb_open(ftdic, DEVICE_VID, DEVICE_PID) if ret < 0: print 'unable to open ftdi device: %d (%s)' % ( ret, ftdi.get_error_string(ftdic)) os._exit(1) # read chip id #ret, chipid = ftdi.read_chipid( ftdic ) #print 'FDTI chip id: %X\n' % chipid # MPSSE Mode ret = ftdi.set_bitmode(ftdic, 0xFF, ftdi.BITMODE_RESET) if ret < 0: print 'Cannot reset MPSSE' os._exit(1) time.sleep(0.1) ret = ftdi.set_bitmode(ftdic, 0xFF, ftdi.BITMODE_MPSSE) if ret < 0: print 'Cannot enable MPSSE Mode' os._exit(1) # enable Clock-Divider which will set SK to 6MHz cmd = [ftdi.EN_DIV_5] chrcmd = "" for i in range(len(cmd)): chrcmd += chr(cmd[i]) print "Clock Divisor Disable ret =", ftdi.write_data(
if ret < 0: print 'ftdi_usb_get_strings failed: %d (%s)' % ( ret, ftdi.get_error_string( ftdic ) ) os._exit( 1 ) print 'Device #%d: manufacturer="%s" description="%s" serial="%s"\n' % ( i, manufacturer, description, serial ) curnode = curnode.next i += 1 # open usb ret = ftdi.usb_open( ftdic, 0x0403, 0x6001 ) if ret < 0: print 'unable to open ftdi device: %d (%s)' % ( ret, ftdi.get_error_string( ftdic ) ) os._exit( 1 ) # bitbang ret = ftdi.set_bitmode( ftdic, 0xff, ftdi.BITMODE_BITBANG ) if ret < 0: print 'Cannot enable bitbang' os._exit( 1 ) print 'turning everything on' ftdi.write_data( ftdic, chr(0xff), 1 ) time.sleep( 1 ) print 'turning everything off\n' ftdi.write_data( ftdic, chr(0x00), 1 ) time.sleep( 1 ) for i in range( 8 ): val = 2**i print 'enabling bit #%d (0x%02x)' % (i, val) ftdi.write_data( ftdic, chr(val), 1 ) time.sleep ( 1 ) ftdi.disable_bitbang( ftdic )