def connect(self, Serial): baudRate = 115200 ports = [] if os.name == "posix": if sys.platform == "linux2": #usbSerial = glob.glob('/dev/ttyUSB*') ports = glob.glob('/dev/rfcomm*') elif sys.platform == "darwin": ports = glob.glob('/dev/tty.eBot*') #usbSerial = glob.glob('/dev/tty.usbserial*') else: print "Unknown posix OS." sys.exit() elif os.name == "nt": ports = self.getOpenPorts() #ports = ['COM' + str(i + 1) for i in range(256)] #EBOT_PORTS = getEBotPorts() connect = 0 ebot_ports = [] ebot_names = [] for port in ports: try: s = Serial(port, baudRate, timeout=1, writeTimeout=1) s._timeout = 1.0 s._writeTimeout = 1.0 #try: # s.open() #except: # continue line = "aaaa" while line[:2] != "eB": if (s.inWaiting() > 0): line = s.readline() s.write("<<1?") sleep(0.5) line = s.readline() if (line[:2] == "eB"): ebot_ports.append(port) ebot_names.append(line) connect = 1 self.port = s self.portName = port self.port._timeout = 1.0 self.port._writeTimeout = 1.0 self.port.flushInput() self.port.flushOutput() if (line[:2] == "eB"): break #s.close() # self. except: try: if s.isOpen(): s.close() except: pass if (connect == 0): try: self.port.close() except: pass #sys.stderr.write("Could not open serial port. Is robot turned on and connected?\n") raise Exception("No Robot Found")
def connect(self, Serial): baudRate = 115200 ports = [] if os.name == "posix": if sys.platform == "linux2": # usbSerial = glob.glob('/dev/ttyUSB*') print "Support for this OS is under development." elif sys.platform == "darwin": ports = glob.glob("/dev/tty.eBot*") # usbSerial = glob.glob('/dev/tty.usbserial*') else: print "Unknown posix OS." sys.exit() elif os.name == "nt": ports = self.getOpenPorts() # ports = ['COM' + str(i + 1) for i in range(256)] # EBOT_PORTS = getEBotPorts() connect = 0 ebot_ports = [] ebot_names = [] for port in ports: try: s = Serial(port, baudRate, timeout=1, writeTimeout=1) s._timeout = 1.0 s._writeTimeout = 1.0 # try: # s.open() # except: # continue line = "aaaa" while line[:2] != "eB": if s.inWaiting() > 0: line = s.readline() s.write("<<1?") sleep(0.5) line = s.readline() if line[:2] == "eB": ebot_ports.append(port) ebot_names.append(line) connect = 1 self.port = s self.portName = port self.port._timeout = 1.0 self.port._writeTimeout = 1.0 self.port.flushInput() self.port.flushOutput() if line[:2] == "eB": break # s.close() # self. except: try: if s.isOpen(): s.close() except: pass if connect == 0: try: self.port.close() except: pass # sys.stderr.write("Could not open serial port. Is robot turned on and connected?\n") raise Exception("No Robot Found")