def _get_devices(br_serial): logging.info('Looking for devices...') ncps = [] brouter = kiserial.find_devices(has_br=True, has_snum=br_serial)[0] brouter = kiserial.KiSerial(brouter.port, debug=kiserial.KiDebug(1)) devices = kiserial.find_devices() for dev in devices: if not dev.snum in br_serial: ncps.append(kiserial.KiSerial(dev.port, debug=kiserial.KiDebug(1))) logging.info('%d devices found' % len(ncps)) return brouter, ncps
def _find_device(snum): '''Find the serial device with the required serial number''' if snum: logging.info('Trying to find device with serial %s.', snum) kirale_devs = kiserial.find_devices(has_snum=snum) if kirale_devs: return kirale_devs[0].port # Attempt to find any attached KiNOS device logging.info('Trying to find a KiNOS device...') kirale_devs = kiserial.find_devices(has_br=True) if kirale_devs: logging.info('KiNOS device was found on %s!', kirale_devs[0].port) return kirale_devs[0].port logging.error('No KiNOS devices found.') sys.exit()
def kbi_find_and_flash(dfu_file): '''Flash a DFU file''' # Count DFU devices kidevs = kiserial.find_devices(has_uart=True) # Flash bootloader running devices if kidevs: print('\nFound the following KBI devices:') for dev in kidevs: print(' %s' % dev) try_input('Press Enter to flash them all.') else: sys_exit('No KBI devices found.') # Program the devices start = time.time() results = parallel_program(kbi_flash, kidevs, dfu_file) flash_summary(results, start)
def _get_device(): '''Ask user to choose a port among the availalbe connected Kirale devices''' print('Scanning ports...', end='') kirale_devs = kiserial.find_devices() if kirale_devs: print('\rAvailable Kirale devices:') for num, dev in enumerate(kirale_devs): print('%s%d%s: %s' % (colorama.Fore.GREEN, num + 1, colorama.Fore.RESET, dev)) # Don't ask the user if there is only one option if len(kirale_devs) == 1: return kirale_devs[0].port # Ask the user for port selection index = 0 while index not in range(1, len(kirale_devs) + 1): typed = kifwu.try_input('Enter port index: ') if typed.isdigit(): index = int(typed) return kirale_devs[index - 1].port sys.exit('No Kirale devices available.') return None