def copy_image_raw(self, image_path=None, disk=None, copy_method=None): """ Copy file depending on method you want to use. Handles exception and return code from shell copy commands. """ if copy_method is not None: # image_path - Where is binary with target's firmware result = host_tests_plugins.call_plugin('CopyMethod', copy_method, image_path=image_path, destination_disk=disk) else: copy_method = 'default' result = host_tests_plugins.call_plugin('CopyMethod', copy_method, image_path=image_path, destination_disk=disk) return result;
def reset(self): """ Calls proper reset plugin to do the job. Please refer to host_test_plugins functionality """ # Flush serials to get only input after reset self.flush() if self.options.forced_reset_type: host_tests_plugins.call_plugin('ResetMethod', self.options.forced_reset_type, disk=self.disk) else: host_tests_plugins.call_plugin('ResetMethod', 'default', serial=self.serial) # Give time to wait for the image loading reset_tout_s = self.options.forced_reset_timeout if self.options.forced_reset_timeout is not None else self.DEFAULT_RESET_TOUT self.reset_timeout(reset_tout_s)
def reset(self): """ Calls proper reset plugin to do the job. Please refer to host_test_plugins functionality """ # Flush serials to get only input after reset self.flush() if self.options.forced_reset_type: result = host_tests_plugins.call_plugin('ResetMethod', self.options.forced_reset_type, disk=self.disk) else: result = host_tests_plugins.call_plugin('ResetMethod', 'default', serial=self.serial) # Give time to wait for the image loading reset_tout_s = self.options.forced_reset_timeout if self.options.forced_reset_timeout is not None else self.DEFAULT_RESET_TOUT self.reset_timeout(reset_tout_s) return result
def reset_dev(port=None, disk=None, reset_type='default', reset_timeout=1, serial_port=None, baudrate=115200, timeout=1, verbose=False): """! Reset device using pythonic interface @param port Switch -p <port> @param disk Switch -d <disk> @param reset_type Switch -r <reset_type> @param reset_timeout Switch -R <reset_timeout> @param serial_port Serial port handler, set to None if you want this function to open serial @param baudrate Serial port baudrate @param timeout Serial port timeout @param verbose Verbose mode """ from serial import Serial result = False if not serial_port: try: with Serial(port, baudrate=baudrate, timeout=timeout) as serial_port: result = host_tests_plugins.call_plugin('ResetMethod', reset_type, serial=serial_port, disk=disk) sleep(reset_timeout) except Exception as e: if verbose: print "%s" % (str(e)) result = False return result
def main(): """! Function wrapping flashing (copy) plugin @details USers can use mbedflsh command to flash mbeds from command line """ errorlevel_flag = 0 (opts, args) = cmd_parser_setup() if opts.version: import pkg_resources # part of setuptools version = pkg_resources.require("mbed-host-tests")[0].version print version sys.exit(0) elif opts.list_plugins: # --plugins option host_tests_plugins.print_plugin_info() sys.exit(0) else: pass if opts.filename: print "mbedflsh: opening file %s..."% opts.filename result = host_tests_plugins.call_plugin('CopyMethod', opts.copy_method, image_path=opts.filename, destination_disk=opts.disk) errorlevel_flag = result == True return errorlevel_flag
def copy_image_raw(self, image_path=None, disk=None, copy_method=None): """ Copy file depending on method you want to use. Handles exception and return code from shell copy commands. """ if copy_method is not None: # image_path - Where is binary with target's firmware result = host_tests_plugins.call_plugin('CopyMethod', copy_method, image_path=image_path, destination_disk=disk) else: copy_method = 'default' result = host_tests_plugins.call_plugin('CopyMethod', copy_method, image_path=image_path, destination_disk=disk) return result
def copy_image_raw(self, image_path=None, disk=None, copy_method=None): """ Copy file depending on method you want to use. Handles exception and return code from shell copy commands. """ # image_path - Where is binary with target's firmware if copy_method is not None: # We override 'default' method with 'shell' method if copy_method == 'default': copy_method = 'shell' else: copy_method = 'shell' result = host_tests_plugins.call_plugin('CopyMethod', copy_method, image_path=image_path, destination_disk=disk, program_cycle_s=self.program_cycle_s) return result;
def copy_image_raw(self, image_path=None, disk=None, copy_method=None): """ Copy file depending on method you want to use. Handles exception and return code from shell copy commands. """ # image_path - Where is binary with target's firmware if copy_method is not None: # We override 'default' method with 'shell' method if copy_method == 'default': copy_method = 'shell' else: copy_method = 'shell' result = host_tests_plugins.call_plugin('CopyMethod', copy_method, image_path=image_path, destination_disk=disk, program_cycle_s=self.program_cycle_s, target_mcu=self.options.micro) return result;
def flash_dev(disk=None, image_path=None, copy_method='default', port=None, program_cycle_s=0): """! Flash device using pythonic interface @param disk Switch -d <disk> @param image_path Switch -f <image_path> @param copy_method Switch -c <copy_method> (default: shell) @param port Switch -p <port> """ if copy_method == 'default': copy_method = 'shell' result = False result = host_tests_plugins.call_plugin('CopyMethod', copy_method, image_path=image_path, serial=port, destination_disk=disk) sleep(program_cycle_s) return result
def handle_send_break_cmd(self, port, disk, reset_type=None, baudrate=115200, timeout=1, verbose=False): """! Resets platforms and prints serial port output @detail Mix with switch -r RESET_TYPE and -p PORT for versatility """ from serial import Serial if not reset_type: reset_type = 'default' port_config = port.split(':') if len(port_config) == 2: # -p COM4:115200 port = port_config[0] baudrate = int(port_config[1]) elif len(port_config) == 3: # -p COM4:115200:0.5 port = port_config[0] baudrate = int(port_config[1]) timeout = float(port_config[2]) if verbose: print "mbedhtrun: serial port configuration: %s:%s:%s"% (port, str(baudrate), str(timeout)) try: serial_port = Serial(port, baudrate=baudrate, timeout=timeout) except Exception as e: print "mbedhtrun: %s" % (str(e)) print json.dumps({ "port" : port, "disk" : disk, "baudrate" : baudrate, "timeout" : timeout, "reset_type" : reset_type, }, indent=4) return False serial_port.flush() # Reset using one of the plugins result = host_tests_plugins.call_plugin('ResetMethod', reset_type, serial=serial_port, disk=disk) if not result: print "mbedhtrun: reset plugin failed" print json.dumps({ "port" : port, "disk" : disk, "baudrate" : baudrate, "timeout" : timeout, "reset_type" : reset_type }, indent=4) return False print "mbedhtrun: serial dump started (use ctrl+c to break)" try: while True: test_output = serial_port.read(512) if test_output: sys.stdout.write('%s'% test_output) if "{end}" in test_output: if verbose: print print "mbedhtrun: stopped (found '{end}' terminator)" break except KeyboardInterrupt: print "ctrl+c break" serial_port.close() return True
def handle_send_break_cmd(self, port, disk, reset_type=None, baudrate=115200, timeout=1, verbose=False): """! Resets platforms and prints serial port output @detail Mix with switch -r RESET_TYPE and -p PORT for versatility """ from serial import Serial if not reset_type: reset_type = 'default' port_config = port.split(':') if len(port_config) == 2: # -p COM4:115200 port = port_config[0] baudrate = int(port_config[1]) elif len(port_config) == 3: # -p COM4:115200:0.5 port = port_config[0] baudrate = int(port_config[1]) timeout = float(port_config[2]) if verbose: print "mbedhtrun: serial port configuration: %s:%s:%s" % ( port, str(baudrate), str(timeout)) try: serial_port = Serial(port, baudrate=baudrate, timeout=timeout) except Exception as e: print "mbedhtrun: %s" % (str(e)) print json.dumps( { "port": port, "disk": disk, "baudrate": baudrate, "timeout": timeout, "reset_type": reset_type, }, indent=4) return False serial_port.flush() # Reset using one of the plugins result = host_tests_plugins.call_plugin('ResetMethod', reset_type, serial=serial_port, disk=disk) if not result: print "mbedhtrun: reset plugin failed" print json.dumps( { "port": port, "disk": disk, "baudrate": baudrate, "timeout": timeout, "reset_type": reset_type }, indent=4) return False print "mbedhtrun: serial dump started (use ctrl+c to break)" try: while True: test_output = serial_port.read(512) if test_output: sys.stdout.write('%s' % test_output) if "{end}" in test_output: if verbose: print print "mbedhtrun: stopped (found '{end}' terminator)" break except KeyboardInterrupt: print "ctrl+c break" serial_port.close() return True