def _init_dmx(self): self.ftdi = ftdi.Ftdi() self.ftdi.open(self.vendor_id, self.product_id) self.ftdi.set_baudrate(self.baud_rate) self.ftdi.set_line_property(self.data_bits, self.stop_bits, self.parity, break_=False) self.ftdi.set_flowctrl(self.flow_ctrl) self.ftdi.purge_rx_buffer() self.ftdi.purge_tx_buffer() self.ftdi.set_rts(self.rts_state)
def list_eeprom_devices(self): dev = [] if common_func.OS == 'Linux': self.device = ftdi.Ftdi() dev = self.device.list_devices() return dev elif common_func.OS == 'Windows': dev.append(ftdi.getDeviceInfoDetail()) return dev
def _init_dmx(self): self.ftdi=ftdi.Ftdi() # self.ftdi.open(vendor,product,0) self.ftdi.open_from_url('ftdi:///1') self.ftdi.set_baudrate(self.baud_rate) self.ftdi.set_line_property(self.data_bits,self.stop_bits,self.parity,break_=0) self.ftdi.set_flowctrl(self.flow_ctrl) self.ftdi.purge_rx_buffer() self.ftdi.purge_tx_buffer() self.ftdi.set_rts(self.rts_state)
def __init__(self, invertedArray=False): try: self.inverted = invertedArray self.ftdi = ftdi.Ftdi() self.ftdi.open(VMC96._FTDI_VENDOR_ID, VMC96._FTDI_PRODUCT_ID) self.ftdi.set_baudrate(VMC96._FTDI_BAUD_RATE) self.ftdi.set_line_property(8, 1, 'N') self.ftdi.set_flowctrl('') except usb.core.USBError as e: raise RuntimeError("Error initializing VMC96 Device: " + str(e)) except: raise RuntimeError("Error initializing VMC96 Device")
def init_system(self, desc, ind): if self.type == 1: # i2c mode self.device = common_func.ftdi_open(ind, 1) common_func.ftdic_setbitmode(self.device, 0x0, 0x00) common_func.ftdic_setbitmode(self.device, 0x0, 0x02) else: # serial mode if common_func.OS == 'Windows': self.device = common_func.ftdi_open(ind, 0) elif common_func.OS == 'Linux': self.device = ftdi.Ftdi() self.device.open(vendor=desc[0], product=desc[1], address=desc[3])
def __init__(self, do_slow=False, debug=0, simulation_mode=False): self.Debug = debug self.PageSize = 0 self.OOBSize = 0 self.PageCount = 0 self.BlockCount = 0 self.PagePerBlock = 0 self.BitsPerCell = 0 self.WriteProtect = True self.CheckBadBlock = True self.RemoveOOB = False self.UseSequentialMode = False self.UseAnsi = False self.Slow = do_slow self.Identified = False self.SimulationMode = simulation_mode try: self.ftdi = ftdi.Ftdi() except: print("Error openging FTDI device") self.ftdi = None if self.ftdi is not None: try: self.ftdi.open(0x0403, 0x6010, interface=1) except: traceback.print_exc(file=sys.stdout) if self.ftdi.is_connected: self.ftdi.set_bitmode(0, self.ftdi.BITMODE_MCU) if self.Slow: # Clock FTDI chip at 12MHz instead of 60MHz self.ftdi.write_data( Array('B', [ftdi.Ftdi.ENABLE_CLK_DIV5])) else: self.ftdi.write_data( Array('B', [ftdi.Ftdi.DISABLE_CLK_DIV5])) self.ftdi.set_latency_timer(self.ftdi.LATENCY_MIN) self.ftdi.purge_buffers() self.ftdi.write_data( Array('B', [ftdi.Ftdi.SET_BITS_HIGH, 0x0, 0x1])) self.__wait_ready() if not self.__get_id(): print(f"E: Unable to read the device information") sys.exit(-1)
def Setup(self): """Sets up the FTDI device.""" self.ftdi = ftdi.Ftdi() try: self.ftdi.open(self.DEFAULT_USB_VENDOR, self.DEFAULT_USB_DEVICEID, interface=self.DEFAULT_INTERFACE_NUMBER) except OSError: raise errors.YandException('Could not open FTDI device\n' 'Check USB connections') self.ftdi.set_bitmode(0, ftdi.Ftdi.BITMODE_MCU) self.ftdi.write_data(bytearray([ftdi.Ftdi.DISABLE_CLK_DIV5])) self.ftdi.purge_buffers() self.ftdi.write_data(bytearray([ftdi.Ftdi.SET_BITS_HIGH, 0x0, 0x1])) self.WaitReady()
def _init_dmx(self): self.ftdi = ftdi.Ftdi() self.ftdi.open(vendor, product, 0) if self.ftdi.is_connected: print("ftdi connected") else: print("ftdi not connected") self.ftdi.set_baudrate(self.baud_rate) self.ftdi.set_line_property(self.data_bits, self.stop_bits, self.parity, break_=0) self.ftdi.set_flowctrl(self.flow_ctrl) self.ftdi.purge_rx_buffer() self.ftdi.purge_tx_buffer() self.ftdi.set_rts(self.rts_state)
def list_eeprom_devices(self): dev = [] if common_func.OS == 'Linux': self.device = ftdi.Ftdi() tmp = self.device.list_devices() dev = sorted(tmp, key=lambda tup: tup[0][3], reverse=True) return dev elif common_func.OS == 'Windows': n = ftdi.listDevices() for i, d in enumerate(n): if d != b'': if chr(d[-1]) == 'A': dev.append(ftdi.getDeviceInfoDetail(i)) else: pass return dev
def __init__(self, device=0, timeout=0.5): if USE_SERIAL: if device == 0: raise ValueError("On Windows machines, initiate device with a COM port. (e.g. 'COM5')") self.port = serial.Serial(port=port, baudrate=115200, stopbits=1, timeout=timeout) self._write = self.port.write self._read = self.port.read time.sleep(0.05) self.port.reset_input_buffer() self.port.reset_output_buffer() time.sleep(0.05) self._flush = port.flush() else: if self.USB_PRODUCT_NAME: devs = usb.core.find(find_all=True, manufacturer=self.USB_MANUFACTURER, product=self.USB_PRODUCT_NAME) else: devs = usb.core.find(find_all=True, manufacturer=self.USB_MANUFACTURER) devs = list(devs) # print(devs) if not devs: raise ValueError('USB device not found -- is it connected?') if device >= len(devs): raise ValueError('Requested index (%d) is more than available devices (found %d)' % (device, len(devs))) self.port = ftdi.Ftdi() self.port.open_from_device(devs[device]) self.port.set_baudrate(115200) self.port.set_line_property(8, 1, "N") time.sleep(0.05) self.port.purge_buffers() time.sleep(0.05) self.port.set_flowctrl('hw') self.port.set_rts(True) self._write = self.port.write_data self._read = self.port.read_data self._flush = self.port.purge_buffers
def __init__(self, do_slow=False): self.Slow = do_slow self.UseAnsi = False self.Ftdi = ftdi.Ftdi() try: self.Ftdi.open(0x0403, 0x6010, interface=1) except: traceback.print_exc(file=sys.stdout) return self.Ftdi.set_bitmode(0, self.Ftdi.BITMODE_MCU) if self.Slow: # Clock FTDI chip at 12MHz instead of 60MHz self.Ftdi.write_data(Array('B', [ftdi.Ftdi.ENABLE_CLK_DIV5])) else: self.Ftdi.write_data(Array('B', [ftdi.Ftdi.DISABLE_CLK_DIV5])) self.Ftdi.set_latency_timer(self.Ftdi.LATENCY_MIN) self.Ftdi.purge_buffers() self.Ftdi.write_data(Array('B', [ftdi.Ftdi.SET_BITS_HIGH, 0x0, 0x1])) self.WaitReady() self.GetID()
if sys.version_info < (3, 0): sys.exit("Python %s.%s or later is required.\n" % (3, 0)) #-----------------------------------------------------------------------------# # Global variables # #-----------------------------------------------------------------------------# # The root tk frame. All other tk widgets are contained within this # TODO: Rewrite with PyQt. It should allow a more advanced viewing screen. root = tkinter.Tk() # The G-code parser object gcp = None # USB UART object uart = ftdi.Ftdi() # Tcl variables tcl_DEBUG = tkinter.BooleanVar() tcl_filepath = tkinter.StringVar() tcl_syntax = tkinter.StringVar() tcl_connected = tkinter.StringVar() tcl_estop = tkinter.StringVar() tcl_baudrate = tkinter.IntVar() exit_flag = threading.Event() curr_head_pos = (0, 0, 0) #-----------------------------------------------------------------------------# # Initializations #