def arduino_settings_args(user_io, args, settings): ''' Method to select (without any wizard) from command line your SDK, port, board and automatic reset. Port and SDK arguments support "default" option to make automatically the setting selection ''' if settings.arduino is None: settings.arduino = ArduinoSettings() if not args.sdk and not settings.arduino.sdk: _, default_sdk = get_valid_sdks(user_io, settings.arduino) user_io.out.success("Your default SDK is: %s" % default_sdk) settings.arduino.sdk = default_sdk else: settings.arduino.sdk = args.sdk or settings.arduino.sdk try: valid_version = valid_arduino_sdk_version(settings.arduino.sdk) except: valid_version = None if not valid_version: raise BiiException("No valid Arduino SDK version could be found." " Check if /your_SDK_path/lib/version.txt file exists") settings.arduino.version = valid_version if args.need_reset: settings.arduino.automatic_reset = True if args.need_reset == 'true' else None if (not args.port and not settings.arduino.port) or args.port == 'auto': settings.arduino.port = refresh_port(user_io, settings.arduino.port, reset=settings.arduino.automatic_reset, wizard=False) else: settings.arduino.port = args.port or settings.arduino.port settings.arduino.board = args.board or settings.arduino.board
def arduino_settings_args(user_io, args, settings): ''' Method to select (without any wizard) from command line your SDK, port, board and automatic reset. Port and SDK arguments support "default" option to make automatically the setting selection ''' if settings.arduino is None: settings.arduino = ArduinoSettings() if not args.sdk and not settings.arduino.sdk: _, default_sdk = get_valid_sdks(user_io, settings.arduino) user_io.out.success("Your default SDK is: %s" % default_sdk) settings.arduino.sdk = default_sdk else: settings.arduino.sdk = args.sdk or settings.arduino.sdk try: valid_version = valid_arduino_sdk_version(settings.arduino.sdk) except: valid_version = None if not valid_version: raise BiiException( "No valid Arduino SDK version could be found." " Check if /your_SDK_path/lib/version.txt file exists") settings.arduino.version = valid_version if args.need_reset: settings.arduino.automatic_reset = True if args.need_reset == 'true' else None if (not args.port and not settings.arduino.port) or args.port == 'auto': settings.arduino.port = refresh_port( user_io, settings.arduino.port, reset=settings.arduino.automatic_reset, wizard=False) else: settings.arduino.port = args.port or settings.arduino.port settings.arduino.board = args.board or settings.arduino.board
def refresh_port(self): ''' Refresh port to check a new connection o reset it in case of leonardo board ''' from biicode.client.dev.hardware.arduino.arduino_port_utils import refresh_port settings = self.hive_disk_image.settings arduino_settings = settings.arduino if not arduino_settings: raise BiiException('No arduino settings, please execute ' '"bii arduino:settings" first') port = refresh_port(self.bii.user_io, arduino_settings.port, reset=arduino_settings.automatic_reset) arduino_settings.port = port self.hive_disk_image.settings = settings return port
def arduino_settings_wizard(user_io, settings): '''gets arduino settings from user. The port will always be scanned param user_io: UserIO object param settings: existing hive Settings ''' if settings.arduino is None: settings.arduino = ArduinoSettings() _arduino_sdk_wizard(user_io, settings.arduino) _get_board(user_io, settings.arduino) ports_need_reset = get_boards_need_reset(settings.arduino.sdk, settings.arduino.version) settings.arduino.automatic_reset = True if settings.arduino.board in ports_need_reset \ else None settings.arduino.port = refresh_port(user_io, settings.arduino.port, reset=settings.arduino.automatic_reset, wizard=True)
def arduino_settings_wizard(user_io, settings): '''gets arduino settings from user. The port will always be scanned param user_io: UserIO object param settings: existing hive Settings ''' if settings.arduino is None: settings.arduino = ArduinoSettings() _arduino_sdk_wizard(user_io, settings.arduino) _get_board(user_io, settings.arduino) ports_need_reset = get_boards_need_reset(settings.arduino.sdk, settings.arduino.version) settings.arduino.automatic_reset = True if settings.arduino.board in ports_need_reset \ else None settings.arduino.port = refresh_port( user_io, settings.arduino.port, reset=settings.arduino.automatic_reset, wizard=True)