|  | 
| def | upgrade_firmware.add8 (a, b) | 
|  | 
| def | upgrade_firmware.compute_checksum (bytes) | 
|  | 
| def | upgrade_firmware.convert_checksum (checksum, flash_id, row_number, row_size) | 
|  | 
| def | upgrade_firmware.convert_num (arr) | 
|  | 
| def | upgrade_firmware.crc16_ccitt (bytes) | 
|  | 
| def | upgrade_firmware.cstr (x) | 
|  | 
| def | upgrade_firmware.file_convert_num (arr) | 
|  | 
| def | upgrade_firmware.load_hex (filename) | 
|  | 
| def | upgrade_firmware.read__encrypted_flash_line (f) | 
|  | 
| def | upgrade_firmware.read__flash_line (f) | 
|  | 
| def | upgrade_firmware.read__header (f) | 
|  | 
| def | upgrade_firmware.send__data (ser, data_next) | 
|  | 
| def | upgrade_firmware.send__encrypted_program_row (ser, flash_id, row_number, data_next) | 
|  | 
| def | upgrade_firmware.send__enter_bootloader (ser) | 
|  | 
| def | upgrade_firmware.send__erase_row (ser, flash_id, row_number) | 
|  | 
| def | upgrade_firmware.send__exit_bootloader (ser) | 
|  | 
| def | upgrade_firmware.send__get_application_status (ser, app_number) | 
|  | 
| def | upgrade_firmware.send__get_flash_size (ser, flash_id) | 
|  | 
| def | upgrade_firmware.send__program_row (ser, flash_id, row_number, data_next) | 
|  | 
| def | upgrade_firmware.send__set_active_application (ser, app_number) | 
|  | 
| def | upgrade_firmware.send__sync_bootloader (ser) | 
|  | 
| def | upgrade_firmware.send__verify_checksum (ser) | 
|  | 
| def | upgrade_firmware.send__verify_row (ser, flash_id, row_number) | 
|  | 
| def | upgrade_firmware.twos_complement (bytes) | 
|  | 
|  | 
|  | upgrade_firmware.args = parser.parse_args() | 
|  | 
| dictionary | upgrade_firmware.auth_headers = {"Authorization": "Bearer %s" % token} | 
|  | 
|  | upgrade_firmware.bootloader_version | 
|  | 
| int | upgrade_firmware.bytes_at_a_time = 256 | 
|  | 
|  | upgrade_firmware.checksum | 
|  | 
|  | upgrade_firmware.chunk_size | 
|  | 
| def | upgrade_firmware.comp_checksum = send__verify_row(ser, flash_id, row_number) | 
|  | 
|  | upgrade_firmware.data | 
|  | 
|  | upgrade_firmware.data_length | 
|  | 
|  | upgrade_firmware.data_next = data_strip[0:bytes_at_a_time] | 
|  | 
| int | upgrade_firmware.data_sent = 0 | 
|  | 
|  | upgrade_firmware.data_strip = data | 
|  | 
| bool | upgrade_firmware.DEBUG = False | 
|  | 
|  | upgrade_firmware.default | 
|  | 
|  | upgrade_firmware.email = raw_input("Please enter your email address: ").strip() | 
|  | 
|  | upgrade_firmware.file_checksum_type | 
|  | 
|  | upgrade_firmware.file_silicon_id | 
|  | 
|  | upgrade_firmware.file_silicon_rev | 
|  | 
|  | upgrade_firmware.flash_first_row | 
|  | 
|  | upgrade_firmware.flash_id | 
|  | 
|  | upgrade_firmware.flash_last_row | 
|  | 
|  | upgrade_firmware.help | 
|  | 
|  | upgrade_firmware.hex_stream = None | 
|  | 
| float | upgrade_firmware.last_percent = 0.0 | 
|  | 
|  | upgrade_firmware.parser = argparse.ArgumentParser(description='Ubiquity Robotics Firmware Updater') | 
|  | 
|  | upgrade_firmware.path_to_file = args.file | 
|  | 
|  | upgrade_firmware.r = requests.post('https://api.ubiquityrobotics.com/token/', json = {'email': email}) | 
|  | 
| def | upgrade_firmware.real_checksum = convert_checksum(checksum, flash_id, row_number, len(data)) | 
|  | 
| list | upgrade_firmware.request_bootloader = [0x7E, 0x3E, 0x01, 0x01, 0x01, 0x01, 0x01] | 
|  | 
|  | upgrade_firmware.row_number | 
|  | 
|  | upgrade_firmware.ser | 
|  | 
|  | upgrade_firmware.serial_port = args.device | 
|  | 
|  | upgrade_firmware.silicon_id | 
|  | 
|  | upgrade_firmware.silicon_rev | 
|  | 
| string | upgrade_firmware.TMP_FILE_PATH = '/tmp/firmware' | 
|  | 
|  | upgrade_firmware.token = raw_input("Please enter your access token: ").strip() | 
|  | 
|  | upgrade_firmware.version = raw_input("What version would you like (press enter for latest): ").strip() | 
|  |