def init_serial(self, serial_baud=None, serial_timeout=None): """ Initialize serial port. Function will return error is port can't be opened or initialized """ # Overload serial port configuration from default to parameters' values if they are specified serial_baud = serial_baud if serial_baud is not None else self.serial_baud serial_timeout = serial_timeout if serial_timeout is not None else self.serial_timeout if get_module_avail('mbed_lstools') and self.options.auto_detect: # Ensure serial port is up-to-date (try to find it 60 times) found = False for i in range(0, 60): print('Looking for %s with MBEDLS' % self.options.micro) muts_list = get_autodetected_MUTS_list(platform_name_filter=[self.options.micro]) if 1 in muts_list: mut = muts_list[1] self.port = mut['port'] found = True break else: sleep(3) if not found: return False # Clear serial port if self.serial: self.serial.close() self.serial = None # We will pool for serial to be re-mounted if it was unmounted after device reset result = self.pool_for_serial_init(serial_baud, serial_timeout) # Blocking # Port can be opened if result: self.flush() return result
exit(0) # Only prints matrix of supported toolchains if opts.supported_toolchains: print mcu_toolchain_matrix(platform_filter=opts.general_filter_regex) exit(0) test_spec = None MUTs = None if hasattr(opts, 'auto_detect') and opts.auto_detect: # If auto_detect attribute is present, we assume other auto-detection # parameters like 'toolchains_filter' are also set. print "MBEDLS: Detecting connected mbed-enabled devices... " if get_module_avail('mbed_lstools'): mbeds = mbed_lstools.create() muts_list = mbeds.list_mbeds() for mut in muts_list: print "MBEDLS: Detected %s, port: %s, mounted: %s" % ( mut['platform_name'], mut['serial_port'], mut['mount_point']) # Set up parameters for test specification filter function (we need to set toolchains per target here) use_default_toolchain = 'default' in opts.toolchains_filter.split( ',') if opts.toolchains_filter is not None else True use_supported_toolchains = 'all' in opts.toolchains_filter.split( ',') if opts.toolchains_filter is not None else False toolchain_filter = opts.toolchains_filter platform_name_filter = opts.general_filter_regex.split( ','
exit(0) # Only prints matrix of supported toolchains if opts.supported_toolchains: print mcu_toolchain_matrix(platform_filter=opts.general_filter_regex) exit(0) test_spec = None MUTs = None if hasattr(opts, 'auto_detect') and opts.auto_detect: # If auto_detect attribute is present, we assume other auto-detection # parameters like 'toolchains_filter' are also set. print "MBEDLS: Detecting connected mbed-enabled devices... " if get_module_avail('mbed_lstools'): mbeds = mbed_lstools.create() muts_list = mbeds.list_mbeds_ext() if hasattr(mbeds, 'list_mbeds_ext') else mbeds.list_mbeds() for mut in muts_list: print "MBEDLS: Detected %s, port: %s, mounted: %s"% (mut['platform_name_unique'] if 'platform_name_unique' in mut else mut['platform_name'], mut['serial_port'], mut['mount_point']) # Set up parameters for test specification filter function (we need to set toolchains per target here) use_default_toolchain = 'default' in opts.toolchains_filter.split(',') if opts.toolchains_filter is not None else True use_supported_toolchains = 'all' in opts.toolchains_filter.split(',') if opts.toolchains_filter is not None else False toolchain_filter = opts.toolchains_filter platform_name_filter = opts.general_filter_regex.split(',') if opts.general_filter_regex is not None else opts.general_filter_regex # Test specification with information about each target and associated toolchain test_spec = get_autodetected_TEST_SPEC(muts_list, use_default_toolchain=use_default_toolchain,