diff --git a/CHANGELOG.md b/CHANGELOG.md index c68a53b..021a0c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog + +## [3.17] - March 2024 + +### Added +- DSG-7091 Add CLI command to convert hex file to UF2 + +### Changed +- DSG-6630 Improve presentation of memory data on console + +### Fixed +- DSG-6636 UPDI devices tinyAVR(R)/megaAVR(R) overwrites preceding bytes when writing single values to user row +- DSG-7110 Programming failure of AVR64DU32 target with pymcuprog +- DSG-7223 Serial UPDI uses Flash page buffer erase for EEPROM on AVR EA and EB +- DSG-7224 Serial UPDI does not support writing complete user row in one operation for AVR DU + ## [3.16] - November 2023 ### Added diff --git a/LICENSE.txt b/LICENSE.txt index bd9c5f6..fe6fd4a 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2023 Microchip Technology Inc. and its subsidiaries. +Copyright (c) 2024 Microchip Technology Inc. and its subsidiaries. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/doc/source/conf.py b/doc/source/conf.py index e7c3137..671e5d8 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -17,7 +17,7 @@ # -- Project information ----------------------------------------------------- project = 'pymcuprog' -copyright = '2023, Microchip Technology Inc' +copyright = '2024, Microchip Technology Inc' author = 'Microchip Technology Inc' diff --git a/docs/.buildinfo b/docs/.buildinfo index ae1a264..124c4cf 100644 --- a/docs/.buildinfo +++ b/docs/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: dad876c68577c22814db7221fb4894b6 +config: 96f4a348079cded5483c93d65e5ef62e tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/genindex.html b/docs/genindex.html index 9a9388d..c0acfb6 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -130,14 +130,12 @@

B

  • Backend (class in pymcuprog.backend)
  • BOOT_ROW (pymcuprog.deviceinfo.memorynames.MemoryNames attribute) -
  • -
  • breakpoint_clear() (pymcuprog.avr8target.TinyXAvrTarget method)
  • Module contents
  • @@ -4036,10 +4042,7 @@

    Submodules

    Module contents

    -
    -
    -pymcuprog.BUILD_DATE = '2023-11-01 11:26:17'
    -
    +

    Python MCU programmer utility

    pymcuprog is a utility for programming various Microchip MCU devices using Microchip CMSIS-DAP based debuggers

    @@ -4140,8 +4143,6 @@

    Supported devices and tools diff --git a/docs/pymcuprog.serialupdi.html b/docs/pymcuprog.serialupdi.html index 6f321f6..baf0543 100644 --- a/docs/pymcuprog.serialupdi.html +++ b/docs/pymcuprog.serialupdi.html @@ -1693,7 +1693,7 @@

    Submodules
    -write_nvm(address, data, use_word_access, nvmcommand=4)
    +write_nvm(address, data, use_word_access, nvmcommand=4, erasebuffer_command=15)

    Writes a page of data to NVM

    By default the PAGE_WRITE command is used, which requires that the page is already erased. By default word access is used (required for flash)

    @@ -1704,6 +1704,7 @@

    SubmodulesRaises: @@ -1995,7 +1996,7 @@

    Submodules diff --git a/docs/search.html b/docs/search.html index 7b82a6e..dff567e 100644 --- a/docs/search.html +++ b/docs/search.html @@ -91,7 +91,7 @@

    Search

    diff --git a/docs/searchindex.js b/docs/searchindex.js index a502bbe..e0e9f7f 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index", "pymcuprog", "pymcuprog.deviceinfo", "pymcuprog.serialupdi"], "filenames": ["index.rst", "pymcuprog.rst", "pymcuprog.deviceinfo.rst", "pymcuprog.serialupdi.rst"], "titles": ["pymcuprog documentation", "pymcuprog package", "pymcuprog.deviceinfo package", "pymcuprog.serialupdi package"], "terms": {"build_dat": [0, 1], "2023": [0, 1], "11": [0, 1], "01": [0, 1], "26": [0, 1], "17": [0, 1], "i": [0, 1, 2, 3], "program": [0, 1, 3], "variou": [0, 1, 3], "microchip": [0, 1], "us": [0, 1, 2, 3], "cmsi": [0, 1], "dap": [0, 1], "base": [0, 1, 2, 3], "debugg": 0, "avail": [0, 1], "instal": [0, 1], "pip": [0, 1], "from": [0, 1, 2, 3], "pypi": [0, 1], "http": [0, 1], "org": [0, 1], "project": [0, 1], "brows": [0, 1], "sourc": [0, 1, 3], "code": [0, 1], "github": [0, 1], "com": [0, 1], "pic": [0, 2], "avr": [0, 2, 3], "read": [0, 1, 3], "api": [0, 2], "io": [0, 1], "changelog": [0, 1], "blob": [0, 1], "main": [0, 1], "md": [0, 1], "For": [0, 1], "cli": [0, 1], "see": [0, 1, 3], "help": [0, 1], "can": [0, 1, 2], "its": [0, 1], "backend": 0, "exampl": [0, 1, 3], "setup": [0, 1], "modul": 0, "import": [0, 1], "basicconfig": [0, 1], "format": [0, 1], "levelnam": [0, 1], "": [0, 1], "messag": [0, 1], "level": [0, 1], "warn": [0, 1], "configur": [0, 1], "session": [0, 1], "sessionconfig": [0, 1], "atmega4808": [0, 1], "instanti": [0, 1], "usb": [0, 1], "transport": [0, 1], "onli": [0, 1, 3], "1": [0, 1, 3], "connect": [0, 3], "toolconnect": [0, 1], "toolusbhidconnect": [0, 1], "connect_to_tool": [0, 1], "start": [0, 1, 2, 3], "start_sess": [0, 1], "target": [0, 2], "device_id": [0, 1, 2], "read_device_id": [0, 1], "print": [0, 1], "id": [0, 1], "0": [0, 1, 3], "06x": [0, 1], "int": [0, 1, 3], "from_byt": [0, 1], "d": [0, 1], "byteord": [0, 1], "littl": [0, 1], "packag": 0, "version": [0, 1, 3], "__version__": [0, 1], "pymcuprog_vers": [0, 1], "In": [0, 1], "addit": [0, 1], "conveni": [0, 1], "get_api_vers": [0, 1], "thi": [0, 1, 3], "publish": [0, 1], "user": [0, 1, 3], "A": [0, 1, 2, 3], "basic": [0, 1], "best": [0, 1], "result": [0, 1], "more": [0, 1], "thorough": [0, 1], "recommend": [0, 1], "order": [0, 1], "control": [0, 1, 3], "verbos": [0, 1], "output": [0, 1], "stack": [0, 1, 3], "which": [0, 1, 3], "also": [0, 1], "yaml": [0, 1], "includ": [0, 1], "although": [0, 1], "pyedbglib": [0, 1], "protocol": [0, 1, 3], "requir": [0, 1, 3], "like": [0, 1], "libusb": [0, 1], "inform": [0, 1, 2, 3], "note": [0, 1, 3], "primarili": [0, 1], "intend": [0, 1], "pkob": [0, 1], "nano": [0, 1], "nedbg": [0, 1], "ar": [0, 1, 2, 3], "found": [0, 1, 2], "curios": [0, 1], "kit": [0, 1], "other": [0, 1], "develop": [0, 1], "board": [0, 1], "mean": [0, 1, 3], "continu": [0, 1], "test": [0, 1], "select": [0, 1, 2], "updi": [0, 3], "well": [0, 1], "howev": [0, 1], "sinc": [0, 1], "compat": [0, 1], "between": [0, 1, 2], "all": [0, 1, 2, 3], "edbg": [0, 1], "possibl": [0, 1, 3], "wide": [0, 1], "rang": [0, 1, 2], "famili": [0, 1, 3], "have": [0, 1], "been": [0, 1], "implement": [0, 3], "The": [0, 1, 2], "follow": [0, 1], "atmel": [0, 1], "mplab": [0, 1], "pickit": [0, 1], "4": [0, 1, 3], "icd": [0, 1, 2], "when": [0, 1, 3], "mode": [0, 1, 3], "snap": [0, 1], "ic": [0, 1], "power": [0, 1], "medbg": [0, 1], "jtagice3": [0, 1], "firmwar": [0, 1], "3": [0, 1, 3], "x": [0, 1], "function": 0, "provid": [0, 1, 3], "section": [0, 1], "below": [0, 1], "type": [0, 1, 2, 3], "whether": [0, 1, 3], "mount": [0, 1], "standalon": [0, 1], "similar": [0, 1], "eg": [0, 1, 3], "atmega328p": [0, 1], "atsamd21e18a": [0, 1], "mai": [0, 1], "partial": [0, 1], "experiment": [0, 1], "purpos": [0, 1], "subpackag": 0, "deviceinfo": [0, 1], "submodul": 0, "deviceinfokei": [0, 1], "eraseflag": [0, 1], "memorynam": [0, 1], "serialupdi": 0, "applic": [0, 1, 2], "constant": [0, 1], "link": [0, 1], "nvm": 0, "nvmp0": [0, 1], "nvmp2": [0, 1], "nvmp3": [0, 1], "physic": [0, 1], "readwrit": [0, 1], "timeout": [0, 1], "avr8": 0, "avrdevic": [0, 1], "activate_phys": [0, 1], "deactivate_phys": [0, 1], "enter_progmod": [0, 1, 3], "eras": [0, 1, 2, 3], "is_blank": [0, 1], "leave_progmod": [0, 1, 3], "memory_read": [0, 1], "memory_writ": [0, 1], "memtype_read_from_str": [0, 1], "read_memory_sect": [0, 1], "write_memory_sect": [0, 1], "megaavrjtagtarget": [0, 1], "setup_config": [0, 1], "setup_prog_sess": [0, 1], "tinyavrtarget": [0, 1], "setup_debug_sess": [0, 1], "tinyxavrtarget": [0, 1], "breakpoint_clear": [0, 1], "breakpoint_set": [0, 1], "execute_instruct": [0, 1], "execute_patch": [0, 1], "memtype_write_from_str": [0, 1], "ocdregfile_read": [0, 1], "run_with_power_nap": [0, 1], "sib_read": [0, 1], "stack_pointer_read": [0, 1], "xmegaavrtarget": [0, 1], "avr32": 0, "alpha": 0, "avr32devic": [0, 1], "sam": 0, "samd2xtarget": [0, 1], "cmd_ear": [0, 1], "cmd_lr": [0, 1], "cmd_pbc": [0, 1], "cmd_ur": [0, 1], "cmd_wap": [0, 1], "cmd_wp": [0, 1], "dap_transfer_idle_cycl": [0, 1], "dap_transfer_match_retri": [0, 1], "dap_transfer_retry_count": [0, 1], "dsu_address": [0, 1], "dsu_chip_erase_timeout_m": [0, 1], "dsu_ctrl_offset": [0, 1], "dsu_ctrl_status_ce_command_mask": [0, 1], "dsu_ctrl_status_done_mask": [0, 1], "dsu_ctrl_status_prot_mask": [0, 1], "dsu_did_offset": [0, 1], "dsu_external_offset": [0, 1], "flash_lock_region": [0, 1], "flash_lock_region_s": [0, 1], "nvm_ctrlb_manw_bit": [0, 1], "nvm_ctrl_address": [0, 1], "nvm_ctrl_addr_offset": [0, 1], "nvm_ctrl_ctrlb_offset": [0, 1], "nvm_ctrl_ctrl_offset": [0, 1], "nvm_ctrl_intflag_offset": [0, 1], "nvm_ctrl_lock_offset": [0, 1], "nvm_ctrl_status_offset": [0, 1], "nvm_int_error_bit": [0, 1], "nvm_int_ready_bit": [0, 1], "nvm_status_lock": [0, 1], "nvm_status_nvm": [0, 1], "nvm_status_prog": [0, 1], "nvm_status_sb": [0, 1], "chip_erase_dsu": [0, 1], "disconnect": [0, 1], "erase_user_row": [0, 1, 3], "is_device_lock": [0, 1], "is_flash_readi": [0, 1], "nvm_command": [0, 1], "post_flash_writ": [0, 1], "pre_flash_writ": [0, 1], "read_flash": [0, 1], "read_user_row": [0, 1], "reinitialis": [0, 1], "set_nvmctrl_address": [0, 1], "unlock_all_region": [0, 1], "wait_flash_readi": [0, 1], "write_flash_pag": [0, 1], "write_user_row_word": [0, 1], "samm4target": [0, 1], "samtarget": [0, 1], "ap_read": [0, 1], "ap_writ": [0, 1], "dp_read": [0, 1], "dp_write": [0, 1], "read_idcod": [0, 1], "api_vers": [0, 1], "disconnect_from_tool": [0, 1], "end_sess": [0, 1], "get_available_hid_tool": [0, 1], "get_chiperase_effect": [0, 1], "get_device_info": [0, 1], "get_supported_devic": [0, 1, 2], "hold_in_reset": [0, 1], "is_isolated_erase_poss": [0, 1], "read_kit_devic": [0, 1], "read_memori": [0, 1], "read_supply_voltage_setpoint": [0, 1], "read_target_voltag": [0, 1], "read_tool_info": [0, 1], "read_usb_voltag": [0, 1], "reboot_tool": [0, 1], "release_from_reset": [0, 1], "set_supply_voltage_setpoint": [0, 1], "verify_hex": [0, 1], "verify_memori": [0, 1], "write_hex_to_target": [0, 1], "write_memori": [0, 1], "interface_spe": [0, 1], "packpath": [0, 1], "special_opt": [0, 1], "get_device_memory_info": [0, 1], "get_device_model": [0, 1], "load_devic": [0, 1], "set_opt": [0, 1], "setup_devic": [0, 1], "stop": [0, 1, 2], "avrdebugg": [0, 1], "attach": [0, 1], "detach": [0, 1], "eeprom_read": [0, 1], "eeprom_writ": [0, 1], "flash_read": [0, 1], "flush_ev": [0, 1], "hardware_breakpoint_clear": [0, 1], "hardware_breakpoint_set": [0, 1], "poll_ev": [0, 1], "program_counter_read": [0, 1], "program_counter_writ": [0, 1], "register_file_read": [0, 1], "register_file_writ": [0, 1], "reset": [0, 1, 3], "run": [0, 1, 2], "run_to": [0, 1], "setup_sess": [0, 1], "software_breakpoint_clear": [0, 1], "software_breakpoint_clear_al": [0, 1], "software_breakpoint_set": [0, 1], "sram_read": [0, 1], "sram_writ": [0, 1], "start_debug": [0, 1], "status_register_read": [0, 1], "step": [0, 1], "stop_debug": [0, 1], "access": [0, 3], "nvmaccessprovid": [0, 1], "nvmaccessprovidercmsisdapavr": [0, 1], "nvmaccessprovidercmsisdaptool": [0, 1], "get_nvm_access_provid": [0, 1], "nvmaccessprovidercmsisdapupdi": [0, 1], "write": [0, 1, 3], "dut": [0, 1], "nvmaccessproviderseri": [0, 1], "nvmaccessprovidercmsisdapp": [0, 1], "m0": 0, "nvmaccessprovidercmsisdapmzeroplu": [0, 1], "debugwir": 0, "nvmaccessprovidercmsisdapdebugwir": [0, 1], "spi": 0, "nvmaccessprovidercmsisdapspi": [0, 1], "tpi": 0, "nvmaccessprovidercmsisdaptpi": [0, 1], "megaavr": 0, "jtag": 0, "nvmaccessprovidercmsisdapmegaavrjtag": [0, 1], "xmega": 0, "nvmaccessprovidercmsisdapxmega": [0, 1], "nvmaccessprovidercmsisdapavr32": [0, 1], "compar": [0, 1], "enum": [0, 1], "pad_to_s": [0, 1], "pagealign": [0, 1], "print_tool_info": [0, 1], "read_voltage_paramet": [0, 1], "showdata": [0, 1], "verify_from_bin": [0, 1], "hex": [0, 2], "file": [0, 2], "read_memories_from_hex": [0, 1], "remove_phantom_byt": [0, 1], "write_memories_to_hex": [0, 1], "write_memory_to_hex": [0, 1], "toolserialconnect": [0, 1], "serialport": [0, 1, 3], "serialnumb": [0, 1], "tool_nam": [0, 1], "error": [0, 3], "pymcuprogdevicelockederror": [0, 1], "pymcuprogeraseerror": [0, 1], "pymcuprogerror": [0, 1], "pymcuprognotsupportederror": [0, 1], "pymcuprogserialupdierror": [0, 1, 3], "pymcuprogserialupdilockederror": [0, 1], "pymcuprogserialupdinvmerror": [0, 1, 3], "pymcuprogserialupdinvmtimeout": [0, 1, 3], "pymcuprogserialupdiprotocolerror": [0, 1], "pymcuprogsessionconfigerror": [0, 1], "pymcuprogsessionerror": [0, 1], "pymcuprogtargetvoltageerror": [0, 1], "pymcuprogtoolconfigurationerror": [0, 1], "pymcuprogtoolconnectionerror": [0, 1], "index": [0, 3], "search": 0, "page": [0, 1, 3], "devicememoryinfo": [1, 2], "bytes_or_word": [1, 2], "memory_info_by_address": [1, 2], "memory_info_by_address_rang": [1, 2], "memory_info_by_nam": [1, 2], "getdeviceinfo": [1, 2], "architectur": [1, 2], "name": [1, 2, 3], "get_al": [1, 2], "deviceinfokeysavr": [1, 2], "address_s": [1, 2], "data_address_spac": [1, 2], "hv_implement": [1, 2], "nvmctrl_base": [1, 2], "ocd_bas": [1, 2], "prog_clock_khz": [1, 2], "syscfg_bas": [1, 2], "deviceinfokeysavr32": [1, 2], "reset_domain": [1, 2], "deviceinfokeysp": [1, 2], "default_bulk_erase_address": [1, 2], "devicememoryinfokei": [1, 2], "address": [1, 2, 3], "chiperase_effect": [1, 2], "erase_address": [1, 2], "hexfile_address": [1, 2], "hexfile_s": [1, 2], "isolated_eras": [1, 2], "page_s": [1, 2], "read_siz": [1, 2], "size": [1, 2, 3], "verify_mask": [1, 2], "write_s": [1, 2], "get_list_of_chiperase_effect": [1, 2], "memorynamealias": [1, 2], "boot_row": [1, 2], "calibration_row": [1, 2], "config_word": [1, 2], "dci": [1, 2], "dia": [1, 2], "eeprom": [1, 2, 3], "flash": [1, 2, 3], "fuse": [1, 2, 3], "internal_sram": [1, 2], "lockbit": [1, 2], "signatur": [1, 2], "user_id": [1, 2], "user_row": [1, 2], "updiappl": [1, 3], "in_prog_mod": [1, 3], "read_data": [1, 3], "read_data_word": [1, 3], "read_device_info": [1, 3], "unlock": [1, 3], "wait_unlock": [1, 3], "wait_urow_prog": [1, 3], "write_data": [1, 3], "write_data_word": [1, 3], "write_user_row_locked_devic": [1, 3], "decode_sib": [1, 3], "updidatalink": [1, 3], "ldcs_response_byt": [1, 3], "init_datalink": [1, 3], "kei": [1, 2, 3], "ld_ptr_inc": [1, 3], "ld_ptr_inc16": [1, 3], "ldc": [1, 3], "read_sib": [1, 3], "repeat": [1, 3], "set_phys": [1, 3], "st_ptr_inc": [1, 3], "st_ptr_inc16": [1, 3], "stc": [1, 3], "updidatalink16bit": [1, 3], "ld": [1, 3], "ld16": [1, 3], "st": [1, 3], "st16": [1, 3], "st_ptr": [1, 3], "updidatalink24bit": [1, 3], "nvmupdi": [1, 3], "chip_eras": [1, 3], "erase_eeprom": [1, 3], "erase_flash_pag": [1, 3], "write_eeprom": [1, 3], "write_flash": [1, 3], "write_fus": [1, 3], "write_user_row": [1, 3], "nvmupdip0": [1, 3], "nvmcmd_chip_eras": [1, 3], "nvmcmd_erase_eeprom": [1, 3], "nvmcmd_erase_pag": [1, 3], "nvmcmd_erase_write_pag": [1, 3], "nvmcmd_nop": [1, 3], "nvmcmd_page_buffer_clr": [1, 3], "nvmcmd_write_fus": [1, 3], "nvmcmd_write_pag": [1, 3], "nvmctrl_addr": [1, 3], "nvmctrl_ctrla": [1, 3], "nvmctrl_ctrlb": [1, 3], "nvmctrl_data": [1, 3], "nvmctrl_intctrl": [1, 3], "nvmctrl_intflag": [1, 3], "nvmctrl_statu": [1, 3], "status_eeprom_busy_bp": [1, 3], "status_flash_busy_bp": [1, 3], "status_write_error_bp": [1, 3], "execute_nvm_command": [1, 3], "wait_nvm_readi": [1, 3], "write_nvm": [1, 3], "nvmupdip2": [1, 3], "nvmcmd_eeprom_byte_eras": [1, 3], "nvmcmd_eeprom_eras": [1, 3], "nvmcmd_eeprom_erase_writ": [1, 3], "nvmcmd_eeprom_writ": [1, 3], "nvmcmd_flash_page_eras": [1, 3], "nvmcmd_flash_writ": [1, 3], "nvmcmd_nocmd": [1, 3], "nvmcmd_noop": [1, 3], "status_write_error_bm": [1, 3], "nvmupdip3": [1, 3], "nvmcmd_eeprom_page_buffer_clear": [1, 3], "nvmcmd_eeprom_page_eras": [1, 3], "nvmcmd_eeprom_page_erase_writ": [1, 3], "nvmcmd_eeprom_page_writ": [1, 3], "nvmcmd_flash_page_buffer_clear": [1, 3], "nvmcmd_flash_page_erase_writ": [1, 3], "nvmcmd_flash_page_writ": [1, 3], "updiphys": [1, 3], "initialise_seri": [1, 3], "receiv": [1, 3], "send": [1, 3], "send_double_break": [1, 3], "sib": [1, 3], "updireadwrit": [1, 3], "read_byt": [1, 3], "read_c": [1, 3], "write_byt": [1, 3], "write_c": [1, 3], "write_kei": [1, 3], "expir": [1, 3], "specif": [1, 2], "class": [1, 2, 3], "avr8protocol": 1, "avr8target": 1, "object": [1, 2, 3], "gener": [1, 2, 3], "wrapper": 1, "map": 1, "activ": 1, "deactiv": 1, "enter": [1, 3], "paramet": [1, 2, 3], "some": 1, "static": [1, 2], "data": [1, 3], "check": [1, 2, 3], "buffer": [1, 3], "repres": [1, 2], "blank": 1, "bytearrai": [1, 3], "return": [1, 2, 3], "true": [1, 3], "boolean": 1, "leav": 1, "memory_nam": 1, "start_address": 1, "numbyt": 1, "memori": [1, 2, 3], "identifi": 1, "defin": 1, "first": 1, "number": [1, 3], "byte": [1, 2, 3], "out": [1, 3], "memtype_str": 1, "string": [1, 3], "an": [1, 2, 3], "memtyp": 1, "str": [1, 3], "friendli": 1, "memory_typ": 1, "bytes_to_read": 1, "read_chunk_s": 1, "chunk": 1, "each": [1, 2], "separ": 1, "data_to_writ": 1, "write_chunk_s": 1, "allow_blank_skip": 1, "fals": [1, 3], "raw": 1, "valu": [1, 2, 3], "allow": 1, "skip": 1, "locat": [1, 3], "0xff": 1, "mega": 1, "device_info": [1, 2], "set": [1, 3], "up": [1, 2, 3], "config": 1, "dict": [1, 2, 3], "tini": 1, "debug": 1, "handl": [1, 3], "tinyx": 1, "use_reset": 1, "user_interaction_callback": 1, "none": [1, 3], "overrid": 1, "high": [1, 3], "voltag": 1, "extern": 1, "dure": 1, "callback": 1, "call": 1, "interact": 1, "do": 1, "toggl": 1, "could": 1, "ask": 1, "halt": 1, "execut": [1, 3], "wait": [1, 3], "respond": 1, "default": [1, 3], "behavior": 1, "anoth": 1, "script": 1, "automat": 1, "clear": 1, "hardwar": 1, "breakpoint": 1, "break": [1, 3], "instruct": 1, "core": 1, "flag": [1, 2, 3], "ocd": 1, "regist": 1, "part": [1, 2], "endian": 1, "nap": 1, "enabl": [1, 3], "deprec": 1, "avr8_phy_intf_pdi_1w": 1, "khz": 1, "100": [1, 3], "use_hv": 1, "updi_hv_non": 1, "clock": 1, "speed": 1, "kilohertz": 1, "baud": [1, 3], "kbp": 1, "puls": 1, "900": 1, "system": [1, 3], "block": [1, 3], "pointer": [1, 3], "pdi": [1, 3], "avr8_phy_intf_pdi": 1, "4000": 1, "avr32protocol": 1, "avr32target": 1, "5": [1, 3], "awir": 1, "via": 1, "hid": 1, "insid": 1, "driver": [1, 3], "samd21": 1, "friend": 1, "64": 1, "68": 1, "65": 1, "6": [1, 3], "250": 1, "1090527232": 1, "3000": 1, "16": [1, 3], "256": 1, "65536": 1, "24": [1, 3], "16384": 1, "7": [1, 3], "1090535424": 1, "28": 1, "20": [1, 3], "32": [1, 2, 3], "2": [1, 3], "8": [1, 3], "perform": 1, "chip": [1, 3], "dsu": 1, "clk_hz": 1, "initialis": [1, 3], "row": [1, 3], "lock": [1, 3], "readi": [1, 3], "state": [1, 3], "wrap": 1, "done": 1, "onc": 1, "prepar": 1, "arrai": [1, 3], "re": 1, "after": [1, 3], "certain": 1, "oper": 1, "region": 1, "issu": 1, "ur": 1, "ha": [1, 2, 3], "effect": 1, "bootprot": 1, "timeout_m": [1, 3], "1000": 1, "data_buff": 1, "word": [1, 3], "m4": 1, "reg": 1, "port": [1, 3], "boundari": 1, "doe": [1, 3], "actual": [1, 2, 3], "job": 1, "ani": [1, 2, 3], "need": 1, "should": 1, "either": 1, "serial": [1, 3], "instanc": 1, "one": [1, 3], "sub": [1, 2], "e": 1, "g": 1, "com1": 1, "special": 1, "If": 1, "both": 1, "usb_seri": 1, "pick": 1, "match": 1, "than": 1, "except": 1, "rais": [1, 3], "incorrect": 1, "noth": 1, "end": [1, 2], "take": 1, "down": 1, "model": [1, 2], "without": [1, 3], "won": 1, "t": 1, "fail": [1, 3], "even": 1, "singl": [1, 3], "specifi": 1, "affect": 1, "To": 1, "widest": 1, "bulk": 1, "eesav": 1, "protect": 1, "cpd_n": 1, "option": [1, 3], "complet": 1, "segment": [1, 2], "just": [1, 3], "propag": 1, "through": 1, "devicesupportscript": 1, "normal": [1, 2], "session_start": 1, "valueerror": 1, "current": 1, "serialnumber_substr": 1, "list": [1, 2, 3], "host": 1, "empti": 1, "subset": 1, "Not": 1, "case": 1, "sensit": 1, "last": 1, "123": 1, "mchp3252000000043123": 1, "mcp32520001230000000": 1, "hidtransport": 1, "hidtransportbas": 1, "hidtool": 1, "get": [1, 2], "given": [1, 2, 3], "One": 1, "chiperaseeffect": [1, 2], "upon": 1, "miss": 1, "not_eras": 1, "info": [1, 2], "about": [1, 2], "dictionari": [1, 2], "correspond": [1, 2], "hold": 1, "side": 1, "too": 1, "onboard": 1, "must": 1, "befor": [1, 3], "necessari": 1, "typic": 1, "offset_byt": 1, "py": [1, 2], "ignor": 1, "offset": 1, "within": [1, 3], "until": [1, 3], "namedtupl": 1, "two": 1, "field": 1, "memory_info": 1, "contain": [1, 2, 3], "item": 1, "per": 1, "try": 1, "outsid": 1, "suppli": 1, "setpoint": 1, "float": [1, 3], "capabl": 1, "measur": 1, "interrog": 1, "trigger": 1, "reboot": 1, "releas": [1, 3], "build": 1, "initi": [1, 3], "alreadi": [1, 3], "new": 1, "scratch": 1, "thrown": 1, "due": 1, "incorrectli": 1, "unabl": 1, "being": 1, "hexfil": [1, 2], "verifi": 1, "against": 1, "assum": 1, "collect": 1, "input": 1, "expos": 1, "client": 1, "device_nam": 1, "load": [1, 3], "folder": [1, 2], "still": 1, "appli": [1, 3], "let": 1, "store": [1, 2, 3], "clk": 1, "path": 1, "pack": 1, "frequenc": 1, "rate": [1, 3], "serialexcept": 1, "instead": [1, 3], "statu": [1, 3], "written": [1, 3], "use_events_for_run_stop_st": 1, "hid_transport": 1, "commun": [1, 3], "event": 1, "channel": 1, "poll": 1, "do_break": 1, "bool": [1, 3], "forc": 1, "absolut": 1, "flush": 1, "incom": 1, "signal": 1, "transit": 1, "counter": [1, 3], "pc": 1, "program_count": 1, "r0": 1, "r31": 1, "point": 1, "put": 1, "insert": 1, "reach": 1, "900000": 1, "hz": 1, "softwar": 1, "restor": 1, "origin": 1, "remov": 1, "immedi": 1, "sram": 1, "flash_data": 1, "bit": [1, 2, 3], "sreg": 1, "regardless": 1, "cycl": 1, "request": [1, 2, 3], "clean": 1, "layer": [1, 3], "properti": [1, 3], "rel": 1, "pyupdi": 1, "esqu": 1, "nvmserialupdi": 1, "dev_info": 1, "creat": 1, "wai": 1, "displai": 1, "nvmpic": 1, "nvmmzeroplu": 1, "samd": 1, "nb": 1, "stub": 1, "featur": 1, "nvmdebugwir": 1, "dw": 1, "nvmspi": 1, "tinytini": 1, "nvmtpi": 1, "nvmmegaavrjtag": 1, "megajtag": 1, "nvmxmega": 1, "nvmavr32": 1, "abstract": 1, "data0": 1, "data1": 1, "second": [1, 3], "area": 1, "mask": 1, "vari": 1, "width": 1, "emul": 1, "did": 1, "built": 1, "memory_block": 1, "chunk_siz": 1, "pad_valu": 1, "pad": 1, "data_s": 1, "align": 1, "housekeep": 1, "housekeepingprotocol": 1, "jtagice3housekeepingprotocol": 1, "line_wrap": 1, "phantom_byt": 1, "show": 1, "how": 1, "mani": 1, "phantom": 1, "ad": 1, "xx": 1, "bin_filenam": 1, "bin": 1, "filenam": 1, "refer": 1, "indic": 1, "success": [1, 3], "failur": 1, "toward": 1, "hexfileutil": 1, "device_memory_info": 1, "three": 1, "everi": 1, "2nd": 1, "memory_seg": 1, "baudrat": 1, "115200": [1, 3], "helper": [1, 3], "pymcuprog_error": 1, "msg": 1, "attempt": [1, 3], "ctrl": [1, 3], "condit": [1, 3], "occur": [1, 3], "usual": 1, "correctli": 1, "spec": 1, "wa": 1, "document": 1, "simpl": [2, 3], "devic": [2, 3], "servic": 2, "devicenam": 2, "These": 2, "ideal": 2, "dfp": 2, "generate_device_info": 2, "hand": 2, "fetch": 2, "address_param": 2, "multipli": 2, "convert": 2, "byte_address": 2, "address_typ": 2, "size_typ": 2, "v": 2, "support": 2, "look": 2, "definit": 2, "common": 2, "interfac": 2, "classmethod": 2, "valid": 2, "baseclass": 2, "subclass": 2, "data_space_bas": 2, "relat": 2, "real": 2, "alia": 2, "sever": 2, "over": 3, "prog": 3, "otherwis": 3, "disabl": 3, "apply_reset": 3, "boot": 3, "proven": 3, "millisecond": 3, "wait_for_high": 3, "writeabl": 3, "mechan": 3, "go": 3, "low": 3, "turn": 3, "someth": 3, "readabl": 3, "decod": 3, "init": 3, "dl": 3, "64b": 3, "128b": 3, "256b": 3, "post": 3, "increment": 3, "space": 3, "inject": 3, "ack": 3, "direct": 3, "directli": 3, "p": 3, "present": 3, "tiny0": 3, "mega0": 3, "tiny817": 3, "mega4809": 3, "method": 3, "command": 3, "period": 3, "encount": 3, "use_word_access": 3, "nvmcommand": 3, "By": 3, "page_writ": 3, "nvmcmd_page_writ": 3, "commit": 3, "da": 3, "db": 3, "dd": 3, "48": 3, "19": 3, "18": 3, "variant": 3, "so": 3, "ea": 3, "31": 3, "23": 3, "21": 3, "15": 3, "12": 3, "112": 3, "standard": 3, "bp": 3, "frame": 3, "known": 3, "char": 3, "inter": 3, "delai": 3, "echo": 3, "back": 3, "doubl": 3, "slower": 3, "zero": 3, "guarante": 3, "push": 3, "machin": 3, "albeit": 3, "rather": 3, "brutal": 3, "come": 3, "datalink": 3, "form": 3, "make": 3, "u": 3, "timer": 3}, "objects": {"": [[1, 0, 0, "-", "pymcuprog"]], "pymcuprog": [[1, 1, 1, "", "BUILD_DATE"], [1, 0, 0, "-", "avr32target"], [1, 0, 0, "-", "avr8target"], [1, 0, 0, "-", "avrdebugger"], [1, 0, 0, "-", "backend"], [2, 0, 0, "-", "deviceinfo"], [1, 0, 0, "-", "hexfileutils"], [1, 0, 0, "-", "nvm"], [1, 0, 0, "-", "nvmavr32"], [1, 0, 0, "-", "nvmdebugwire"], [1, 0, 0, "-", "nvmmegaavrjtag"], [1, 0, 0, "-", "nvmmzeroplus"], [1, 0, 0, "-", "nvmpic"], [1, 0, 0, "-", "nvmserialupdi"], [1, 0, 0, "-", "nvmspi"], [1, 0, 0, "-", "nvmtpi"], [1, 0, 0, "-", "nvmupdi"], [1, 0, 0, "-", "nvmxmega"], [1, 0, 0, "-", "programmer"], [1, 0, 0, "-", "pymcuprog_errors"], [1, 0, 0, "-", "samtarget"], [3, 0, 0, "-", "serialupdi"], [1, 0, 0, "-", "toolconnection"], [1, 0, 0, "-", "utils"]], "pymcuprog.avr32target": [[1, 2, 1, "", "Avr32Device"]], "pymcuprog.avr32target.Avr32Device": [[1, 3, 1, "", "activate_physical"], [1, 3, 1, "", "deactivate_physical"], [1, 3, 1, "", "setup_prog_session"]], "pymcuprog.avr8target": [[1, 2, 1, "", "AvrDevice"], [1, 2, 1, "", "MegaAvrJtagTarget"], [1, 2, 1, "", "TinyAvrTarget"], [1, 2, 1, "", "TinyXAvrTarget"], [1, 2, 1, "", "XmegaAvrTarget"]], "pymcuprog.avr8target.AvrDevice": [[1, 3, 1, "", "activate_physical"], [1, 3, 1, "", "deactivate_physical"], [1, 3, 1, "", "enter_progmode"], [1, 3, 1, "", "erase"], [1, 3, 1, "", "is_blank"], [1, 3, 1, "", "leave_progmode"], [1, 3, 1, "", "memory_read"], [1, 3, 1, "", "memory_write"], [1, 3, 1, "", "memtype_read_from_string"], [1, 3, 1, "", "read_memory_section"], [1, 3, 1, "", "write_memory_section"]], "pymcuprog.avr8target.MegaAvrJtagTarget": [[1, 3, 1, "", "setup_config"], [1, 3, 1, "", "setup_prog_session"]], "pymcuprog.avr8target.TinyAvrTarget": [[1, 3, 1, "", "setup_debug_session"]], "pymcuprog.avr8target.TinyXAvrTarget": [[1, 3, 1, "", "activate_physical"], [1, 3, 1, "", "breakpoint_clear"], [1, 3, 1, "", "breakpoint_set"], [1, 3, 1, "", "execute_instruction"], [1, 3, 1, "", "execute_patch"], [1, 3, 1, "", "memtype_write_from_string"], [1, 3, 1, "", "ocdregfile_read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "run_with_power_nap"], [1, 3, 1, "", "setup_config"], [1, 3, 1, "", "setup_debug_session"], [1, 3, 1, "", "setup_prog_session"], [1, 3, 1, "", "sib_read"], [1, 3, 1, "", "stack_pointer_read"]], "pymcuprog.avr8target.XmegaAvrTarget": [[1, 3, 1, "", "setup_config"], [1, 3, 1, "", "setup_debug_session"], [1, 3, 1, "", "setup_prog_session"]], "pymcuprog.avrdebugger": [[1, 2, 1, "", "AvrDebugger"]], "pymcuprog.avrdebugger.AvrDebugger": [[1, 3, 1, "", "attach"], [1, 3, 1, "", "detach"], [1, 3, 1, "", "eeprom_read"], [1, 3, 1, "", "eeprom_write"], [1, 3, 1, "", "flash_read"], [1, 3, 1, "", "flush_events"], [1, 3, 1, "", "hardware_breakpoint_clear"], [1, 3, 1, "", "hardware_breakpoint_set"], [1, 3, 1, "", "poll_event"], [1, 3, 1, "", "program_counter_read"], [1, 3, 1, "", "program_counter_write"], [1, 3, 1, "", "register_file_read"], [1, 3, 1, "", "register_file_write"], [1, 3, 1, "", "reset"], [1, 3, 1, "", "run"], [1, 3, 1, "", "run_to"], [1, 3, 1, "", "setup_session"], [1, 3, 1, "", "software_breakpoint_clear"], [1, 3, 1, "", "software_breakpoint_clear_all"], [1, 3, 1, "", "software_breakpoint_set"], [1, 3, 1, "", "sram_read"], [1, 3, 1, "", "sram_write"], [1, 3, 1, "", "stack_pointer_read"], [1, 3, 1, "", "start_debugging"], [1, 3, 1, "", "status_register_read"], [1, 3, 1, "", "step"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "stop_debugging"]], "pymcuprog.backend": [[1, 2, 1, "", "Backend"], [1, 2, 1, "", "SessionConfig"]], "pymcuprog.backend.Backend": [[1, 4, 1, "", "API_VERSION"], [1, 3, 1, "", "connect_to_tool"], [1, 3, 1, "", "disconnect_from_tool"], [1, 3, 1, "", "end_session"], [1, 3, 1, "", "erase"], [1, 3, 1, "", "get_api_version"], [1, 3, 1, "", "get_available_hid_tools"], [1, 3, 1, "", "get_chiperase_effect"], [1, 3, 1, "", "get_device_info"], [1, 3, 1, "", "get_supported_devices"], [1, 3, 1, "", "hold_in_reset"], [1, 3, 1, "", "is_isolated_erase_possible"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "read_kit_device"], [1, 3, 1, "", "read_memory"], [1, 3, 1, "", "read_supply_voltage_setpoint"], [1, 3, 1, "", "read_target_voltage"], [1, 3, 1, "", "read_tool_info"], [1, 3, 1, "", "read_usb_voltage"], [1, 3, 1, "", "reboot_tool"], [1, 3, 1, "", "release_from_reset"], [1, 3, 1, "", "set_supply_voltage_setpoint"], [1, 3, 1, "", "start_session"], [1, 3, 1, "", "verify_hex"], [1, 3, 1, "", "verify_memory"], [1, 3, 1, "", "write_hex_to_target"], [1, 3, 1, "", "write_memory"]], "pymcuprog.backend.SessionConfig": [[1, 4, 1, "", "device"], [1, 4, 1, "", "interface"], [1, 4, 1, "", "interface_speed"], [1, 4, 1, "", "packpath"], [1, 4, 1, "", "special_options"]], "pymcuprog.deviceinfo": [[2, 0, 0, "-", "deviceinfo"], [2, 0, 0, "-", "deviceinfokeys"], [2, 0, 0, "-", "eraseflags"], [2, 0, 0, "-", "memorynames"]], "pymcuprog.deviceinfo.deviceinfo": [[2, 2, 1, "", "DeviceMemoryInfo"], [2, 5, 1, "", "get_supported_devices"], [2, 5, 1, "", "getdeviceinfo"]], "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo": [[2, 3, 1, "", "bytes_or_words"], [2, 3, 1, "", "memory_info_by_address"], [2, 3, 1, "", "memory_info_by_address_range"], [2, 3, 1, "", "memory_info_by_name"]], "pymcuprog.deviceinfo.deviceinfokeys": [[2, 2, 1, "", "DeviceInfoKeys"], [2, 2, 1, "", "DeviceInfoKeysAvr"], [2, 2, 1, "", "DeviceInfoKeysAvr32"], [2, 2, 1, "", "DeviceInfoKeysPic"], [2, 2, 1, "", "DeviceMemoryInfoKeys"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys": [[2, 4, 1, "", "ARCHITECTURE"], [2, 4, 1, "", "DEVICE_ID"], [2, 4, 1, "", "INTERFACE"], [2, 4, 1, "", "NAME"], [2, 3, 1, "", "get_all"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr": [[2, 4, 1, "", "ADDRESS_SIZE"], [2, 4, 1, "", "DATA_ADDRESS_SPACE"], [2, 4, 1, "", "HV_IMPLEMENTATION"], [2, 4, 1, "", "NVMCTRL_BASE"], [2, 4, 1, "", "OCD_BASE"], [2, 4, 1, "", "PROG_CLOCK_KHZ"], [2, 4, 1, "", "SYSCFG_BASE"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr32": [[2, 4, 1, "", "RESET_DOMAINS"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysPic": [[2, 4, 1, "", "DEFAULT_BULK_ERASE_ADDRESS"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys": [[2, 4, 1, "", "ADDRESS"], [2, 4, 1, "", "CHIPERASE_EFFECT"], [2, 4, 1, "", "ERASE_ADDRESS"], [2, 4, 1, "", "HEXFILE_ADDRESS"], [2, 4, 1, "", "HEXFILE_SIZE"], [2, 4, 1, "", "ISOLATED_ERASE"], [2, 4, 1, "", "NAME"], [2, 4, 1, "", "PAGE_SIZE"], [2, 4, 1, "", "READ_SIZE"], [2, 4, 1, "", "SIZE"], [2, 4, 1, "", "VERIFY_MASK"], [2, 4, 1, "", "WRITE_SIZE"], [2, 3, 1, "", "get_all"]], "pymcuprog.deviceinfo.eraseflags": [[2, 5, 1, "", "get_list_of_chiperase_effects"]], "pymcuprog.deviceinfo.memorynames": [[2, 2, 1, "", "MemoryNameAliases"], [2, 2, 1, "", "MemoryNames"]], "pymcuprog.deviceinfo.memorynames.MemoryNameAliases": [[2, 4, 1, "", "ALL"]], "pymcuprog.deviceinfo.memorynames.MemoryNames": [[2, 4, 1, "", "BOOT_ROW"], [2, 4, 1, "", "CALIBRATION_ROW"], [2, 4, 1, "", "CONFIG_WORD"], [2, 4, 1, "", "DCI"], [2, 4, 1, "", "DIA"], [2, 4, 1, "", "EEPROM"], [2, 4, 1, "", "FLASH"], [2, 4, 1, "", "FUSES"], [2, 4, 1, "", "ICD"], [2, 4, 1, "", "INTERNAL_SRAM"], [2, 4, 1, "", "LOCKBITS"], [2, 4, 1, "", "SIGNATURES"], [2, 4, 1, "", "USER_ID"], [2, 4, 1, "", "USER_ROW"], [2, 3, 1, "", "get_all"]], "pymcuprog.hexfileutils": [[1, 5, 1, "", "read_memories_from_hex"], [1, 5, 1, "", "remove_phantom_bytes"], [1, 5, 1, "", "write_memories_to_hex"], [1, 5, 1, "", "write_memory_to_hex"]], "pymcuprog.nvm": [[1, 2, 1, "", "NvmAccessProvider"], [1, 2, 1, "", "NvmAccessProviderCmsisDapAvr"], [1, 2, 1, "", "NvmAccessProviderCmsisDapTool"], [1, 5, 1, "", "get_nvm_access_provider"]], "pymcuprog.nvm.NvmAccessProvider": [[1, 3, 1, "", "hold_in_reset"], [1, 3, 1, "", "release_from_reset"], [1, 3, 1, "", "start"], [1, 3, 1, "", "stop"]], "pymcuprog.nvmavr32": [[1, 2, 1, "", "NvmAccessProviderCmsisDapAvr32"]], "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "write"]], "pymcuprog.nvmdebugwire": [[1, 2, 1, "", "NvmAccessProviderCmsisDapDebugwire"]], "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "write"]], "pymcuprog.nvmmegaavrjtag": [[1, 2, 1, "", "NvmAccessProviderCmsisDapMegaAvrJtag"]], "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "start"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "write"]], "pymcuprog.nvmmzeroplus": [[1, 2, 1, "", "NvmAccessProviderCmsisDapMZeroPlus"]], "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "write"]], "pymcuprog.nvmpic": [[1, 2, 1, "", "NvmAccessProviderCmsisDapPic"]], "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "hold_in_reset"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "release_from_reset"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "write"]], "pymcuprog.nvmserialupdi": [[1, 2, 1, "", "Dut"], [1, 2, 1, "", "NvmAccessProviderSerial"]], "pymcuprog.nvmserialupdi.NvmAccessProviderSerial": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "hold_in_reset"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "release_from_reset"], [1, 3, 1, "", "start"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "write"]], "pymcuprog.nvmspi": [[1, 2, 1, "", "NvmAccessProviderCmsisDapSpi"]], "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "hold_in_reset"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "release_from_reset"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "write"]], "pymcuprog.nvmtpi": [[1, 2, 1, "", "NvmAccessProviderCmsisDapTpi"]], "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "write"]], "pymcuprog.nvmupdi": [[1, 2, 1, "", "NvmAccessProviderCmsisDapUpdi"]], "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "hold_in_reset"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "release_from_reset"], [1, 3, 1, "", "start"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "write"]], "pymcuprog.nvmxmega": [[1, 2, 1, "", "NvmAccessProviderCmsisDapXmega"]], "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "read"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "start"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "write"]], "pymcuprog.programmer": [[1, 2, 1, "", "Programmer"]], "pymcuprog.programmer.Programmer": [[1, 3, 1, "", "erase"], [1, 3, 1, "", "get_device_memory_info"], [1, 3, 1, "", "get_device_model"], [1, 3, 1, "", "hold_in_reset"], [1, 3, 1, "", "load_device"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "read_memory"], [1, 3, 1, "", "release_from_reset"], [1, 3, 1, "", "set_options"], [1, 3, 1, "", "setup_device"], [1, 3, 1, "", "start"], [1, 3, 1, "", "stop"], [1, 3, 1, "", "verify_memory"], [1, 3, 1, "", "write_memory"]], "pymcuprog.pymcuprog_errors": [[1, 6, 1, "", "PymcuprogDeviceLockedError"], [1, 6, 1, "", "PymcuprogEraseError"], [1, 6, 1, "", "PymcuprogError"], [1, 6, 1, "", "PymcuprogNotSupportedError"], [1, 6, 1, "", "PymcuprogSerialUpdiError"], [1, 6, 1, "", "PymcuprogSerialUpdiLockedError"], [1, 6, 1, "", "PymcuprogSerialUpdiNvmError"], [1, 6, 1, "", "PymcuprogSerialUpdiNvmTimeout"], [1, 6, 1, "", "PymcuprogSerialUpdiProtocolError"], [1, 6, 1, "", "PymcuprogSessionConfigError"], [1, 6, 1, "", "PymcuprogSessionError"], [1, 6, 1, "", "PymcuprogTargetVoltageError"], [1, 6, 1, "", "PymcuprogToolConfigurationError"], [1, 6, 1, "", "PymcuprogToolConnectionError"]], "pymcuprog.samtarget": [[1, 2, 1, "", "SamD2xTarget"], [1, 2, 1, "", "SamM4Target"], [1, 2, 1, "", "SamTarget"]], "pymcuprog.samtarget.SamD2xTarget": [[1, 4, 1, "", "CMD_EAR"], [1, 4, 1, "", "CMD_LR"], [1, 4, 1, "", "CMD_PBC"], [1, 4, 1, "", "CMD_UR"], [1, 4, 1, "", "CMD_WAP"], [1, 4, 1, "", "CMD_WP"], [1, 4, 1, "", "DAP_TRANSFER_IDLE_CYCLES"], [1, 4, 1, "", "DAP_TRANSFER_MATCH_RETRY"], [1, 4, 1, "", "DAP_TRANSFER_RETRY_COUNT"], [1, 4, 1, "", "DSU_ADDRESS"], [1, 4, 1, "", "DSU_CHIP_ERASE_TIMEOUT_MS"], [1, 4, 1, "", "DSU_CTRL_OFFSET"], [1, 4, 1, "", "DSU_CTRL_STATUS_CE_COMMAND_MASK"], [1, 4, 1, "", "DSU_CTRL_STATUS_DONE_MASK"], [1, 4, 1, "", "DSU_CTRL_STATUS_PROT_MASK"], [1, 4, 1, "", "DSU_DID_OFFSET"], [1, 4, 1, "", "DSU_EXTERNAL_OFFSET"], [1, 4, 1, "", "FLASH_LOCK_REGIONS"], [1, 4, 1, "", "FLASH_LOCK_REGION_SIZE"], [1, 4, 1, "", "NVM_CTRLB_MANW_BIT"], [1, 4, 1, "", "NVM_CTRL_ADDRESS"], [1, 4, 1, "", "NVM_CTRL_ADDR_OFFSET"], [1, 4, 1, "", "NVM_CTRL_CTRLB_OFFSET"], [1, 4, 1, "", "NVM_CTRL_CTRL_OFFSET"], [1, 4, 1, "", "NVM_CTRL_INTFLAG_OFFSET"], [1, 4, 1, "", "NVM_CTRL_LOCK_OFFSET"], [1, 4, 1, "", "NVM_CTRL_STATUS_OFFSET"], [1, 4, 1, "", "NVM_INT_ERROR_BIT"], [1, 4, 1, "", "NVM_INT_READY_BIT"], [1, 4, 1, "", "NVM_STATUS_LOCKE"], [1, 4, 1, "", "NVM_STATUS_NVME"], [1, 4, 1, "", "NVM_STATUS_PROGE"], [1, 4, 1, "", "NVM_STATUS_SB"], [1, 3, 1, "", "chip_erase_dsu"], [1, 3, 1, "", "connect"], [1, 3, 1, "", "disconnect"], [1, 3, 1, "", "erase_user_row"], [1, 3, 1, "", "is_device_locked"], [1, 3, 1, "", "is_flash_ready"], [1, 3, 1, "", "nvm_command"], [1, 3, 1, "", "post_flash_write"], [1, 3, 1, "", "pre_flash_write"], [1, 3, 1, "", "read_device_id"], [1, 3, 1, "", "read_flash"], [1, 3, 1, "", "read_user_row"], [1, 3, 1, "", "reinitialise"], [1, 3, 1, "", "set_nvmctrl_address"], [1, 3, 1, "", "unlock_all_regions"], [1, 3, 1, "", "wait_flash_ready"], [1, 3, 1, "", "write_flash_page"], [1, 3, 1, "", "write_user_row_word"]], "pymcuprog.samtarget.SamTarget": [[1, 3, 1, "", "ap_read"], [1, 3, 1, "", "ap_write"], [1, 3, 1, "", "dp_read"], [1, 3, 1, "", "dp_write"], [1, 3, 1, "", "read_idcode"]], "pymcuprog.serialupdi": [[3, 0, 0, "-", "application"], [3, 0, 0, "-", "constants"], [3, 0, 0, "-", "link"], [3, 0, 0, "-", "nvm"], [3, 0, 0, "-", "nvmp0"], [3, 0, 0, "-", "nvmp2"], [3, 0, 0, "-", "nvmp3"], [3, 0, 0, "-", "physical"], [3, 0, 0, "-", "readwrite"], [3, 0, 0, "-", "timeout"]], "pymcuprog.serialupdi.application": [[3, 2, 1, "", "UpdiApplication"], [3, 5, 1, "", "decode_sib"]], "pymcuprog.serialupdi.application.UpdiApplication": [[3, 3, 1, "", "enter_progmode"], [3, 3, 1, "", "in_prog_mode"], [3, 3, 1, "", "leave_progmode"], [3, 3, 1, "", "read_data"], [3, 3, 1, "", "read_data_words"], [3, 3, 1, "", "read_device_info"], [3, 3, 1, "", "reset"], [3, 3, 1, "", "unlock"], [3, 3, 1, "", "wait_unlocked"], [3, 3, 1, "", "wait_urow_prog"], [3, 3, 1, "", "write_data"], [3, 3, 1, "", "write_data_words"], [3, 3, 1, "", "write_user_row_locked_device"]], "pymcuprog.serialupdi.link": [[3, 2, 1, "", "UpdiDatalink"], [3, 2, 1, "", "UpdiDatalink16bit"], [3, 2, 1, "", "UpdiDatalink24bit"]], "pymcuprog.serialupdi.link.UpdiDatalink": [[3, 4, 1, "", "LDCS_RESPONSE_BYTES"], [3, 3, 1, "", "init_datalink"], [3, 3, 1, "", "key"], [3, 3, 1, "", "ld_ptr_inc"], [3, 3, 1, "", "ld_ptr_inc16"], [3, 3, 1, "", "ldcs"], [3, 3, 1, "", "read_sib"], [3, 3, 1, "", "repeat"], [3, 3, 1, "", "set_physical"], [3, 3, 1, "", "st_ptr_inc"], [3, 3, 1, "", "st_ptr_inc16"], [3, 3, 1, "", "stcs"]], "pymcuprog.serialupdi.link.UpdiDatalink16bit": [[3, 3, 1, "", "ld"], [3, 3, 1, "", "ld16"], [3, 3, 1, "", "st"], [3, 3, 1, "", "st16"], [3, 3, 1, "", "st_ptr"]], "pymcuprog.serialupdi.link.UpdiDatalink24bit": [[3, 3, 1, "", "ld"], [3, 3, 1, "", "ld16"], [3, 3, 1, "", "st"], [3, 3, 1, "", "st16"], [3, 3, 1, "", "st_ptr"]], "pymcuprog.serialupdi.nvm": [[3, 2, 1, "", "NvmUpdi"]], "pymcuprog.serialupdi.nvm.NvmUpdi": [[3, 3, 1, "", "chip_erase"], [3, 3, 1, "", "erase_eeprom"], [3, 3, 1, "", "erase_flash_page"], [3, 3, 1, "", "erase_user_row"], [3, 3, 1, "", "write_eeprom"], [3, 3, 1, "", "write_flash"], [3, 3, 1, "", "write_fuse"], [3, 3, 1, "", "write_user_row"]], "pymcuprog.serialupdi.nvmp0": [[3, 2, 1, "", "NvmUpdiP0"]], "pymcuprog.serialupdi.nvmp0.NvmUpdiP0": [[3, 4, 1, "", "NVMCMD_CHIP_ERASE"], [3, 4, 1, "", "NVMCMD_ERASE_EEPROM"], [3, 4, 1, "", "NVMCMD_ERASE_PAGE"], [3, 4, 1, "", "NVMCMD_ERASE_WRITE_PAGE"], [3, 4, 1, "", "NVMCMD_NOP"], [3, 4, 1, "", "NVMCMD_PAGE_BUFFER_CLR"], [3, 4, 1, "", "NVMCMD_WRITE_FUSE"], [3, 4, 1, "", "NVMCMD_WRITE_PAGE"], [3, 4, 1, "", "NVMCTRL_ADDR"], [3, 4, 1, "", "NVMCTRL_CTRLA"], [3, 4, 1, "", "NVMCTRL_CTRLB"], [3, 4, 1, "", "NVMCTRL_DATA"], [3, 4, 1, "", "NVMCTRL_INTCTRL"], [3, 4, 1, "", "NVMCTRL_INTFLAGS"], [3, 4, 1, "", "NVMCTRL_STATUS"], [3, 4, 1, "", "STATUS_EEPROM_BUSY_bp"], [3, 4, 1, "", "STATUS_FLASH_BUSY_bp"], [3, 4, 1, "", "STATUS_WRITE_ERROR_bp"], [3, 3, 1, "", "chip_erase"], [3, 3, 1, "", "erase_eeprom"], [3, 3, 1, "", "erase_flash_page"], [3, 3, 1, "", "erase_user_row"], [3, 3, 1, "", "execute_nvm_command"], [3, 3, 1, "", "wait_nvm_ready"], [3, 3, 1, "", "write_eeprom"], [3, 3, 1, "", "write_flash"], [3, 3, 1, "", "write_fuse"], [3, 3, 1, "", "write_nvm"], [3, 3, 1, "", "write_user_row"]], "pymcuprog.serialupdi.nvmp2": [[3, 2, 1, "", "NvmUpdiP2"]], "pymcuprog.serialupdi.nvmp2.NvmUpdiP2": [[3, 4, 1, "", "NVMCMD_CHIP_ERASE"], [3, 4, 1, "", "NVMCMD_EEPROM_BYTE_ERASE"], [3, 4, 1, "", "NVMCMD_EEPROM_ERASE"], [3, 4, 1, "", "NVMCMD_EEPROM_ERASE_WRITE"], [3, 4, 1, "", "NVMCMD_EEPROM_WRITE"], [3, 4, 1, "", "NVMCMD_FLASH_PAGE_ERASE"], [3, 4, 1, "", "NVMCMD_FLASH_WRITE"], [3, 4, 1, "", "NVMCMD_NOCMD"], [3, 4, 1, "", "NVMCMD_NOOP"], [3, 4, 1, "", "NVMCTRL_ADDR"], [3, 4, 1, "", "NVMCTRL_CTRLA"], [3, 4, 1, "", "NVMCTRL_CTRLB"], [3, 4, 1, "", "NVMCTRL_DATA"], [3, 4, 1, "", "NVMCTRL_INTCTRL"], [3, 4, 1, "", "NVMCTRL_INTFLAGS"], [3, 4, 1, "", "NVMCTRL_STATUS"], [3, 4, 1, "", "STATUS_EEPROM_BUSY_bp"], [3, 4, 1, "", "STATUS_FLASH_BUSY_bp"], [3, 4, 1, "", "STATUS_WRITE_ERROR_bm"], [3, 4, 1, "", "STATUS_WRITE_ERROR_bp"], [3, 3, 1, "", "chip_erase"], [3, 3, 1, "", "erase_eeprom"], [3, 3, 1, "", "erase_flash_page"], [3, 3, 1, "", "erase_user_row"], [3, 3, 1, "", "execute_nvm_command"], [3, 3, 1, "", "wait_nvm_ready"], [3, 3, 1, "", "write_eeprom"], [3, 3, 1, "", "write_flash"], [3, 3, 1, "", "write_fuse"], [3, 3, 1, "", "write_nvm"], [3, 3, 1, "", "write_user_row"]], "pymcuprog.serialupdi.nvmp3": [[3, 2, 1, "", "NvmUpdiP3"]], "pymcuprog.serialupdi.nvmp3.NvmUpdiP3": [[3, 4, 1, "", "NVMCMD_CHIP_ERASE"], [3, 4, 1, "", "NVMCMD_EEPROM_ERASE"], [3, 4, 1, "", "NVMCMD_EEPROM_PAGE_BUFFER_CLEAR"], [3, 4, 1, "", "NVMCMD_EEPROM_PAGE_ERASE"], [3, 4, 1, "", "NVMCMD_EEPROM_PAGE_ERASE_WRITE"], [3, 4, 1, "", "NVMCMD_EEPROM_PAGE_WRITE"], [3, 4, 1, "", "NVMCMD_FLASH_PAGE_BUFFER_CLEAR"], [3, 4, 1, "", "NVMCMD_FLASH_PAGE_ERASE"], [3, 4, 1, "", "NVMCMD_FLASH_PAGE_ERASE_WRITE"], [3, 4, 1, "", "NVMCMD_FLASH_PAGE_WRITE"], [3, 4, 1, "", "NVMCMD_NOCMD"], [3, 4, 1, "", "NVMCMD_NOOP"], [3, 4, 1, "", "NVMCTRL_ADDR"], [3, 4, 1, "", "NVMCTRL_CTRLA"], [3, 4, 1, "", "NVMCTRL_CTRLB"], [3, 4, 1, "", "NVMCTRL_DATA"], [3, 4, 1, "", "NVMCTRL_INTCTRL"], [3, 4, 1, "", "NVMCTRL_INTFLAGS"], [3, 4, 1, "", "NVMCTRL_STATUS"], [3, 4, 1, "", "STATUS_EEPROM_BUSY_bp"], [3, 4, 1, "", "STATUS_FLASH_BUSY_bp"], [3, 4, 1, "", "STATUS_WRITE_ERROR_bm"], [3, 4, 1, "", "STATUS_WRITE_ERROR_bp"], [3, 3, 1, "", "chip_erase"], [3, 3, 1, "", "erase_eeprom"], [3, 3, 1, "", "erase_flash_page"], [3, 3, 1, "", "erase_user_row"], [3, 3, 1, "", "execute_nvm_command"], [3, 3, 1, "", "wait_nvm_ready"], [3, 3, 1, "", "write_eeprom"], [3, 3, 1, "", "write_flash"], [3, 3, 1, "", "write_fuse"], [3, 3, 1, "", "write_nvm"], [3, 3, 1, "", "write_user_row"]], "pymcuprog.serialupdi.physical": [[3, 2, 1, "", "UpdiPhysical"]], "pymcuprog.serialupdi.physical.UpdiPhysical": [[3, 3, 1, "", "initialise_serial"], [3, 3, 1, "", "receive"], [3, 3, 1, "", "send"], [3, 3, 1, "", "send_double_break"], [3, 3, 1, "", "sib"]], "pymcuprog.serialupdi.readwrite": [[3, 2, 1, "", "UpdiReadWrite"]], "pymcuprog.serialupdi.readwrite.UpdiReadWrite": [[3, 3, 1, "", "read_byte"], [3, 3, 1, "", "read_cs"], [3, 3, 1, "", "read_data"], [3, 3, 1, "", "read_data_words"], [3, 3, 1, "", "read_sib"], [3, 3, 1, "", "write_byte"], [3, 3, 1, "", "write_cs"], [3, 3, 1, "", "write_data"], [3, 3, 1, "", "write_data_words"], [3, 3, 1, "", "write_key"]], "pymcuprog.serialupdi.timeout": [[3, 2, 1, "", "Timeout"]], "pymcuprog.serialupdi.timeout.Timeout": [[3, 3, 1, "", "expired"]], "pymcuprog.toolconnection": [[1, 2, 1, "", "ToolConnection"], [1, 2, 1, "", "ToolSerialConnection"], [1, 2, 1, "", "ToolUsbHidConnection"]], "pymcuprog.toolconnection.ToolSerialConnection": [[1, 4, 1, "", "serialport"]], "pymcuprog.toolconnection.ToolUsbHidConnection": [[1, 4, 1, "", "serialnumber"], [1, 4, 1, "", "tool_name"]], "pymcuprog.utils": [[1, 5, 1, "", "compare"], [1, 5, 1, "", "enum"], [1, 5, 1, "", "pad_to_size"], [1, 5, 1, "", "pagealign"], [1, 5, 1, "", "print_tool_info"], [1, 5, 1, "", "read_supply_voltage_setpoint"], [1, 5, 1, "", "read_target_voltage"], [1, 5, 1, "", "read_tool_info"], [1, 5, 1, "", "read_usb_voltage"], [1, 5, 1, "", "read_voltage_parameter"], [1, 5, 1, "", "set_supply_voltage_setpoint"], [1, 5, 1, "", "showdata"], [1, 5, 1, "", "verify_from_bin"]]}, "objtypes": {"0": "py:module", "1": "py:data", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:function", "6": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "data", "Python data"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "exception", "Python exception"]}, "titleterms": {"pymcuprog": [0, 1, 2, 3], "document": 0, "python": [0, 1], "mcu": [0, 1], "programm": [0, 1], "util": [0, 1], "overview": [0, 1], "command": [0, 1], "line": [0, 1], "interfac": [0, 1], "usag": [0, 1], "librari": [0, 1], "log": [0, 1], "depend": [0, 1], "support": [0, 1], "devic": [0, 1], "tool": [0, 1], "content": [0, 1, 2, 3], "indic": 0, "tabl": 0, "packag": [1, 2, 3], "subpackag": 1, "submodul": [1, 2, 3], "avr8": 1, "target": 1, "avr32": 1, "alpha": 1, "sam": 1, "backend": 1, "api": 1, "function": 1, "avr": 1, "debugg": 1, "nvm": [1, 3], "access": 1, "implement": 1, "updi": 1, "serialupdi": [1, 3], "pic": 1, "m0": 1, "debugwir": 1, "spi": 1, "tpi": 1, "megaavr": 1, "jtag": 1, "xmega": 1, "hex": 1, "file": 1, "connect": 1, "error": 1, "modul": [1, 2, 3], "deviceinfo": 2, "deviceinfokei": 2, "eraseflag": 2, "memorynam": 2, "applic": 3, "constant": 3, "link": 3, "nvmp0": 3, "nvmp2": 3, "nvmp3": 3, "physic": 3, "readwrit": 3, "timeout": 3}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"pymcuprog documentation": [[0, "pymcuprog-documentation"]], "Python MCU programmer utility": [[0, "python-mcu-programmer-utility"], [1, "python-mcu-programmer-utility"]], "Overview": [[0, "overview"], [1, "overview"]], "Command-line interface usage": [[0, "command-line-interface-usage"], [1, "command-line-interface-usage"]], "Library usage": [[0, "library-usage"], [1, "library-usage"]], "Logging": [[0, "logging"], [1, "logging"]], "Dependencies": [[0, "dependencies"], [1, "dependencies"]], "Supported devices and tools": [[0, "supported-devices-and-tools"], [1, "supported-devices-and-tools"]], "Contents:": [[0, null]], "Indices and tables": [[0, "indices-and-tables"]], "pymcuprog package": [[1, "pymcuprog-package"]], "Subpackages": [[1, "subpackages"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"]], "AVR8 target": [[1, "module-pymcuprog.avr8target"]], "AVR32 target (alpha)": [[1, "module-pymcuprog.avr32target"]], "SAM target (alpha)": [[1, "module-pymcuprog.samtarget"]], "Backend API (library functions)": [[1, "module-pymcuprog.backend"]], "Programmer API": [[1, "module-pymcuprog.programmer"]], "AVR debugger API (alpha)": [[1, "module-pymcuprog.avrdebugger"]], "NVM Access (implementations)": [[1, "module-pymcuprog.nvm"]], "NVM implementation: UPDI": [[1, "module-pymcuprog.nvmupdi"]], "NVM implementation: serialUPDI": [[1, "module-pymcuprog.nvmserialupdi"]], "NVM implementation: PIC": [[1, "module-pymcuprog.nvmpic"]], "NVM implementation: SAM M0+ (alpha)": [[1, "module-pymcuprog.nvmmzeroplus"]], "NVM implementation: debugWIRE (alpha)": [[1, "module-pymcuprog.nvmdebugwire"]], "NVM implementation: SPI (alpha)": [[1, "module-pymcuprog.nvmspi"]], "NVM implementation: TPI (alpha)": [[1, "module-pymcuprog.nvmtpi"]], "NVM implementation: megaAVR (JTAG) - (alpha)": [[1, "module-pymcuprog.nvmmegaavrjtag"]], "NVM implementation: XMEGA (alpha)": [[1, "module-pymcuprog.nvmxmega"]], "NVM implementation: AVR32 (alpha)": [[1, "module-pymcuprog.nvmavr32"]], "Utilities": [[1, "module-pymcuprog.utils"]], "Hex file utilities": [[1, "module-pymcuprog.hexfileutils"]], "Tool connections": [[1, "module-pymcuprog.toolconnection"]], "pymcuprog errors": [[1, "module-pymcuprog.pymcuprog_errors"]], "Module contents": [[1, "module-pymcuprog"], [2, "module-pymcuprog.deviceinfo"], [3, "module-pymcuprog.serialupdi"]], "pymcuprog.deviceinfo package": [[2, "pymcuprog-deviceinfo-package"]], "pymcuprog.deviceinfo.deviceinfo module": [[2, "module-pymcuprog.deviceinfo.deviceinfo"]], "pymcuprog.deviceinfo.deviceinfokeys module": [[2, "module-pymcuprog.deviceinfo.deviceinfokeys"]], "pymcuprog.deviceinfo.eraseflags module": [[2, "module-pymcuprog.deviceinfo.eraseflags"]], "pymcuprog.deviceinfo.memorynames module": [[2, "module-pymcuprog.deviceinfo.memorynames"]], "pymcuprog.serialupdi package": [[3, "pymcuprog-serialupdi-package"]], "pymcuprog.serialupdi.application module": [[3, "module-pymcuprog.serialupdi.application"]], "pymcuprog.serialupdi.constants module": [[3, "module-pymcuprog.serialupdi.constants"]], "pymcuprog.serialupdi.link module": [[3, "module-pymcuprog.serialupdi.link"]], "pymcuprog.serialupdi.nvm module": [[3, "module-pymcuprog.serialupdi.nvm"]], "pymcuprog.serialupdi.nvmp0 module": [[3, "module-pymcuprog.serialupdi.nvmp0"]], "pymcuprog.serialupdi.nvmp2 module": [[3, "module-pymcuprog.serialupdi.nvmp2"]], "pymcuprog.serialupdi.nvmp3 module": [[3, "module-pymcuprog.serialupdi.nvmp3"]], "pymcuprog.serialupdi.physical module": [[3, "module-pymcuprog.serialupdi.physical"]], "pymcuprog.serialupdi.readwrite module": [[3, "module-pymcuprog.serialupdi.readwrite"]], "pymcuprog.serialupdi.timeout module": [[3, "module-pymcuprog.serialupdi.timeout"]]}, "indexentries": {"api_version (pymcuprog.backend.backend attribute)": [[1, "pymcuprog.backend.Backend.API_VERSION"]], "avr32device (class in pymcuprog.avr32target)": [[1, "pymcuprog.avr32target.Avr32Device"]], "avrdebugger (class in pymcuprog.avrdebugger)": [[1, "pymcuprog.avrdebugger.AvrDebugger"]], "avrdevice (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.AvrDevice"]], "build_date (in module pymcuprog)": [[1, "pymcuprog.BUILD_DATE"]], "backend (class in pymcuprog.backend)": [[1, "pymcuprog.backend.Backend"]], "cmd_ear (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_EAR"]], "cmd_lr (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_LR"]], "cmd_pbc (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_PBC"]], "cmd_ur (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_UR"]], "cmd_wap (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_WAP"]], "cmd_wp (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_WP"]], "dap_transfer_idle_cycles (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DAP_TRANSFER_IDLE_CYCLES"]], "dap_transfer_match_retry (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DAP_TRANSFER_MATCH_RETRY"]], "dap_transfer_retry_count (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DAP_TRANSFER_RETRY_COUNT"]], "dsu_address (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_ADDRESS"]], "dsu_chip_erase_timeout_ms (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CHIP_ERASE_TIMEOUT_MS"]], "dsu_ctrl_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CTRL_OFFSET"]], "dsu_ctrl_status_ce_command_mask (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CTRL_STATUS_CE_COMMAND_MASK"]], "dsu_ctrl_status_done_mask (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CTRL_STATUS_DONE_MASK"]], "dsu_ctrl_status_prot_mask (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CTRL_STATUS_PROT_MASK"]], "dsu_did_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_DID_OFFSET"]], "dsu_external_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_EXTERNAL_OFFSET"]], "dut (class in pymcuprog.nvmserialupdi)": [[1, "pymcuprog.nvmserialupdi.Dut"]], "flash_lock_regions (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.FLASH_LOCK_REGIONS"]], "flash_lock_region_size (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.FLASH_LOCK_REGION_SIZE"]], "megaavrjtagtarget (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.MegaAvrJtagTarget"]], "nvm_ctrlb_manw_bit (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRLB_MANW_BIT"]], "nvm_ctrl_address (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_ADDRESS"]], "nvm_ctrl_addr_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_ADDR_OFFSET"]], "nvm_ctrl_ctrlb_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_CTRLB_OFFSET"]], "nvm_ctrl_ctrl_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_CTRL_OFFSET"]], "nvm_ctrl_intflag_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_INTFLAG_OFFSET"]], "nvm_ctrl_lock_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_LOCK_OFFSET"]], "nvm_ctrl_status_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_STATUS_OFFSET"]], "nvm_int_error_bit (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_INT_ERROR_BIT"]], "nvm_int_ready_bit (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_INT_READY_BIT"]], "nvm_status_locke (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_STATUS_LOCKE"]], "nvm_status_nvme (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_STATUS_NVME"]], "nvm_status_proge (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_STATUS_PROGE"]], "nvm_status_sb (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_STATUS_SB"]], "nvmaccessprovider (class in pymcuprog.nvm)": [[1, "pymcuprog.nvm.NvmAccessProvider"]], "nvmaccessprovidercmsisdapavr (class in pymcuprog.nvm)": [[1, "pymcuprog.nvm.NvmAccessProviderCmsisDapAvr"]], "nvmaccessprovidercmsisdapavr32 (class in pymcuprog.nvmavr32)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32"]], "nvmaccessprovidercmsisdapdebugwire (class in pymcuprog.nvmdebugwire)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire"]], "nvmaccessprovidercmsisdapmzeroplus (class in pymcuprog.nvmmzeroplus)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus"]], "nvmaccessprovidercmsisdapmegaavrjtag (class in pymcuprog.nvmmegaavrjtag)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag"]], "nvmaccessprovidercmsisdappic (class in pymcuprog.nvmpic)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic"]], "nvmaccessprovidercmsisdapspi (class in pymcuprog.nvmspi)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi"]], "nvmaccessprovidercmsisdaptool (class in pymcuprog.nvm)": [[1, "pymcuprog.nvm.NvmAccessProviderCmsisDapTool"]], "nvmaccessprovidercmsisdaptpi (class in pymcuprog.nvmtpi)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi"]], "nvmaccessprovidercmsisdapupdi (class in pymcuprog.nvmupdi)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi"]], "nvmaccessprovidercmsisdapxmega (class in pymcuprog.nvmxmega)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega"]], "nvmaccessproviderserial (class in pymcuprog.nvmserialupdi)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial"]], "programmer (class in pymcuprog.programmer)": [[1, "pymcuprog.programmer.Programmer"]], "pymcuprogdevicelockederror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogDeviceLockedError"]], "pymcuprogeraseerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogEraseError"]], "pymcuprogerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogError"]], "pymcuprognotsupportederror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogNotSupportedError"]], "pymcuprogserialupdierror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiError"]], "pymcuprogserialupdilockederror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiLockedError"]], "pymcuprogserialupdinvmerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiNvmError"]], "pymcuprogserialupdinvmtimeout": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiNvmTimeout"]], "pymcuprogserialupdiprotocolerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiProtocolError"]], "pymcuprogsessionconfigerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSessionConfigError"]], "pymcuprogsessionerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSessionError"]], "pymcuprogtargetvoltageerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogTargetVoltageError"]], "pymcuprogtoolconfigurationerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogToolConfigurationError"]], "pymcuprogtoolconnectionerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogToolConnectionError"]], "samd2xtarget (class in pymcuprog.samtarget)": [[1, "pymcuprog.samtarget.SamD2xTarget"]], "samm4target (class in pymcuprog.samtarget)": [[1, "pymcuprog.samtarget.SamM4Target"]], "samtarget (class in pymcuprog.samtarget)": [[1, "pymcuprog.samtarget.SamTarget"]], "sessionconfig (class in pymcuprog.backend)": [[1, "pymcuprog.backend.SessionConfig"]], "tinyavrtarget (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.TinyAvrTarget"]], "tinyxavrtarget (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.TinyXAvrTarget"]], "toolconnection (class in pymcuprog.toolconnection)": [[1, "pymcuprog.toolconnection.ToolConnection"]], "toolserialconnection (class in pymcuprog.toolconnection)": [[1, "pymcuprog.toolconnection.ToolSerialConnection"]], "toolusbhidconnection (class in pymcuprog.toolconnection)": [[1, "pymcuprog.toolconnection.ToolUsbHidConnection"]], "xmegaavrtarget (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.XmegaAvrTarget"]], "activate_physical() (pymcuprog.avr32target.avr32device method)": [[1, "pymcuprog.avr32target.Avr32Device.activate_physical"]], "activate_physical() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.activate_physical"]], "activate_physical() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.activate_physical"]], "ap_read() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.ap_read"]], "ap_write() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.ap_write"]], "attach() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.attach"]], "breakpoint_clear() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.breakpoint_clear"]], "breakpoint_set() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.breakpoint_set"]], "chip_erase_dsu() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.chip_erase_dsu"]], "compare() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.compare"]], "connect() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.connect"]], "connect_to_tool() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.connect_to_tool"]], "deactivate_physical() (pymcuprog.avr32target.avr32device method)": [[1, "pymcuprog.avr32target.Avr32Device.deactivate_physical"]], "deactivate_physical() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.deactivate_physical"]], "detach() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.detach"]], "device (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.device"]], "disconnect() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.disconnect"]], "disconnect_from_tool() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.disconnect_from_tool"]], "dp_read() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.dp_read"]], "dp_write() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.dp_write"]], "eeprom_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.eeprom_read"]], "eeprom_write() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.eeprom_write"]], "end_session() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.end_session"]], "enter_progmode() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.enter_progmode"]], "enum() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.enum"]], "erase() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.erase"]], "erase() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.erase"]], "erase() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.erase"]], "erase() (pymcuprog.nvmdebugwire.nvmaccessprovidercmsisdapdebugwire method)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire.erase"]], "erase() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.erase"]], "erase() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.erase"]], "erase() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.erase"]], "erase() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.erase"]], "erase() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.erase"]], "erase() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.erase"]], "erase() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.erase"]], "erase() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.erase"]], "erase() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.erase"]], "erase_user_row() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.erase_user_row"]], "execute_instruction() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.execute_instruction"]], "execute_patch() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.execute_patch"]], "flash_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.flash_read"]], "flush_events() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.flush_events"]], "get_api_version() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.get_api_version"]], "get_available_hid_tools() (pymcuprog.backend.backend static method)": [[1, "pymcuprog.backend.Backend.get_available_hid_tools"]], "get_chiperase_effect() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.get_chiperase_effect"]], "get_device_info() (pymcuprog.backend.backend static method)": [[1, "pymcuprog.backend.Backend.get_device_info"]], "get_device_memory_info() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.get_device_memory_info"]], "get_device_model() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.get_device_model"]], "get_nvm_access_provider() (in module pymcuprog.nvm)": [[1, "pymcuprog.nvm.get_nvm_access_provider"]], "get_supported_devices() (pymcuprog.backend.backend static method)": [[1, "pymcuprog.backend.Backend.get_supported_devices"]], "hardware_breakpoint_clear() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.hardware_breakpoint_clear"]], "hardware_breakpoint_set() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.hardware_breakpoint_set"]], "hold_in_reset() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvm.nvmaccessprovider method)": [[1, "pymcuprog.nvm.NvmAccessProvider.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.hold_in_reset"]], "hold_in_reset() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.hold_in_reset"]], "interface (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.interface"]], "interface_speed (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.interface_speed"]], "is_blank() (pymcuprog.avr8target.avrdevice static method)": [[1, "pymcuprog.avr8target.AvrDevice.is_blank"]], "is_device_locked() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.is_device_locked"]], "is_flash_ready() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.is_flash_ready"]], "is_isolated_erase_possible() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.is_isolated_erase_possible"]], "leave_progmode() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.leave_progmode"]], "load_device() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.load_device"]], "memory_read() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.memory_read"]], "memory_write() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.memory_write"]], "memtype_read_from_string() (pymcuprog.avr8target.avrdevice static method)": [[1, "pymcuprog.avr8target.AvrDevice.memtype_read_from_string"]], "memtype_write_from_string() (pymcuprog.avr8target.tinyxavrtarget static method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.memtype_write_from_string"]], "module": [[1, "module-pymcuprog"], [1, "module-pymcuprog.avr32target"], [1, "module-pymcuprog.avr8target"], [1, "module-pymcuprog.avrdebugger"], [1, "module-pymcuprog.backend"], [1, "module-pymcuprog.hexfileutils"], [1, "module-pymcuprog.nvm"], [1, "module-pymcuprog.nvmavr32"], [1, "module-pymcuprog.nvmdebugwire"], [1, "module-pymcuprog.nvmmegaavrjtag"], [1, "module-pymcuprog.nvmmzeroplus"], [1, "module-pymcuprog.nvmpic"], [1, "module-pymcuprog.nvmserialupdi"], [1, "module-pymcuprog.nvmspi"], [1, "module-pymcuprog.nvmtpi"], [1, "module-pymcuprog.nvmupdi"], [1, "module-pymcuprog.nvmxmega"], [1, "module-pymcuprog.programmer"], [1, "module-pymcuprog.pymcuprog_errors"], [1, "module-pymcuprog.samtarget"], [1, "module-pymcuprog.toolconnection"], [1, "module-pymcuprog.utils"], [2, "module-pymcuprog.deviceinfo"], [2, "module-pymcuprog.deviceinfo.deviceinfo"], [2, "module-pymcuprog.deviceinfo.deviceinfokeys"], [2, "module-pymcuprog.deviceinfo.eraseflags"], [2, "module-pymcuprog.deviceinfo.memorynames"], [3, "module-pymcuprog.serialupdi"], [3, "module-pymcuprog.serialupdi.application"], [3, "module-pymcuprog.serialupdi.constants"], [3, "module-pymcuprog.serialupdi.link"], [3, "module-pymcuprog.serialupdi.nvm"], [3, "module-pymcuprog.serialupdi.nvmp0"], [3, "module-pymcuprog.serialupdi.nvmp2"], [3, "module-pymcuprog.serialupdi.nvmp3"], [3, "module-pymcuprog.serialupdi.physical"], [3, "module-pymcuprog.serialupdi.readwrite"], [3, "module-pymcuprog.serialupdi.timeout"]], "nvm_command() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.nvm_command"]], "ocdregfile_read() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.ocdregfile_read"]], "packpath (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.packpath"]], "pad_to_size() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.pad_to_size"]], "pagealign() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.pagealign"]], "poll_event() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.poll_event"]], "post_flash_write() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.post_flash_write"]], "pre_flash_write() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.pre_flash_write"]], "print_tool_info() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.print_tool_info"]], "program_counter_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.program_counter_read"]], "program_counter_write() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.program_counter_write"]], "pymcuprog": [[1, "module-pymcuprog"]], "pymcuprog.avr32target": [[1, "module-pymcuprog.avr32target"]], "pymcuprog.avr8target": [[1, "module-pymcuprog.avr8target"]], "pymcuprog.avrdebugger": [[1, "module-pymcuprog.avrdebugger"]], "pymcuprog.backend": [[1, "module-pymcuprog.backend"]], "pymcuprog.hexfileutils": [[1, "module-pymcuprog.hexfileutils"]], "pymcuprog.nvm": [[1, "module-pymcuprog.nvm"]], "pymcuprog.nvmavr32": [[1, "module-pymcuprog.nvmavr32"]], "pymcuprog.nvmdebugwire": [[1, "module-pymcuprog.nvmdebugwire"]], "pymcuprog.nvmmegaavrjtag": [[1, "module-pymcuprog.nvmmegaavrjtag"]], "pymcuprog.nvmmzeroplus": [[1, "module-pymcuprog.nvmmzeroplus"]], "pymcuprog.nvmpic": [[1, "module-pymcuprog.nvmpic"]], "pymcuprog.nvmserialupdi": [[1, "module-pymcuprog.nvmserialupdi"]], "pymcuprog.nvmspi": [[1, "module-pymcuprog.nvmspi"]], "pymcuprog.nvmtpi": [[1, "module-pymcuprog.nvmtpi"]], "pymcuprog.nvmupdi": [[1, "module-pymcuprog.nvmupdi"]], "pymcuprog.nvmxmega": [[1, "module-pymcuprog.nvmxmega"]], "pymcuprog.programmer": [[1, "module-pymcuprog.programmer"]], "pymcuprog.pymcuprog_errors": [[1, "module-pymcuprog.pymcuprog_errors"]], "pymcuprog.samtarget": [[1, "module-pymcuprog.samtarget"]], "pymcuprog.toolconnection": [[1, "module-pymcuprog.toolconnection"]], "pymcuprog.utils": [[1, "module-pymcuprog.utils"]], "read() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.read"]], "read() (pymcuprog.nvmdebugwire.nvmaccessprovidercmsisdapdebugwire static method)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire.read"]], "read() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.read"]], "read() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.read"]], "read() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.read"]], "read() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.read"]], "read() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.read"]], "read() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.read"]], "read() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.read"]], "read() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega static method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.read"]], "read_device_id() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.read_device_id"]], "read_device_id() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_device_id"]], "read_device_id() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.read_device_id"]], "read_device_id() (pymcuprog.nvmdebugwire.nvmaccessprovidercmsisdapdebugwire method)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire.read_device_id"]], "read_device_id() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.read_device_id"]], "read_device_id() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.read_device_id"]], "read_device_id() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.read_device_id"]], "read_device_id() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.read_device_id"]], "read_device_id() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.read_device_id"]], "read_device_id() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.read_device_id"]], "read_device_id() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.read_device_id"]], "read_device_id() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.read_device_id"]], "read_device_id() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.read_device_id"]], "read_device_id() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.read_device_id"]], "read_flash() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.read_flash"]], "read_idcode() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.read_idcode"]], "read_kit_device() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_kit_device"]], "read_memories_from_hex() (in module pymcuprog.hexfileutils)": [[1, "pymcuprog.hexfileutils.read_memories_from_hex"]], "read_memory() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_memory"]], "read_memory() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.read_memory"]], "read_memory_section() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.read_memory_section"]], "read_supply_voltage_setpoint() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_supply_voltage_setpoint"]], "read_supply_voltage_setpoint() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_supply_voltage_setpoint"]], "read_target_voltage() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_target_voltage"]], "read_target_voltage() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_target_voltage"]], "read_tool_info() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_tool_info"]], "read_tool_info() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_tool_info"]], "read_usb_voltage() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_usb_voltage"]], "read_usb_voltage() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_usb_voltage"]], "read_user_row() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.read_user_row"]], "read_voltage_parameter() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_voltage_parameter"]], "reboot_tool() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.reboot_tool"]], "register_file_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.register_file_read"]], "register_file_write() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.register_file_write"]], "reinitialise() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.reinitialise"]], "release_from_reset() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.release_from_reset"]], "release_from_reset() (pymcuprog.nvm.nvmaccessprovider method)": [[1, "pymcuprog.nvm.NvmAccessProvider.release_from_reset"]], "release_from_reset() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.release_from_reset"]], "release_from_reset() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.release_from_reset"]], "release_from_reset() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.release_from_reset"]], "release_from_reset() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.release_from_reset"]], "release_from_reset() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.release_from_reset"]], "remove_phantom_bytes() (in module pymcuprog.hexfileutils)": [[1, "pymcuprog.hexfileutils.remove_phantom_bytes"]], "reset() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.reset"]], "run() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.run"]], "run_to() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.run_to"]], "run_with_power_nap() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.run_with_power_nap"]], "serialnumber (pymcuprog.toolconnection.toolusbhidconnection attribute)": [[1, "pymcuprog.toolconnection.ToolUsbHidConnection.serialnumber"]], "serialport (pymcuprog.toolconnection.toolserialconnection attribute)": [[1, "pymcuprog.toolconnection.ToolSerialConnection.serialport"]], "set_nvmctrl_address() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.set_nvmctrl_address"]], "set_options() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.set_options"]], "set_supply_voltage_setpoint() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.set_supply_voltage_setpoint"]], "set_supply_voltage_setpoint() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.set_supply_voltage_setpoint"]], "setup_config() (pymcuprog.avr8target.megaavrjtagtarget method)": [[1, "pymcuprog.avr8target.MegaAvrJtagTarget.setup_config"]], "setup_config() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.setup_config"]], "setup_config() (pymcuprog.avr8target.xmegaavrtarget method)": [[1, "pymcuprog.avr8target.XmegaAvrTarget.setup_config"]], "setup_debug_session() (pymcuprog.avr8target.tinyavrtarget method)": [[1, "pymcuprog.avr8target.TinyAvrTarget.setup_debug_session"]], "setup_debug_session() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.setup_debug_session"]], "setup_debug_session() (pymcuprog.avr8target.xmegaavrtarget method)": [[1, "pymcuprog.avr8target.XmegaAvrTarget.setup_debug_session"]], "setup_device() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.setup_device"]], "setup_prog_session() (pymcuprog.avr32target.avr32device method)": [[1, "pymcuprog.avr32target.Avr32Device.setup_prog_session"]], "setup_prog_session() (pymcuprog.avr8target.megaavrjtagtarget method)": [[1, "pymcuprog.avr8target.MegaAvrJtagTarget.setup_prog_session"]], "setup_prog_session() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.setup_prog_session"]], "setup_prog_session() (pymcuprog.avr8target.xmegaavrtarget method)": [[1, "pymcuprog.avr8target.XmegaAvrTarget.setup_prog_session"]], "setup_session() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.setup_session"]], "showdata() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.showdata"]], "sib_read() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.sib_read"]], "software_breakpoint_clear() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.software_breakpoint_clear"]], "software_breakpoint_clear_all() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.software_breakpoint_clear_all"]], "software_breakpoint_set() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.software_breakpoint_set"]], "special_options (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.special_options"]], "sram_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.sram_read"]], "sram_write() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.sram_write"]], "stack_pointer_read() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.stack_pointer_read"]], "stack_pointer_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.stack_pointer_read"]], "start() (pymcuprog.nvm.nvmaccessprovider method)": [[1, "pymcuprog.nvm.NvmAccessProvider.start"]], "start() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.start"]], "start() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.start"]], "start() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.start"]], "start() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.start"]], "start() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.start"]], "start_debugging() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.start_debugging"]], "start_session() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.start_session"]], "status_register_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.status_register_read"]], "step() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.step"]], "stop() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.stop"]], "stop() (pymcuprog.nvm.nvmaccessprovider method)": [[1, "pymcuprog.nvm.NvmAccessProvider.stop"]], "stop() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.stop"]], "stop() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.stop"]], "stop() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.stop"]], "stop() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.stop"]], "stop() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.stop"]], "stop() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.stop"]], "stop() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.stop"]], "stop() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.stop"]], "stop() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.stop"]], "stop() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.stop"]], "stop_debugging() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.stop_debugging"]], "tool_name (pymcuprog.toolconnection.toolusbhidconnection attribute)": [[1, "pymcuprog.toolconnection.ToolUsbHidConnection.tool_name"]], "unlock_all_regions() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.unlock_all_regions"]], "verify_from_bin() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.verify_from_bin"]], "verify_hex() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.verify_hex"]], "verify_memory() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.verify_memory"]], "verify_memory() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.verify_memory"]], "wait_flash_ready() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.wait_flash_ready"]], "write() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.write"]], "write() (pymcuprog.nvmdebugwire.nvmaccessprovidercmsisdapdebugwire static method)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire.write"]], "write() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag static method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.write"]], "write() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.write"]], "write() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.write"]], "write() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.write"]], "write() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.write"]], "write() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi static method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.write"]], "write() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.write"]], "write() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega static method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.write"]], "write_flash_page() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.write_flash_page"]], "write_hex_to_target() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.write_hex_to_target"]], "write_memories_to_hex() (in module pymcuprog.hexfileutils)": [[1, "pymcuprog.hexfileutils.write_memories_to_hex"]], "write_memory() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.write_memory"]], "write_memory() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.write_memory"]], "write_memory_section() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.write_memory_section"]], "write_memory_to_hex() (in module pymcuprog.hexfileutils)": [[1, "pymcuprog.hexfileutils.write_memory_to_hex"]], "write_user_row_word() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.write_user_row_word"]], "address (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.ADDRESS"]], "address_size (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.ADDRESS_SIZE"]], "all (pymcuprog.deviceinfo.memorynames.memorynamealiases attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNameAliases.ALL"]], "architecture (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.ARCHITECTURE"]], "boot_row (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.BOOT_ROW"]], "calibration_row (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.CALIBRATION_ROW"]], "chiperase_effect (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.CHIPERASE_EFFECT"]], "config_word (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.CONFIG_WORD"]], "data_address_space (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.DATA_ADDRESS_SPACE"]], "dci (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.DCI"]], "default_bulk_erase_address (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeyspic attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysPic.DEFAULT_BULK_ERASE_ADDRESS"]], "device_id (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.DEVICE_ID"]], "dia (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.DIA"]], "deviceinfokeys (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys"]], "deviceinfokeysavr (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr"]], "deviceinfokeysavr32 (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr32"]], "deviceinfokeyspic (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysPic"]], "devicememoryinfo (class in pymcuprog.deviceinfo.deviceinfo)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo"]], "devicememoryinfokeys (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys"]], "eeprom (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.EEPROM"]], "erase_address (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.ERASE_ADDRESS"]], "flash (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.FLASH"]], "fuses (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.FUSES"]], "hexfile_address (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.HEXFILE_ADDRESS"]], "hexfile_size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.HEXFILE_SIZE"]], "hv_implementation (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.HV_IMPLEMENTATION"]], "icd (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.ICD"]], "interface (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.INTERFACE"]], "internal_sram (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.INTERNAL_SRAM"]], "isolated_erase (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.ISOLATED_ERASE"]], "lockbits (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.LOCKBITS"]], "memorynamealiases (class in pymcuprog.deviceinfo.memorynames)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNameAliases"]], "memorynames (class in pymcuprog.deviceinfo.memorynames)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames"]], "name (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.NAME"]], "name (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.NAME"]], "nvmctrl_base (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.NVMCTRL_BASE"]], "ocd_base (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.OCD_BASE"]], "page_size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.PAGE_SIZE"]], "prog_clock_khz (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.PROG_CLOCK_KHZ"]], "read_size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.READ_SIZE"]], "reset_domains (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr32 attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr32.RESET_DOMAINS"]], "signatures (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.SIGNATURES"]], "size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.SIZE"]], "syscfg_base (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.SYSCFG_BASE"]], "user_id (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.USER_ID"]], "user_row (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.USER_ROW"]], "verify_mask (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.VERIFY_MASK"]], "write_size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.WRITE_SIZE"]], "bytes_or_words() (pymcuprog.deviceinfo.deviceinfo.devicememoryinfo static method)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo.bytes_or_words"]], "get_all() (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys class method)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.get_all"]], "get_all() (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys class method)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.get_all"]], "get_all() (pymcuprog.deviceinfo.memorynames.memorynames class method)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.get_all"]], "get_list_of_chiperase_effects() (in module pymcuprog.deviceinfo.eraseflags)": [[2, "pymcuprog.deviceinfo.eraseflags.get_list_of_chiperase_effects"]], "get_supported_devices() (in module pymcuprog.deviceinfo.deviceinfo)": [[2, "pymcuprog.deviceinfo.deviceinfo.get_supported_devices"]], "getdeviceinfo() (in module pymcuprog.deviceinfo.deviceinfo)": [[2, "pymcuprog.deviceinfo.deviceinfo.getdeviceinfo"]], "memory_info_by_address() (pymcuprog.deviceinfo.deviceinfo.devicememoryinfo method)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo.memory_info_by_address"]], "memory_info_by_address_range() (pymcuprog.deviceinfo.deviceinfo.devicememoryinfo method)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo.memory_info_by_address_range"]], "memory_info_by_name() (pymcuprog.deviceinfo.deviceinfo.devicememoryinfo method)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo.memory_info_by_name"]], "pymcuprog.deviceinfo": [[2, "module-pymcuprog.deviceinfo"]], "pymcuprog.deviceinfo.deviceinfo": [[2, "module-pymcuprog.deviceinfo.deviceinfo"]], "pymcuprog.deviceinfo.deviceinfokeys": [[2, "module-pymcuprog.deviceinfo.deviceinfokeys"]], "pymcuprog.deviceinfo.eraseflags": [[2, "module-pymcuprog.deviceinfo.eraseflags"]], "pymcuprog.deviceinfo.memorynames": [[2, "module-pymcuprog.deviceinfo.memorynames"]], "ldcs_response_bytes (pymcuprog.serialupdi.link.updidatalink attribute)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.LDCS_RESPONSE_BYTES"]], "nvmcmd_chip_erase (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_CHIP_ERASE"]], "nvmcmd_chip_erase (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_CHIP_ERASE"]], "nvmcmd_chip_erase (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_CHIP_ERASE"]], "nvmcmd_eeprom_byte_erase (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_EEPROM_BYTE_ERASE"]], "nvmcmd_eeprom_erase (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_EEPROM_ERASE"]], "nvmcmd_eeprom_erase (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_ERASE"]], "nvmcmd_eeprom_erase_write (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_EEPROM_ERASE_WRITE"]], "nvmcmd_eeprom_page_buffer_clear (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_PAGE_BUFFER_CLEAR"]], "nvmcmd_eeprom_page_erase (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_PAGE_ERASE"]], "nvmcmd_eeprom_page_erase_write (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_PAGE_ERASE_WRITE"]], "nvmcmd_eeprom_page_write (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_PAGE_WRITE"]], "nvmcmd_eeprom_write (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_EEPROM_WRITE"]], "nvmcmd_erase_eeprom (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_ERASE_EEPROM"]], "nvmcmd_erase_page (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_ERASE_PAGE"]], "nvmcmd_erase_write_page (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_ERASE_WRITE_PAGE"]], "nvmcmd_flash_page_buffer_clear (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_FLASH_PAGE_BUFFER_CLEAR"]], "nvmcmd_flash_page_erase (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_FLASH_PAGE_ERASE"]], "nvmcmd_flash_page_erase (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_FLASH_PAGE_ERASE"]], "nvmcmd_flash_page_erase_write (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_FLASH_PAGE_ERASE_WRITE"]], "nvmcmd_flash_page_write (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_FLASH_PAGE_WRITE"]], "nvmcmd_flash_write (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_FLASH_WRITE"]], "nvmcmd_nocmd (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_NOCMD"]], "nvmcmd_nocmd (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_NOCMD"]], "nvmcmd_noop (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_NOOP"]], "nvmcmd_noop (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_NOOP"]], "nvmcmd_nop (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_NOP"]], "nvmcmd_page_buffer_clr (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_PAGE_BUFFER_CLR"]], "nvmcmd_write_fuse (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_WRITE_FUSE"]], "nvmcmd_write_page (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_WRITE_PAGE"]], "nvmctrl_addr (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_ADDR"]], "nvmctrl_addr (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_ADDR"]], "nvmctrl_addr (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_ADDR"]], "nvmctrl_ctrla (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_CTRLA"]], "nvmctrl_ctrla (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_CTRLA"]], "nvmctrl_ctrla (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_CTRLA"]], "nvmctrl_ctrlb (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_CTRLB"]], "nvmctrl_ctrlb (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_CTRLB"]], "nvmctrl_ctrlb (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_CTRLB"]], "nvmctrl_data (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_DATA"]], "nvmctrl_data (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_DATA"]], "nvmctrl_data (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_DATA"]], "nvmctrl_intctrl (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_INTCTRL"]], "nvmctrl_intctrl (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_INTCTRL"]], "nvmctrl_intctrl (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_INTCTRL"]], "nvmctrl_intflags (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_INTFLAGS"]], "nvmctrl_intflags (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_INTFLAGS"]], "nvmctrl_intflags (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_INTFLAGS"]], "nvmctrl_status (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_STATUS"]], "nvmctrl_status (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_STATUS"]], "nvmctrl_status (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_STATUS"]], "nvmupdi (class in pymcuprog.serialupdi.nvm)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi"]], "nvmupdip0 (class in pymcuprog.serialupdi.nvmp0)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0"]], "nvmupdip2 (class in pymcuprog.serialupdi.nvmp2)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2"]], "nvmupdip3 (class in pymcuprog.serialupdi.nvmp3)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3"]], "status_eeprom_busy_bp (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.STATUS_EEPROM_BUSY_bp"]], "status_eeprom_busy_bp (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.STATUS_EEPROM_BUSY_bp"]], "status_eeprom_busy_bp (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.STATUS_EEPROM_BUSY_bp"]], "status_flash_busy_bp (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.STATUS_FLASH_BUSY_bp"]], "status_flash_busy_bp (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.STATUS_FLASH_BUSY_bp"]], "status_flash_busy_bp (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.STATUS_FLASH_BUSY_bp"]], "status_write_error_bm (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.STATUS_WRITE_ERROR_bm"]], "status_write_error_bm (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.STATUS_WRITE_ERROR_bm"]], "status_write_error_bp (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.STATUS_WRITE_ERROR_bp"]], "status_write_error_bp (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.STATUS_WRITE_ERROR_bp"]], "status_write_error_bp (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.STATUS_WRITE_ERROR_bp"]], "timeout (class in pymcuprog.serialupdi.timeout)": [[3, "pymcuprog.serialupdi.timeout.Timeout"]], "updiapplication (class in pymcuprog.serialupdi.application)": [[3, "pymcuprog.serialupdi.application.UpdiApplication"]], "updidatalink (class in pymcuprog.serialupdi.link)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink"]], "updidatalink16bit (class in pymcuprog.serialupdi.link)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit"]], "updidatalink24bit (class in pymcuprog.serialupdi.link)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit"]], "updiphysical (class in pymcuprog.serialupdi.physical)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical"]], "updireadwrite (class in pymcuprog.serialupdi.readwrite)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite"]], "chip_erase() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.chip_erase"]], "chip_erase() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.chip_erase"]], "chip_erase() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.chip_erase"]], "chip_erase() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.chip_erase"]], "decode_sib() (in module pymcuprog.serialupdi.application)": [[3, "pymcuprog.serialupdi.application.decode_sib"]], "enter_progmode() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.enter_progmode"]], "erase_eeprom() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.erase_eeprom"]], "erase_eeprom() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.erase_eeprom"]], "erase_eeprom() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.erase_eeprom"]], "erase_eeprom() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.erase_eeprom"]], "erase_flash_page() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.erase_flash_page"]], "erase_flash_page() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.erase_flash_page"]], "erase_flash_page() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.erase_flash_page"]], "erase_flash_page() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.erase_flash_page"]], "erase_user_row() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.erase_user_row"]], "erase_user_row() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.erase_user_row"]], "erase_user_row() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.erase_user_row"]], "erase_user_row() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.erase_user_row"]], "execute_nvm_command() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.execute_nvm_command"]], "execute_nvm_command() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.execute_nvm_command"]], "execute_nvm_command() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.execute_nvm_command"]], "expired() (pymcuprog.serialupdi.timeout.timeout method)": [[3, "pymcuprog.serialupdi.timeout.Timeout.expired"]], "in_prog_mode() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.in_prog_mode"]], "init_datalink() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.init_datalink"]], "initialise_serial() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.initialise_serial"]], "key() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.key"]], "ld() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.ld"]], "ld() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.ld"]], "ld16() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.ld16"]], "ld16() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.ld16"]], "ld_ptr_inc() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.ld_ptr_inc"]], "ld_ptr_inc16() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.ld_ptr_inc16"]], "ldcs() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.ldcs"]], "leave_progmode() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.leave_progmode"]], "pymcuprog.serialupdi": [[3, "module-pymcuprog.serialupdi"]], "pymcuprog.serialupdi.application": [[3, "module-pymcuprog.serialupdi.application"]], "pymcuprog.serialupdi.constants": [[3, "module-pymcuprog.serialupdi.constants"]], "pymcuprog.serialupdi.link": [[3, "module-pymcuprog.serialupdi.link"]], "pymcuprog.serialupdi.nvm": [[3, "module-pymcuprog.serialupdi.nvm"]], "pymcuprog.serialupdi.nvmp0": [[3, "module-pymcuprog.serialupdi.nvmp0"]], "pymcuprog.serialupdi.nvmp2": [[3, "module-pymcuprog.serialupdi.nvmp2"]], "pymcuprog.serialupdi.nvmp3": [[3, "module-pymcuprog.serialupdi.nvmp3"]], "pymcuprog.serialupdi.physical": [[3, "module-pymcuprog.serialupdi.physical"]], "pymcuprog.serialupdi.readwrite": [[3, "module-pymcuprog.serialupdi.readwrite"]], "pymcuprog.serialupdi.timeout": [[3, "module-pymcuprog.serialupdi.timeout"]], "read_byte() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_byte"]], "read_cs() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_cs"]], "read_data() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.read_data"]], "read_data() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_data"]], "read_data_words() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.read_data_words"]], "read_data_words() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_data_words"]], "read_device_info() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.read_device_info"]], "read_sib() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.read_sib"]], "read_sib() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_sib"]], "receive() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.receive"]], "repeat() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.repeat"]], "reset() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.reset"]], "send() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.send"]], "send_double_break() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.send_double_break"]], "set_physical() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.set_physical"]], "sib() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.sib"]], "st() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.st"]], "st() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.st"]], "st16() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.st16"]], "st16() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.st16"]], "st_ptr() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.st_ptr"]], "st_ptr() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.st_ptr"]], "st_ptr_inc() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.st_ptr_inc"]], "st_ptr_inc16() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.st_ptr_inc16"]], "stcs() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.stcs"]], "unlock() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.unlock"]], "wait_nvm_ready() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.wait_nvm_ready"]], "wait_nvm_ready() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.wait_nvm_ready"]], "wait_nvm_ready() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.wait_nvm_ready"]], "wait_unlocked() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.wait_unlocked"]], "wait_urow_prog() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.wait_urow_prog"]], "write_byte() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_byte"]], "write_cs() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_cs"]], "write_data() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.write_data"]], "write_data() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_data"]], "write_data_words() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.write_data_words"]], "write_data_words() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_data_words"]], "write_eeprom() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.write_eeprom"]], "write_eeprom() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_eeprom"]], "write_eeprom() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_eeprom"]], "write_eeprom() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_eeprom"]], "write_flash() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.write_flash"]], "write_flash() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_flash"]], "write_flash() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_flash"]], "write_flash() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_flash"]], "write_fuse() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.write_fuse"]], "write_fuse() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_fuse"]], "write_fuse() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_fuse"]], "write_fuse() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_fuse"]], "write_key() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_key"]], "write_nvm() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_nvm"]], "write_nvm() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_nvm"]], "write_nvm() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_nvm"]], "write_user_row() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.write_user_row"]], "write_user_row() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_user_row"]], "write_user_row() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_user_row"]], "write_user_row() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_user_row"]], "write_user_row_locked_device() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.write_user_row_locked_device"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["index", "pymcuprog", "pymcuprog.deviceinfo", "pymcuprog.serialupdi"], "filenames": ["index.rst", "pymcuprog.rst", "pymcuprog.deviceinfo.rst", "pymcuprog.serialupdi.rst"], "titles": ["pymcuprog documentation", "pymcuprog package", "pymcuprog.deviceinfo package", "pymcuprog.serialupdi package"], "terms": {"i": [0, 1, 2, 3], "program": [0, 1, 3], "variou": [0, 1, 3], "microchip": [0, 1], "us": [0, 1, 2, 3], "cmsi": [0, 1], "dap": [0, 1], "base": [0, 1, 2, 3], "debugg": 0, "avail": [0, 1], "instal": [0, 1], "pip": [0, 1], "from": [0, 1, 2, 3], "pypi": [0, 1], "http": [0, 1], "org": [0, 1], "project": [0, 1], "brows": [0, 1], "sourc": [0, 1, 3], "code": [0, 1], "github": [0, 1], "com": [0, 1], "pic": [0, 2], "avr": [0, 2, 3], "read": [0, 1, 3], "api": [0, 2], "io": [0, 1], "changelog": [0, 1], "blob": [0, 1], "main": [0, 1], "md": [0, 1], "For": [0, 1], "cli": [0, 1], "see": [0, 1, 3], "help": [0, 1], "can": [0, 1, 2], "its": [0, 1], "backend": 0, "exampl": [0, 1, 3], "setup": [0, 1], "modul": 0, "import": [0, 1], "basicconfig": [0, 1], "format": [0, 1], "levelnam": [0, 1], "": [0, 1], "messag": [0, 1], "level": [0, 1], "warn": [0, 1], "configur": [0, 1], "session": [0, 1], "sessionconfig": [0, 1], "atmega4808": [0, 1], "instanti": [0, 1], "usb": [0, 1], "transport": [0, 1], "onli": [0, 1, 3], "1": [0, 1, 3], "connect": [0, 3], "toolconnect": [0, 1], "toolusbhidconnect": [0, 1], "connect_to_tool": [0, 1], "start": [0, 1, 2, 3], "start_sess": [0, 1], "target": [0, 2], "device_id": [0, 1, 2], "read_device_id": [0, 1], "print": [0, 1], "id": [0, 1], "0": [0, 1, 3], "06x": [0, 1], "int": [0, 1, 3], "from_byt": [0, 1], "d": [0, 1], "byteord": [0, 1], "littl": [0, 1], "packag": 0, "version": [0, 1, 3], "__version__": [0, 1], "pymcuprog_vers": [0, 1], "In": [0, 1], "addit": [0, 1], "conveni": [0, 1], "get_api_vers": [0, 1], "thi": [0, 1, 3], "publish": [0, 1], "user": [0, 1, 3], "A": [0, 1, 2, 3], "basic": [0, 1], "best": [0, 1], "result": [0, 1], "more": [0, 1], "thorough": [0, 1], "recommend": [0, 1], "order": [0, 1], "control": [0, 1, 3], "verbos": [0, 1], "output": [0, 1], "stack": [0, 1, 3], "which": [0, 1, 3], "also": [0, 1], "yaml": [0, 1], "includ": [0, 1], "although": [0, 1], "pyedbglib": [0, 1], "protocol": [0, 1, 3], "requir": [0, 1, 3], "like": [0, 1], "libusb": [0, 1], "inform": [0, 1, 2, 3], "note": [0, 1, 3], "primarili": [0, 1], "intend": [0, 1], "pkob": [0, 1], "nano": [0, 1], "nedbg": [0, 1], "ar": [0, 1, 2, 3], "found": [0, 1, 2], "curios": [0, 1], "kit": [0, 1], "other": [0, 1], "develop": [0, 1], "board": [0, 1], "mean": [0, 1, 3], "continu": [0, 1], "test": [0, 1], "select": [0, 1, 2], "updi": [0, 3], "well": [0, 1], "howev": [0, 1], "sinc": [0, 1], "compat": [0, 1], "between": [0, 1, 2], "all": [0, 1, 2, 3], "edbg": [0, 1], "possibl": [0, 1, 3], "wide": [0, 1], "rang": [0, 1, 2], "famili": [0, 1, 3], "have": [0, 1], "been": [0, 1], "implement": [0, 3], "The": [0, 1, 2], "follow": [0, 1], "atmel": [0, 1], "mplab": [0, 1], "pickit": [0, 1], "4": [0, 1, 3], "icd": [0, 1, 2], "when": [0, 1, 3], "mode": [0, 1, 3], "snap": [0, 1], "ic": [0, 1], "power": [0, 1], "medbg": [0, 1], "jtagice3": [0, 1], "firmwar": [0, 1], "3": [0, 1, 3], "x": [0, 1], "function": 0, "provid": [0, 1, 3], "section": [0, 1], "below": [0, 1], "type": [0, 1, 2, 3], "whether": [0, 1, 3], "mount": [0, 1], "standalon": [0, 1], "similar": [0, 1], "eg": [0, 1, 3], "atmega328p": [0, 1], "atsamd21e18a": [0, 1], "mai": [0, 1], "partial": [0, 1], "experiment": [0, 1], "purpos": [0, 1], "subpackag": 0, "deviceinfo": [0, 1], "submodul": 0, "deviceinfokei": [0, 1], "eraseflag": [0, 1], "memorynam": [0, 1], "serialupdi": 0, "applic": [0, 1, 2], "constant": [0, 1], "link": [0, 1], "nvm": 0, "nvmp0": [0, 1], "nvmp2": [0, 1], "nvmp3": [0, 1], "physic": [0, 1], "readwrit": [0, 1], "timeout": [0, 1], "avr8": 0, "avrdevic": [0, 1], "activate_phys": [0, 1], "deactivate_phys": [0, 1], "enter_progmod": [0, 1, 3], "eras": [0, 1, 2, 3], "is_blank": [0, 1], "leave_progmod": [0, 1, 3], "memory_read": [0, 1], "memory_writ": [0, 1], "memtype_read_from_str": [0, 1], "read_memory_sect": [0, 1], "write_memory_sect": [0, 1], "megaavrjtagtarget": [0, 1], "setup_config": [0, 1], "setup_prog_sess": [0, 1], "tinyavrtarget": [0, 1], "setup_debug_sess": [0, 1], "tinyxavrtarget": [0, 1], "breakpoint_clear": [0, 1], "breakpoint_set": [0, 1], "execute_instruct": [0, 1], "execute_patch": [0, 1], "memtype_write_from_str": [0, 1], "ocdregfile_read": [0, 1], "run_with_power_nap": [0, 1], "sib_read": [0, 1], "stack_pointer_read": [0, 1], "xmegaavrtarget": [0, 1], "avr32": 0, "alpha": 0, "avr32devic": [0, 1], "sam": 0, "samd2xtarget": [0, 1], "cmd_ear": [0, 1], "cmd_lr": [0, 1], "cmd_pbc": [0, 1], "cmd_ur": [0, 1], "cmd_wap": [0, 1], "cmd_wp": [0, 1], "dap_transfer_idle_cycl": [0, 1], "dap_transfer_match_retri": [0, 1], "dap_transfer_retry_count": [0, 1], "dsu_address": [0, 1], "dsu_chip_erase_timeout_m": [0, 1], "dsu_ctrl_offset": [0, 1], "dsu_ctrl_status_ce_command_mask": [0, 1], "dsu_ctrl_status_done_mask": [0, 1], "dsu_ctrl_status_prot_mask": [0, 1], "dsu_did_offset": [0, 1], "dsu_external_offset": [0, 1], "flash_lock_region": [0, 1], "flash_lock_region_s": [0, 1], "nvm_ctrlb_manw_bit": [0, 1], "nvm_ctrl_address": [0, 1], "nvm_ctrl_addr_offset": [0, 1], "nvm_ctrl_ctrlb_offset": [0, 1], "nvm_ctrl_ctrl_offset": [0, 1], "nvm_ctrl_intflag_offset": [0, 1], "nvm_ctrl_lock_offset": [0, 1], "nvm_ctrl_status_offset": [0, 1], "nvm_int_error_bit": [0, 1], "nvm_int_ready_bit": [0, 1], "nvm_status_lock": [0, 1], "nvm_status_nvm": [0, 1], "nvm_status_prog": [0, 1], "nvm_status_sb": [0, 1], "chip_erase_dsu": [0, 1], "disconnect": [0, 1], "erase_user_row": [0, 1, 3], "is_device_lock": [0, 1], "is_flash_readi": [0, 1], "nvm_command": [0, 1], "post_flash_writ": [0, 1], "pre_flash_writ": [0, 1], "read_flash": [0, 1], "read_user_row": [0, 1], "reinitialis": [0, 1], "set_nvmctrl_address": [0, 1], "unlock_all_region": [0, 1], "wait_flash_readi": [0, 1], "write_flash_pag": [0, 1], "write_user_row_word": [0, 1], "samm4target": [0, 1], "samtarget": [0, 1], "ap_read": [0, 1], "ap_writ": [0, 1], "dp_read": [0, 1], "dp_write": [0, 1], "read_idcod": [0, 1], "api_vers": [0, 1], "disconnect_from_tool": [0, 1], "end_sess": [0, 1], "get_available_hid_tool": [0, 1], "get_chiperase_effect": [0, 1], "get_device_info": [0, 1], "get_supported_devic": [0, 1, 2], "hold_in_reset": [0, 1], "is_isolated_erase_poss": [0, 1], "read_kit_devic": [0, 1], "read_memori": [0, 1], "read_supply_voltage_setpoint": [0, 1], "read_target_voltag": [0, 1], "read_tool_info": [0, 1], "read_usb_voltag": [0, 1], "reboot_tool": [0, 1], "release_from_reset": [0, 1], "set_supply_voltage_setpoint": [0, 1], "verify_hex": [0, 1], "verify_memori": [0, 1], "write_hex_to_target": [0, 1], "write_memori": [0, 1], "interface_spe": [0, 1], "packpath": [0, 1], "special_opt": [0, 1], "get_device_memory_info": [0, 1], "get_device_model": [0, 1], "load_devic": [0, 1], "set_opt": [0, 1], "setup_devic": [0, 1], "stop": [0, 1, 2], "avrdebugg": [0, 1], "attach": [0, 1], "detach": [0, 1], "eeprom_read": [0, 1], "eeprom_writ": [0, 1], "flash_read": [0, 1], "flush_ev": [0, 1], "hardware_breakpoint_clear": [0, 1], "hardware_breakpoint_set": [0, 1], "poll_ev": [0, 1], "program_counter_read": [0, 1], "program_counter_writ": [0, 1], "register_file_read": [0, 1], "register_file_writ": [0, 1], "reset": [0, 1, 3], "run": [0, 1, 2], "run_to": [0, 1], "setup_sess": [0, 1], "software_breakpoint_clear": [0, 1], "software_breakpoint_clear_al": [0, 1], "software_breakpoint_set": [0, 1], "sram_read": [0, 1], "sram_writ": [0, 1], "start_debug": [0, 1], "status_register_read": [0, 1], "step": [0, 1], "stop_debug": [0, 1], "access": [0, 3], "nvmaccessprovid": [0, 1], "nvmaccessprovidercmsisdapavr": [0, 1], "nvmaccessprovidercmsisdaptool": [0, 1], "get_nvm_access_provid": [0, 1], "nvmaccessprovidercmsisdapupdi": [0, 1], "write": [0, 1, 3], "dut": [0, 1], "nvmaccessproviderseri": [0, 1], "nvmaccessprovidercmsisdapp": [0, 1], "m0": 0, "nvmaccessprovidercmsisdapmzeroplu": [0, 1], "debugwir": 0, "nvmaccessprovidercmsisdapdebugwir": [0, 1], "spi": 0, "nvmaccessprovidercmsisdapspi": [0, 1], "tpi": 0, "nvmaccessprovidercmsisdaptpi": [0, 1], "megaavr": 0, "jtag": 0, "nvmaccessprovidercmsisdapmegaavrjtag": [0, 1], "xmega": 0, "nvmaccessprovidercmsisdapxmega": [0, 1], "nvmaccessprovidercmsisdapavr32": [0, 1], "compar": [0, 1], "enum": [0, 1], "pad_to_s": [0, 1], "pagealign": [0, 1], "print_tool_info": [0, 1], "read_voltage_paramet": [0, 1], "showdata": [0, 1], "verify_from_bin": [0, 1], "hex": [0, 2], "file": [0, 2], "read_memories_from_hex": [0, 1], "remove_phantom_byt": [0, 1], "write_memories_to_hex": [0, 1], "write_memory_to_hex": [0, 1], "toolserialconnect": [0, 1], "serialport": [0, 1, 3], "serialnumb": [0, 1], "tool_nam": [0, 1], "error": [0, 3], "pymcuprogdevicelockederror": [0, 1], "pymcuprogeraseerror": [0, 1], "pymcuprogerror": [0, 1], "pymcuprognotsupportederror": [0, 1], "pymcuprogserialupdierror": [0, 1, 3], "pymcuprogserialupdilockederror": [0, 1], "pymcuprogserialupdinvmerror": [0, 1, 3], "pymcuprogserialupdinvmtimeout": [0, 1, 3], "pymcuprogserialupdiprotocolerror": [0, 1], "pymcuprogsessionconfigerror": [0, 1], "pymcuprogsessionerror": [0, 1], "pymcuprogtargetvoltageerror": [0, 1], "pymcuprogtoolconfigurationerror": [0, 1], "pymcuprogtoolconnectionerror": [0, 1], "index": [0, 3], "search": 0, "page": [0, 1, 3], "devicememoryinfo": [1, 2], "bytes_or_word": [1, 2], "memory_info_by_address": [1, 2], "memory_info_by_address_rang": [1, 2], "memory_info_by_nam": [1, 2], "getdeviceinfo": [1, 2], "architectur": [1, 2], "name": [1, 2, 3], "get_al": [1, 2], "deviceinfokeysavr": [1, 2], "address_s": [1, 2], "data_address_spac": [1, 2], "hv_implement": [1, 2], "nvmctrl_base": [1, 2], "ocd_bas": [1, 2], "prog_clock_khz": [1, 2], "syscfg_bas": [1, 2], "deviceinfokeysavr32": [1, 2], "reset_domain": [1, 2], "deviceinfokeysp": [1, 2], "default_bulk_erase_address": [1, 2], "devicememoryinfokei": [1, 2], "address": [1, 2, 3], "chiperase_effect": [1, 2], "erase_address": [1, 2], "hexfile_address": [1, 2], "hexfile_s": [1, 2], "isolated_eras": [1, 2], "page_s": [1, 2], "read_siz": [1, 2], "size": [1, 2, 3], "verify_mask": [1, 2], "write_s": [1, 2], "get_list_of_chiperase_effect": [1, 2], "memorynamealias": [1, 2], "boot_row": [1, 2], "calibration_row": [1, 2], "config_word": [1, 2], "dci": [1, 2], "dia": [1, 2], "eeprom": [1, 2, 3], "flash": [1, 2, 3], "fuse": [1, 2, 3], "internal_sram": [1, 2], "lockbit": [1, 2], "signatur": [1, 2], "user_id": [1, 2], "user_row": [1, 2], "updiappl": [1, 3], "in_prog_mod": [1, 3], "read_data": [1, 3], "read_data_word": [1, 3], "read_device_info": [1, 3], "unlock": [1, 3], "wait_unlock": [1, 3], "wait_urow_prog": [1, 3], "write_data": [1, 3], "write_data_word": [1, 3], "write_user_row_locked_devic": [1, 3], "decode_sib": [1, 3], "updidatalink": [1, 3], "ldcs_response_byt": [1, 3], "init_datalink": [1, 3], "kei": [1, 2, 3], "ld_ptr_inc": [1, 3], "ld_ptr_inc16": [1, 3], "ldc": [1, 3], "read_sib": [1, 3], "repeat": [1, 3], "set_phys": [1, 3], "st_ptr_inc": [1, 3], "st_ptr_inc16": [1, 3], "stc": [1, 3], "updidatalink16bit": [1, 3], "ld": [1, 3], "ld16": [1, 3], "st": [1, 3], "st16": [1, 3], "st_ptr": [1, 3], "updidatalink24bit": [1, 3], "nvmupdi": [1, 3], "chip_eras": [1, 3], "erase_eeprom": [1, 3], "erase_flash_pag": [1, 3], "write_eeprom": [1, 3], "write_flash": [1, 3], "write_fus": [1, 3], "write_user_row": [1, 3], "nvmupdip0": [1, 3], "nvmcmd_chip_eras": [1, 3], "nvmcmd_erase_eeprom": [1, 3], "nvmcmd_erase_pag": [1, 3], "nvmcmd_erase_write_pag": [1, 3], "nvmcmd_nop": [1, 3], "nvmcmd_page_buffer_clr": [1, 3], "nvmcmd_write_fus": [1, 3], "nvmcmd_write_pag": [1, 3], "nvmctrl_addr": [1, 3], "nvmctrl_ctrla": [1, 3], "nvmctrl_ctrlb": [1, 3], "nvmctrl_data": [1, 3], "nvmctrl_intctrl": [1, 3], "nvmctrl_intflag": [1, 3], "nvmctrl_statu": [1, 3], "status_eeprom_busy_bp": [1, 3], "status_flash_busy_bp": [1, 3], "status_write_error_bp": [1, 3], "execute_nvm_command": [1, 3], "wait_nvm_readi": [1, 3], "write_nvm": [1, 3], "nvmupdip2": [1, 3], "nvmcmd_eeprom_byte_eras": [1, 3], "nvmcmd_eeprom_eras": [1, 3], "nvmcmd_eeprom_erase_writ": [1, 3], "nvmcmd_eeprom_writ": [1, 3], "nvmcmd_flash_page_eras": [1, 3], "nvmcmd_flash_writ": [1, 3], "nvmcmd_nocmd": [1, 3], "nvmcmd_noop": [1, 3], "status_write_error_bm": [1, 3], "nvmupdip3": [1, 3], "nvmcmd_eeprom_page_buffer_clear": [1, 3], "nvmcmd_eeprom_page_eras": [1, 3], "nvmcmd_eeprom_page_erase_writ": [1, 3], "nvmcmd_eeprom_page_writ": [1, 3], "nvmcmd_flash_page_buffer_clear": [1, 3], "nvmcmd_flash_page_erase_writ": [1, 3], "nvmcmd_flash_page_writ": [1, 3], "updiphys": [1, 3], "initialise_seri": [1, 3], "receiv": [1, 3], "send": [1, 3], "send_double_break": [1, 3], "sib": [1, 3], "updireadwrit": [1, 3], "read_byt": [1, 3], "read_c": [1, 3], "write_byt": [1, 3], "write_c": [1, 3], "write_kei": [1, 3], "expir": [1, 3], "specif": [1, 2], "class": [1, 2, 3], "avr8protocol": 1, "avr8target": 1, "object": [1, 2, 3], "gener": [1, 2, 3], "wrapper": 1, "map": 1, "activ": 1, "deactiv": 1, "enter": [1, 3], "paramet": [1, 2, 3], "some": 1, "static": [1, 2], "data": [1, 3], "check": [1, 2, 3], "buffer": [1, 3], "repres": [1, 2], "blank": 1, "bytearrai": [1, 3], "return": [1, 2, 3], "true": [1, 3], "boolean": 1, "leav": 1, "memory_nam": 1, "start_address": 1, "numbyt": 1, "memori": [1, 2, 3], "identifi": 1, "defin": 1, "first": 1, "number": [1, 3], "byte": [1, 2, 3], "out": [1, 3], "memtype_str": 1, "string": [1, 3], "an": [1, 2, 3], "memtyp": 1, "str": [1, 3], "friendli": 1, "memory_typ": 1, "bytes_to_read": 1, "read_chunk_s": 1, "chunk": 1, "each": [1, 2], "separ": 1, "data_to_writ": 1, "write_chunk_s": 1, "allow_blank_skip": 1, "fals": [1, 3], "raw": 1, "valu": [1, 2, 3], "allow": 1, "skip": 1, "locat": [1, 3], "0xff": 1, "mega": 1, "device_info": [1, 2], "set": [1, 3], "up": [1, 2, 3], "config": 1, "dict": [1, 2, 3], "tini": 1, "debug": 1, "handl": [1, 3], "tinyx": 1, "use_reset": 1, "user_interaction_callback": 1, "none": [1, 3], "overrid": 1, "high": [1, 3], "voltag": 1, "extern": 1, "dure": 1, "callback": 1, "call": 1, "interact": 1, "do": 1, "toggl": 1, "could": 1, "ask": 1, "halt": 1, "execut": [1, 3], "wait": [1, 3], "respond": 1, "default": [1, 3], "behavior": 1, "anoth": 1, "script": 1, "automat": 1, "clear": 1, "hardwar": 1, "breakpoint": 1, "break": [1, 3], "instruct": 1, "core": 1, "flag": [1, 2, 3], "ocd": 1, "regist": 1, "part": [1, 2], "endian": 1, "nap": 1, "enabl": [1, 3], "deprec": 1, "avr8_phy_intf_pdi_1w": 1, "khz": 1, "100": [1, 3], "use_hv": 1, "updi_hv_non": 1, "clock": 1, "speed": 1, "kilohertz": 1, "baud": [1, 3], "kbp": 1, "puls": 1, "900": 1, "system": [1, 3], "block": [1, 3], "pointer": [1, 3], "pdi": [1, 3], "avr8_phy_intf_pdi": 1, "4000": 1, "avr32protocol": 1, "avr32target": 1, "5": [1, 3], "awir": 1, "via": 1, "hid": 1, "insid": 1, "driver": [1, 3], "samd21": 1, "friend": 1, "64": 1, "68": 1, "65": 1, "6": [1, 3], "250": 1, "1090527232": 1, "3000": 1, "16": [1, 3], "256": 1, "65536": 1, "24": [1, 3], "16384": 1, "7": [1, 3], "1090535424": 1, "28": 1, "20": [1, 3], "32": [1, 2, 3], "2": [1, 3], "8": [1, 3], "perform": 1, "chip": [1, 3], "dsu": 1, "clk_hz": 1, "initialis": [1, 3], "row": [1, 3], "lock": [1, 3], "readi": [1, 3], "state": [1, 3], "wrap": 1, "done": 1, "onc": 1, "prepar": 1, "arrai": [1, 3], "re": 1, "after": [1, 3], "certain": 1, "oper": 1, "region": 1, "issu": 1, "ur": 1, "ha": [1, 2, 3], "effect": 1, "bootprot": 1, "timeout_m": [1, 3], "1000": 1, "data_buff": 1, "word": [1, 3], "m4": 1, "reg": 1, "port": [1, 3], "boundari": 1, "doe": [1, 3], "actual": [1, 2, 3], "job": 1, "ani": [1, 2, 3], "need": 1, "should": 1, "either": 1, "serial": [1, 3], "instanc": 1, "one": [1, 3], "sub": [1, 2], "e": 1, "g": 1, "com1": 1, "special": 1, "If": 1, "both": 1, "usb_seri": 1, "pick": 1, "match": 1, "than": 1, "except": 1, "rais": [1, 3], "incorrect": 1, "noth": 1, "end": [1, 2], "take": 1, "down": 1, "model": [1, 2], "without": [1, 3], "won": 1, "t": 1, "fail": [1, 3], "even": 1, "singl": [1, 3], "specifi": 1, "affect": 1, "To": 1, "widest": 1, "bulk": 1, "eesav": 1, "protect": 1, "cpd_n": 1, "option": [1, 3], "complet": 1, "segment": [1, 2], "just": [1, 3], "propag": 1, "through": 1, "devicesupportscript": 1, "normal": [1, 2], "session_start": 1, "valueerror": 1, "current": 1, "serialnumber_substr": 1, "list": [1, 2, 3], "host": 1, "empti": 1, "subset": 1, "Not": 1, "case": 1, "sensit": 1, "last": 1, "123": 1, "mchp3252000000043123": 1, "mcp32520001230000000": 1, "hidtransport": 1, "hidtransportbas": 1, "hidtool": 1, "get": [1, 2], "given": [1, 2, 3], "One": 1, "chiperaseeffect": [1, 2], "upon": 1, "miss": 1, "not_eras": 1, "info": [1, 2], "about": [1, 2], "dictionari": [1, 2], "correspond": [1, 2], "hold": 1, "side": 1, "too": 1, "onboard": 1, "must": 1, "befor": [1, 3], "necessari": 1, "typic": 1, "offset_byt": 1, "py": [1, 2], "ignor": 1, "offset": 1, "within": [1, 3], "until": [1, 3], "namedtupl": 1, "two": 1, "field": 1, "memory_info": 1, "contain": [1, 2, 3], "item": 1, "per": 1, "try": 1, "outsid": 1, "suppli": 1, "setpoint": 1, "float": [1, 3], "capabl": 1, "measur": 1, "interrog": 1, "trigger": 1, "reboot": 1, "releas": [1, 3], "build": 1, "initi": [1, 3], "alreadi": [1, 3], "new": 1, "scratch": 1, "thrown": 1, "due": 1, "incorrectli": 1, "unabl": 1, "being": 1, "hexfil": [1, 2], "verifi": 1, "against": 1, "assum": 1, "collect": 1, "input": 1, "expos": 1, "client": 1, "device_nam": 1, "load": [1, 3], "folder": [1, 2], "still": 1, "appli": [1, 3], "let": 1, "store": [1, 2, 3], "clk": 1, "path": 1, "pack": 1, "frequenc": 1, "rate": [1, 3], "serialexcept": 1, "instead": [1, 3], "statu": [1, 3], "written": [1, 3], "use_events_for_run_stop_st": 1, "hid_transport": 1, "commun": [1, 3], "event": 1, "channel": 1, "poll": 1, "do_break": 1, "bool": [1, 3], "forc": 1, "absolut": 1, "flush": 1, "incom": 1, "signal": 1, "transit": 1, "counter": [1, 3], "pc": 1, "program_count": 1, "r0": 1, "r31": 1, "point": 1, "put": 1, "insert": 1, "reach": 1, "900000": 1, "hz": 1, "softwar": 1, "restor": 1, "origin": 1, "remov": 1, "immedi": 1, "sram": 1, "flash_data": 1, "bit": [1, 2, 3], "sreg": 1, "regardless": 1, "cycl": 1, "request": [1, 2, 3], "clean": 1, "layer": [1, 3], "properti": [1, 3], "rel": 1, "pyupdi": 1, "esqu": 1, "nvmserialupdi": 1, "dev_info": 1, "creat": 1, "wai": 1, "displai": 1, "nvmpic": 1, "nvmmzeroplu": 1, "samd": 1, "nb": 1, "stub": 1, "featur": 1, "nvmdebugwir": 1, "dw": 1, "nvmspi": 1, "tinytini": 1, "nvmtpi": 1, "nvmmegaavrjtag": 1, "megajtag": 1, "nvmxmega": 1, "nvmavr32": 1, "abstract": 1, "data0": 1, "data1": 1, "second": [1, 3], "area": 1, "mask": 1, "vari": 1, "width": 1, "emul": 1, "did": 1, "built": 1, "memory_block": 1, "chunk_siz": 1, "pad_valu": 1, "pad": 1, "data_s": 1, "align": 1, "housekeep": 1, "housekeepingprotocol": 1, "jtagice3housekeepingprotocol": 1, "line_wrap": 1, "phantom_byt": 1, "show": 1, "how": 1, "mani": 1, "phantom": 1, "ad": 1, "xx": 1, "bin_filenam": 1, "bin": 1, "filenam": 1, "refer": 1, "indic": 1, "success": [1, 3], "failur": 1, "toward": 1, "hexfileutil": 1, "device_memory_info": 1, "three": 1, "everi": 1, "2nd": 1, "memory_seg": 1, "baudrat": 1, "115200": [1, 3], "helper": [1, 3], "pymcuprog_error": 1, "msg": 1, "attempt": [1, 3], "ctrl": [1, 3], "condit": [1, 3], "occur": [1, 3], "usual": 1, "correctli": 1, "spec": 1, "wa": 1, "document": 1, "simpl": [2, 3], "devic": [2, 3], "servic": 2, "devicenam": 2, "These": 2, "ideal": 2, "dfp": 2, "generate_device_info": 2, "hand": 2, "fetch": 2, "address_param": 2, "multipli": 2, "convert": 2, "byte_address": 2, "address_typ": 2, "size_typ": 2, "v": 2, "support": 2, "look": 2, "definit": 2, "common": 2, "interfac": 2, "classmethod": 2, "valid": 2, "baseclass": 2, "subclass": 2, "data_space_bas": 2, "relat": 2, "real": 2, "alia": 2, "sever": 2, "over": 3, "prog": 3, "otherwis": 3, "disabl": 3, "apply_reset": 3, "boot": 3, "proven": 3, "millisecond": 3, "wait_for_high": 3, "writeabl": 3, "mechan": 3, "go": 3, "low": 3, "turn": 3, "someth": 3, "readabl": 3, "decod": 3, "init": 3, "dl": 3, "64b": 3, "128b": 3, "256b": 3, "post": 3, "increment": 3, "space": 3, "inject": 3, "ack": 3, "direct": 3, "directli": 3, "p": 3, "present": 3, "tiny0": 3, "mega0": 3, "tiny817": 3, "mega4809": 3, "method": 3, "command": 3, "period": 3, "encount": 3, "use_word_access": 3, "nvmcommand": 3, "By": 3, "page_writ": 3, "nvmcmd_page_writ": 3, "commit": 3, "da": 3, "db": 3, "dd": 3, "48": 3, "19": 3, "18": 3, "variant": 3, "so": 3, "ea": 3, "31": 3, "23": 3, "21": 3, "15": 3, "12": 3, "112": 3, "erasebuffer_command": 3, "standard": 3, "bp": 3, "frame": 3, "known": 3, "char": 3, "inter": 3, "delai": 3, "echo": 3, "back": 3, "doubl": 3, "slower": 3, "zero": 3, "guarante": 3, "push": 3, "machin": 3, "albeit": 3, "rather": 3, "brutal": 3, "come": 3, "datalink": 3, "form": 3, "make": 3, "u": 3, "timer": 3}, "objects": {"": [[1, 0, 0, "-", "pymcuprog"]], "pymcuprog": [[1, 0, 0, "-", "avr32target"], [1, 0, 0, "-", "avr8target"], [1, 0, 0, "-", "avrdebugger"], [1, 0, 0, "-", "backend"], [2, 0, 0, "-", "deviceinfo"], [1, 0, 0, "-", "hexfileutils"], [1, 0, 0, "-", "nvm"], [1, 0, 0, "-", "nvmavr32"], [1, 0, 0, "-", "nvmdebugwire"], [1, 0, 0, "-", "nvmmegaavrjtag"], [1, 0, 0, "-", "nvmmzeroplus"], [1, 0, 0, "-", "nvmpic"], [1, 0, 0, "-", "nvmserialupdi"], [1, 0, 0, "-", "nvmspi"], [1, 0, 0, "-", "nvmtpi"], [1, 0, 0, "-", "nvmupdi"], [1, 0, 0, "-", "nvmxmega"], [1, 0, 0, "-", "programmer"], [1, 0, 0, "-", "pymcuprog_errors"], [1, 0, 0, "-", "samtarget"], [3, 0, 0, "-", "serialupdi"], [1, 0, 0, "-", "toolconnection"], [1, 0, 0, "-", "utils"]], "pymcuprog.avr32target": [[1, 1, 1, "", "Avr32Device"]], "pymcuprog.avr32target.Avr32Device": [[1, 2, 1, "", "activate_physical"], [1, 2, 1, "", "deactivate_physical"], [1, 2, 1, "", "setup_prog_session"]], "pymcuprog.avr8target": [[1, 1, 1, "", "AvrDevice"], [1, 1, 1, "", "MegaAvrJtagTarget"], [1, 1, 1, "", "TinyAvrTarget"], [1, 1, 1, "", "TinyXAvrTarget"], [1, 1, 1, "", "XmegaAvrTarget"]], "pymcuprog.avr8target.AvrDevice": [[1, 2, 1, "", "activate_physical"], [1, 2, 1, "", "deactivate_physical"], [1, 2, 1, "", "enter_progmode"], [1, 2, 1, "", "erase"], [1, 2, 1, "", "is_blank"], [1, 2, 1, "", "leave_progmode"], [1, 2, 1, "", "memory_read"], [1, 2, 1, "", "memory_write"], [1, 2, 1, "", "memtype_read_from_string"], [1, 2, 1, "", "read_memory_section"], [1, 2, 1, "", "write_memory_section"]], "pymcuprog.avr8target.MegaAvrJtagTarget": [[1, 2, 1, "", "setup_config"], [1, 2, 1, "", "setup_prog_session"]], "pymcuprog.avr8target.TinyAvrTarget": [[1, 2, 1, "", "setup_debug_session"]], "pymcuprog.avr8target.TinyXAvrTarget": [[1, 2, 1, "", "activate_physical"], [1, 2, 1, "", "breakpoint_clear"], [1, 2, 1, "", "breakpoint_set"], [1, 2, 1, "", "execute_instruction"], [1, 2, 1, "", "execute_patch"], [1, 2, 1, "", "memtype_write_from_string"], [1, 2, 1, "", "ocdregfile_read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "run_with_power_nap"], [1, 2, 1, "", "setup_config"], [1, 2, 1, "", "setup_debug_session"], [1, 2, 1, "", "setup_prog_session"], [1, 2, 1, "", "sib_read"], [1, 2, 1, "", "stack_pointer_read"]], "pymcuprog.avr8target.XmegaAvrTarget": [[1, 2, 1, "", "setup_config"], [1, 2, 1, "", "setup_debug_session"], [1, 2, 1, "", "setup_prog_session"]], "pymcuprog.avrdebugger": [[1, 1, 1, "", "AvrDebugger"]], "pymcuprog.avrdebugger.AvrDebugger": [[1, 2, 1, "", "attach"], [1, 2, 1, "", "detach"], [1, 2, 1, "", "eeprom_read"], [1, 2, 1, "", "eeprom_write"], [1, 2, 1, "", "flash_read"], [1, 2, 1, "", "flush_events"], [1, 2, 1, "", "hardware_breakpoint_clear"], [1, 2, 1, "", "hardware_breakpoint_set"], [1, 2, 1, "", "poll_event"], [1, 2, 1, "", "program_counter_read"], [1, 2, 1, "", "program_counter_write"], [1, 2, 1, "", "register_file_read"], [1, 2, 1, "", "register_file_write"], [1, 2, 1, "", "reset"], [1, 2, 1, "", "run"], [1, 2, 1, "", "run_to"], [1, 2, 1, "", "setup_session"], [1, 2, 1, "", "software_breakpoint_clear"], [1, 2, 1, "", "software_breakpoint_clear_all"], [1, 2, 1, "", "software_breakpoint_set"], [1, 2, 1, "", "sram_read"], [1, 2, 1, "", "sram_write"], [1, 2, 1, "", "stack_pointer_read"], [1, 2, 1, "", "start_debugging"], [1, 2, 1, "", "status_register_read"], [1, 2, 1, "", "step"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "stop_debugging"]], "pymcuprog.backend": [[1, 1, 1, "", "Backend"], [1, 1, 1, "", "SessionConfig"]], "pymcuprog.backend.Backend": [[1, 3, 1, "", "API_VERSION"], [1, 2, 1, "", "connect_to_tool"], [1, 2, 1, "", "disconnect_from_tool"], [1, 2, 1, "", "end_session"], [1, 2, 1, "", "erase"], [1, 2, 1, "", "get_api_version"], [1, 2, 1, "", "get_available_hid_tools"], [1, 2, 1, "", "get_chiperase_effect"], [1, 2, 1, "", "get_device_info"], [1, 2, 1, "", "get_supported_devices"], [1, 2, 1, "", "hold_in_reset"], [1, 2, 1, "", "is_isolated_erase_possible"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "read_kit_device"], [1, 2, 1, "", "read_memory"], [1, 2, 1, "", "read_supply_voltage_setpoint"], [1, 2, 1, "", "read_target_voltage"], [1, 2, 1, "", "read_tool_info"], [1, 2, 1, "", "read_usb_voltage"], [1, 2, 1, "", "reboot_tool"], [1, 2, 1, "", "release_from_reset"], [1, 2, 1, "", "set_supply_voltage_setpoint"], [1, 2, 1, "", "start_session"], [1, 2, 1, "", "verify_hex"], [1, 2, 1, "", "verify_memory"], [1, 2, 1, "", "write_hex_to_target"], [1, 2, 1, "", "write_memory"]], "pymcuprog.backend.SessionConfig": [[1, 3, 1, "", "device"], [1, 3, 1, "", "interface"], [1, 3, 1, "", "interface_speed"], [1, 3, 1, "", "packpath"], [1, 3, 1, "", "special_options"]], "pymcuprog.deviceinfo": [[2, 0, 0, "-", "deviceinfo"], [2, 0, 0, "-", "deviceinfokeys"], [2, 0, 0, "-", "eraseflags"], [2, 0, 0, "-", "memorynames"]], "pymcuprog.deviceinfo.deviceinfo": [[2, 1, 1, "", "DeviceMemoryInfo"], [2, 4, 1, "", "get_supported_devices"], [2, 4, 1, "", "getdeviceinfo"]], "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo": [[2, 2, 1, "", "bytes_or_words"], [2, 2, 1, "", "memory_info_by_address"], [2, 2, 1, "", "memory_info_by_address_range"], [2, 2, 1, "", "memory_info_by_name"]], "pymcuprog.deviceinfo.deviceinfokeys": [[2, 1, 1, "", "DeviceInfoKeys"], [2, 1, 1, "", "DeviceInfoKeysAvr"], [2, 1, 1, "", "DeviceInfoKeysAvr32"], [2, 1, 1, "", "DeviceInfoKeysPic"], [2, 1, 1, "", "DeviceMemoryInfoKeys"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys": [[2, 3, 1, "", "ARCHITECTURE"], [2, 3, 1, "", "DEVICE_ID"], [2, 3, 1, "", "INTERFACE"], [2, 3, 1, "", "NAME"], [2, 2, 1, "", "get_all"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr": [[2, 3, 1, "", "ADDRESS_SIZE"], [2, 3, 1, "", "DATA_ADDRESS_SPACE"], [2, 3, 1, "", "HV_IMPLEMENTATION"], [2, 3, 1, "", "NVMCTRL_BASE"], [2, 3, 1, "", "OCD_BASE"], [2, 3, 1, "", "PROG_CLOCK_KHZ"], [2, 3, 1, "", "SYSCFG_BASE"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr32": [[2, 3, 1, "", "RESET_DOMAINS"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysPic": [[2, 3, 1, "", "DEFAULT_BULK_ERASE_ADDRESS"]], "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys": [[2, 3, 1, "", "ADDRESS"], [2, 3, 1, "", "CHIPERASE_EFFECT"], [2, 3, 1, "", "ERASE_ADDRESS"], [2, 3, 1, "", "HEXFILE_ADDRESS"], [2, 3, 1, "", "HEXFILE_SIZE"], [2, 3, 1, "", "ISOLATED_ERASE"], [2, 3, 1, "", "NAME"], [2, 3, 1, "", "PAGE_SIZE"], [2, 3, 1, "", "READ_SIZE"], [2, 3, 1, "", "SIZE"], [2, 3, 1, "", "VERIFY_MASK"], [2, 3, 1, "", "WRITE_SIZE"], [2, 2, 1, "", "get_all"]], "pymcuprog.deviceinfo.eraseflags": [[2, 4, 1, "", "get_list_of_chiperase_effects"]], "pymcuprog.deviceinfo.memorynames": [[2, 1, 1, "", "MemoryNameAliases"], [2, 1, 1, "", "MemoryNames"]], "pymcuprog.deviceinfo.memorynames.MemoryNameAliases": [[2, 3, 1, "", "ALL"]], "pymcuprog.deviceinfo.memorynames.MemoryNames": [[2, 3, 1, "", "BOOT_ROW"], [2, 3, 1, "", "CALIBRATION_ROW"], [2, 3, 1, "", "CONFIG_WORD"], [2, 3, 1, "", "DCI"], [2, 3, 1, "", "DIA"], [2, 3, 1, "", "EEPROM"], [2, 3, 1, "", "FLASH"], [2, 3, 1, "", "FUSES"], [2, 3, 1, "", "ICD"], [2, 3, 1, "", "INTERNAL_SRAM"], [2, 3, 1, "", "LOCKBITS"], [2, 3, 1, "", "SIGNATURES"], [2, 3, 1, "", "USER_ID"], [2, 3, 1, "", "USER_ROW"], [2, 2, 1, "", "get_all"]], "pymcuprog.hexfileutils": [[1, 4, 1, "", "read_memories_from_hex"], [1, 4, 1, "", "remove_phantom_bytes"], [1, 4, 1, "", "write_memories_to_hex"], [1, 4, 1, "", "write_memory_to_hex"]], "pymcuprog.nvm": [[1, 1, 1, "", "NvmAccessProvider"], [1, 1, 1, "", "NvmAccessProviderCmsisDapAvr"], [1, 1, 1, "", "NvmAccessProviderCmsisDapTool"], [1, 4, 1, "", "get_nvm_access_provider"]], "pymcuprog.nvm.NvmAccessProvider": [[1, 2, 1, "", "hold_in_reset"], [1, 2, 1, "", "release_from_reset"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"]], "pymcuprog.nvmavr32": [[1, 1, 1, "", "NvmAccessProviderCmsisDapAvr32"]], "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "write"]], "pymcuprog.nvmdebugwire": [[1, 1, 1, "", "NvmAccessProviderCmsisDapDebugwire"]], "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "write"]], "pymcuprog.nvmmegaavrjtag": [[1, 1, 1, "", "NvmAccessProviderCmsisDapMegaAvrJtag"]], "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "write"]], "pymcuprog.nvmmzeroplus": [[1, 1, 1, "", "NvmAccessProviderCmsisDapMZeroPlus"]], "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "write"]], "pymcuprog.nvmpic": [[1, 1, 1, "", "NvmAccessProviderCmsisDapPic"]], "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "hold_in_reset"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "release_from_reset"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "write"]], "pymcuprog.nvmserialupdi": [[1, 1, 1, "", "Dut"], [1, 1, 1, "", "NvmAccessProviderSerial"]], "pymcuprog.nvmserialupdi.NvmAccessProviderSerial": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "hold_in_reset"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "release_from_reset"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "write"]], "pymcuprog.nvmspi": [[1, 1, 1, "", "NvmAccessProviderCmsisDapSpi"]], "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "hold_in_reset"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "release_from_reset"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "write"]], "pymcuprog.nvmtpi": [[1, 1, 1, "", "NvmAccessProviderCmsisDapTpi"]], "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "write"]], "pymcuprog.nvmupdi": [[1, 1, 1, "", "NvmAccessProviderCmsisDapUpdi"]], "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "hold_in_reset"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "release_from_reset"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "write"]], "pymcuprog.nvmxmega": [[1, 1, 1, "", "NvmAccessProviderCmsisDapXmega"]], "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "read"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "write"]], "pymcuprog.programmer": [[1, 1, 1, "", "Programmer"]], "pymcuprog.programmer.Programmer": [[1, 2, 1, "", "erase"], [1, 2, 1, "", "get_device_memory_info"], [1, 2, 1, "", "get_device_model"], [1, 2, 1, "", "hold_in_reset"], [1, 2, 1, "", "load_device"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "read_memory"], [1, 2, 1, "", "release_from_reset"], [1, 2, 1, "", "set_options"], [1, 2, 1, "", "setup_device"], [1, 2, 1, "", "start"], [1, 2, 1, "", "stop"], [1, 2, 1, "", "verify_memory"], [1, 2, 1, "", "write_memory"]], "pymcuprog.pymcuprog_errors": [[1, 5, 1, "", "PymcuprogDeviceLockedError"], [1, 5, 1, "", "PymcuprogEraseError"], [1, 5, 1, "", "PymcuprogError"], [1, 5, 1, "", "PymcuprogNotSupportedError"], [1, 5, 1, "", "PymcuprogSerialUpdiError"], [1, 5, 1, "", "PymcuprogSerialUpdiLockedError"], [1, 5, 1, "", "PymcuprogSerialUpdiNvmError"], [1, 5, 1, "", "PymcuprogSerialUpdiNvmTimeout"], [1, 5, 1, "", "PymcuprogSerialUpdiProtocolError"], [1, 5, 1, "", "PymcuprogSessionConfigError"], [1, 5, 1, "", "PymcuprogSessionError"], [1, 5, 1, "", "PymcuprogTargetVoltageError"], [1, 5, 1, "", "PymcuprogToolConfigurationError"], [1, 5, 1, "", "PymcuprogToolConnectionError"]], "pymcuprog.samtarget": [[1, 1, 1, "", "SamD2xTarget"], [1, 1, 1, "", "SamM4Target"], [1, 1, 1, "", "SamTarget"]], "pymcuprog.samtarget.SamD2xTarget": [[1, 3, 1, "", "CMD_EAR"], [1, 3, 1, "", "CMD_LR"], [1, 3, 1, "", "CMD_PBC"], [1, 3, 1, "", "CMD_UR"], [1, 3, 1, "", "CMD_WAP"], [1, 3, 1, "", "CMD_WP"], [1, 3, 1, "", "DAP_TRANSFER_IDLE_CYCLES"], [1, 3, 1, "", "DAP_TRANSFER_MATCH_RETRY"], [1, 3, 1, "", "DAP_TRANSFER_RETRY_COUNT"], [1, 3, 1, "", "DSU_ADDRESS"], [1, 3, 1, "", "DSU_CHIP_ERASE_TIMEOUT_MS"], [1, 3, 1, "", "DSU_CTRL_OFFSET"], [1, 3, 1, "", "DSU_CTRL_STATUS_CE_COMMAND_MASK"], [1, 3, 1, "", "DSU_CTRL_STATUS_DONE_MASK"], [1, 3, 1, "", "DSU_CTRL_STATUS_PROT_MASK"], [1, 3, 1, "", "DSU_DID_OFFSET"], [1, 3, 1, "", "DSU_EXTERNAL_OFFSET"], [1, 3, 1, "", "FLASH_LOCK_REGIONS"], [1, 3, 1, "", "FLASH_LOCK_REGION_SIZE"], [1, 3, 1, "", "NVM_CTRLB_MANW_BIT"], [1, 3, 1, "", "NVM_CTRL_ADDRESS"], [1, 3, 1, "", "NVM_CTRL_ADDR_OFFSET"], [1, 3, 1, "", "NVM_CTRL_CTRLB_OFFSET"], [1, 3, 1, "", "NVM_CTRL_CTRL_OFFSET"], [1, 3, 1, "", "NVM_CTRL_INTFLAG_OFFSET"], [1, 3, 1, "", "NVM_CTRL_LOCK_OFFSET"], [1, 3, 1, "", "NVM_CTRL_STATUS_OFFSET"], [1, 3, 1, "", "NVM_INT_ERROR_BIT"], [1, 3, 1, "", "NVM_INT_READY_BIT"], [1, 3, 1, "", "NVM_STATUS_LOCKE"], [1, 3, 1, "", "NVM_STATUS_NVME"], [1, 3, 1, "", "NVM_STATUS_PROGE"], [1, 3, 1, "", "NVM_STATUS_SB"], [1, 2, 1, "", "chip_erase_dsu"], [1, 2, 1, "", "connect"], [1, 2, 1, "", "disconnect"], [1, 2, 1, "", "erase_user_row"], [1, 2, 1, "", "is_device_locked"], [1, 2, 1, "", "is_flash_ready"], [1, 2, 1, "", "nvm_command"], [1, 2, 1, "", "post_flash_write"], [1, 2, 1, "", "pre_flash_write"], [1, 2, 1, "", "read_device_id"], [1, 2, 1, "", "read_flash"], [1, 2, 1, "", "read_user_row"], [1, 2, 1, "", "reinitialise"], [1, 2, 1, "", "set_nvmctrl_address"], [1, 2, 1, "", "unlock_all_regions"], [1, 2, 1, "", "wait_flash_ready"], [1, 2, 1, "", "write_flash_page"], [1, 2, 1, "", "write_user_row_word"]], "pymcuprog.samtarget.SamTarget": [[1, 2, 1, "", "ap_read"], [1, 2, 1, "", "ap_write"], [1, 2, 1, "", "dp_read"], [1, 2, 1, "", "dp_write"], [1, 2, 1, "", "read_idcode"]], "pymcuprog.serialupdi": [[3, 0, 0, "-", "application"], [3, 0, 0, "-", "constants"], [3, 0, 0, "-", "link"], [3, 0, 0, "-", "nvm"], [3, 0, 0, "-", "nvmp0"], [3, 0, 0, "-", "nvmp2"], [3, 0, 0, "-", "nvmp3"], [3, 0, 0, "-", "physical"], [3, 0, 0, "-", "readwrite"], [3, 0, 0, "-", "timeout"]], "pymcuprog.serialupdi.application": [[3, 1, 1, "", "UpdiApplication"], [3, 4, 1, "", "decode_sib"]], "pymcuprog.serialupdi.application.UpdiApplication": [[3, 2, 1, "", "enter_progmode"], [3, 2, 1, "", "in_prog_mode"], [3, 2, 1, "", "leave_progmode"], [3, 2, 1, "", "read_data"], [3, 2, 1, "", "read_data_words"], [3, 2, 1, "", "read_device_info"], [3, 2, 1, "", "reset"], [3, 2, 1, "", "unlock"], [3, 2, 1, "", "wait_unlocked"], [3, 2, 1, "", "wait_urow_prog"], [3, 2, 1, "", "write_data"], [3, 2, 1, "", "write_data_words"], [3, 2, 1, "", "write_user_row_locked_device"]], "pymcuprog.serialupdi.link": [[3, 1, 1, "", "UpdiDatalink"], [3, 1, 1, "", "UpdiDatalink16bit"], [3, 1, 1, "", "UpdiDatalink24bit"]], "pymcuprog.serialupdi.link.UpdiDatalink": [[3, 3, 1, "", "LDCS_RESPONSE_BYTES"], [3, 2, 1, "", "init_datalink"], [3, 2, 1, "", "key"], [3, 2, 1, "", "ld_ptr_inc"], [3, 2, 1, "", "ld_ptr_inc16"], [3, 2, 1, "", "ldcs"], [3, 2, 1, "", "read_sib"], [3, 2, 1, "", "repeat"], [3, 2, 1, "", "set_physical"], [3, 2, 1, "", "st_ptr_inc"], [3, 2, 1, "", "st_ptr_inc16"], [3, 2, 1, "", "stcs"]], "pymcuprog.serialupdi.link.UpdiDatalink16bit": [[3, 2, 1, "", "ld"], [3, 2, 1, "", "ld16"], [3, 2, 1, "", "st"], [3, 2, 1, "", "st16"], [3, 2, 1, "", "st_ptr"]], "pymcuprog.serialupdi.link.UpdiDatalink24bit": [[3, 2, 1, "", "ld"], [3, 2, 1, "", "ld16"], [3, 2, 1, "", "st"], [3, 2, 1, "", "st16"], [3, 2, 1, "", "st_ptr"]], "pymcuprog.serialupdi.nvm": [[3, 1, 1, "", "NvmUpdi"]], "pymcuprog.serialupdi.nvm.NvmUpdi": [[3, 2, 1, "", "chip_erase"], [3, 2, 1, "", "erase_eeprom"], [3, 2, 1, "", "erase_flash_page"], [3, 2, 1, "", "erase_user_row"], [3, 2, 1, "", "write_eeprom"], [3, 2, 1, "", "write_flash"], [3, 2, 1, "", "write_fuse"], [3, 2, 1, "", "write_user_row"]], "pymcuprog.serialupdi.nvmp0": [[3, 1, 1, "", "NvmUpdiP0"]], "pymcuprog.serialupdi.nvmp0.NvmUpdiP0": [[3, 3, 1, "", "NVMCMD_CHIP_ERASE"], [3, 3, 1, "", "NVMCMD_ERASE_EEPROM"], [3, 3, 1, "", "NVMCMD_ERASE_PAGE"], [3, 3, 1, "", "NVMCMD_ERASE_WRITE_PAGE"], [3, 3, 1, "", "NVMCMD_NOP"], [3, 3, 1, "", "NVMCMD_PAGE_BUFFER_CLR"], [3, 3, 1, "", "NVMCMD_WRITE_FUSE"], [3, 3, 1, "", "NVMCMD_WRITE_PAGE"], [3, 3, 1, "", "NVMCTRL_ADDR"], [3, 3, 1, "", "NVMCTRL_CTRLA"], [3, 3, 1, "", "NVMCTRL_CTRLB"], [3, 3, 1, "", "NVMCTRL_DATA"], [3, 3, 1, "", "NVMCTRL_INTCTRL"], [3, 3, 1, "", "NVMCTRL_INTFLAGS"], [3, 3, 1, "", "NVMCTRL_STATUS"], [3, 3, 1, "", "STATUS_EEPROM_BUSY_bp"], [3, 3, 1, "", "STATUS_FLASH_BUSY_bp"], [3, 3, 1, "", "STATUS_WRITE_ERROR_bp"], [3, 2, 1, "", "chip_erase"], [3, 2, 1, "", "erase_eeprom"], [3, 2, 1, "", "erase_flash_page"], [3, 2, 1, "", "erase_user_row"], [3, 2, 1, "", "execute_nvm_command"], [3, 2, 1, "", "wait_nvm_ready"], [3, 2, 1, "", "write_eeprom"], [3, 2, 1, "", "write_flash"], [3, 2, 1, "", "write_fuse"], [3, 2, 1, "", "write_nvm"], [3, 2, 1, "", "write_user_row"]], "pymcuprog.serialupdi.nvmp2": [[3, 1, 1, "", "NvmUpdiP2"]], "pymcuprog.serialupdi.nvmp2.NvmUpdiP2": [[3, 3, 1, "", "NVMCMD_CHIP_ERASE"], [3, 3, 1, "", "NVMCMD_EEPROM_BYTE_ERASE"], [3, 3, 1, "", "NVMCMD_EEPROM_ERASE"], [3, 3, 1, "", "NVMCMD_EEPROM_ERASE_WRITE"], [3, 3, 1, "", "NVMCMD_EEPROM_WRITE"], [3, 3, 1, "", "NVMCMD_FLASH_PAGE_ERASE"], [3, 3, 1, "", "NVMCMD_FLASH_WRITE"], [3, 3, 1, "", "NVMCMD_NOCMD"], [3, 3, 1, "", "NVMCMD_NOOP"], [3, 3, 1, "", "NVMCTRL_ADDR"], [3, 3, 1, "", "NVMCTRL_CTRLA"], [3, 3, 1, "", "NVMCTRL_CTRLB"], [3, 3, 1, "", "NVMCTRL_DATA"], [3, 3, 1, "", "NVMCTRL_INTCTRL"], [3, 3, 1, "", "NVMCTRL_INTFLAGS"], [3, 3, 1, "", "NVMCTRL_STATUS"], [3, 3, 1, "", "STATUS_EEPROM_BUSY_bp"], [3, 3, 1, "", "STATUS_FLASH_BUSY_bp"], [3, 3, 1, "", "STATUS_WRITE_ERROR_bm"], [3, 3, 1, "", "STATUS_WRITE_ERROR_bp"], [3, 2, 1, "", "chip_erase"], [3, 2, 1, "", "erase_eeprom"], [3, 2, 1, "", "erase_flash_page"], [3, 2, 1, "", "erase_user_row"], [3, 2, 1, "", "execute_nvm_command"], [3, 2, 1, "", "wait_nvm_ready"], [3, 2, 1, "", "write_eeprom"], [3, 2, 1, "", "write_flash"], [3, 2, 1, "", "write_fuse"], [3, 2, 1, "", "write_nvm"], [3, 2, 1, "", "write_user_row"]], "pymcuprog.serialupdi.nvmp3": [[3, 1, 1, "", "NvmUpdiP3"]], "pymcuprog.serialupdi.nvmp3.NvmUpdiP3": [[3, 3, 1, "", "NVMCMD_CHIP_ERASE"], [3, 3, 1, "", "NVMCMD_EEPROM_ERASE"], [3, 3, 1, "", "NVMCMD_EEPROM_PAGE_BUFFER_CLEAR"], [3, 3, 1, "", "NVMCMD_EEPROM_PAGE_ERASE"], [3, 3, 1, "", "NVMCMD_EEPROM_PAGE_ERASE_WRITE"], [3, 3, 1, "", "NVMCMD_EEPROM_PAGE_WRITE"], [3, 3, 1, "", "NVMCMD_FLASH_PAGE_BUFFER_CLEAR"], [3, 3, 1, "", "NVMCMD_FLASH_PAGE_ERASE"], [3, 3, 1, "", "NVMCMD_FLASH_PAGE_ERASE_WRITE"], [3, 3, 1, "", "NVMCMD_FLASH_PAGE_WRITE"], [3, 3, 1, "", "NVMCMD_NOCMD"], [3, 3, 1, "", "NVMCMD_NOOP"], [3, 3, 1, "", "NVMCTRL_ADDR"], [3, 3, 1, "", "NVMCTRL_CTRLA"], [3, 3, 1, "", "NVMCTRL_CTRLB"], [3, 3, 1, "", "NVMCTRL_DATA"], [3, 3, 1, "", "NVMCTRL_INTCTRL"], [3, 3, 1, "", "NVMCTRL_INTFLAGS"], [3, 3, 1, "", "NVMCTRL_STATUS"], [3, 3, 1, "", "STATUS_EEPROM_BUSY_bp"], [3, 3, 1, "", "STATUS_FLASH_BUSY_bp"], [3, 3, 1, "", "STATUS_WRITE_ERROR_bm"], [3, 3, 1, "", "STATUS_WRITE_ERROR_bp"], [3, 2, 1, "", "chip_erase"], [3, 2, 1, "", "erase_eeprom"], [3, 2, 1, "", "erase_flash_page"], [3, 2, 1, "", "erase_user_row"], [3, 2, 1, "", "execute_nvm_command"], [3, 2, 1, "", "wait_nvm_ready"], [3, 2, 1, "", "write_eeprom"], [3, 2, 1, "", "write_flash"], [3, 2, 1, "", "write_fuse"], [3, 2, 1, "", "write_nvm"], [3, 2, 1, "", "write_user_row"]], "pymcuprog.serialupdi.physical": [[3, 1, 1, "", "UpdiPhysical"]], "pymcuprog.serialupdi.physical.UpdiPhysical": [[3, 2, 1, "", "initialise_serial"], [3, 2, 1, "", "receive"], [3, 2, 1, "", "send"], [3, 2, 1, "", "send_double_break"], [3, 2, 1, "", "sib"]], "pymcuprog.serialupdi.readwrite": [[3, 1, 1, "", "UpdiReadWrite"]], "pymcuprog.serialupdi.readwrite.UpdiReadWrite": [[3, 2, 1, "", "read_byte"], [3, 2, 1, "", "read_cs"], [3, 2, 1, "", "read_data"], [3, 2, 1, "", "read_data_words"], [3, 2, 1, "", "read_sib"], [3, 2, 1, "", "write_byte"], [3, 2, 1, "", "write_cs"], [3, 2, 1, "", "write_data"], [3, 2, 1, "", "write_data_words"], [3, 2, 1, "", "write_key"]], "pymcuprog.serialupdi.timeout": [[3, 1, 1, "", "Timeout"]], "pymcuprog.serialupdi.timeout.Timeout": [[3, 2, 1, "", "expired"]], "pymcuprog.toolconnection": [[1, 1, 1, "", "ToolConnection"], [1, 1, 1, "", "ToolSerialConnection"], [1, 1, 1, "", "ToolUsbHidConnection"]], "pymcuprog.toolconnection.ToolSerialConnection": [[1, 3, 1, "", "serialport"]], "pymcuprog.toolconnection.ToolUsbHidConnection": [[1, 3, 1, "", "serialnumber"], [1, 3, 1, "", "tool_name"]], "pymcuprog.utils": [[1, 4, 1, "", "compare"], [1, 4, 1, "", "enum"], [1, 4, 1, "", "pad_to_size"], [1, 4, 1, "", "pagealign"], [1, 4, 1, "", "print_tool_info"], [1, 4, 1, "", "read_supply_voltage_setpoint"], [1, 4, 1, "", "read_target_voltage"], [1, 4, 1, "", "read_tool_info"], [1, 4, 1, "", "read_usb_voltage"], [1, 4, 1, "", "read_voltage_parameter"], [1, 4, 1, "", "set_supply_voltage_setpoint"], [1, 4, 1, "", "showdata"], [1, 4, 1, "", "verify_from_bin"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function", "5": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"], "5": ["py", "exception", "Python exception"]}, "titleterms": {"pymcuprog": [0, 1, 2, 3], "document": 0, "python": [0, 1], "mcu": [0, 1], "programm": [0, 1], "util": [0, 1], "overview": [0, 1], "command": [0, 1], "line": [0, 1], "interfac": [0, 1], "usag": [0, 1], "librari": [0, 1], "log": [0, 1], "depend": [0, 1], "support": [0, 1], "devic": [0, 1], "tool": [0, 1], "content": [0, 1, 2, 3], "indic": 0, "tabl": 0, "packag": [1, 2, 3], "subpackag": 1, "submodul": [1, 2, 3], "avr8": 1, "target": 1, "avr32": 1, "alpha": 1, "sam": 1, "backend": 1, "api": 1, "function": 1, "avr": 1, "debugg": 1, "nvm": [1, 3], "access": 1, "implement": 1, "updi": 1, "serialupdi": [1, 3], "pic": 1, "m0": 1, "debugwir": 1, "spi": 1, "tpi": 1, "megaavr": 1, "jtag": 1, "xmega": 1, "hex": 1, "file": 1, "connect": 1, "error": 1, "modul": [1, 2, 3], "deviceinfo": 2, "deviceinfokei": 2, "eraseflag": 2, "memorynam": 2, "applic": 3, "constant": 3, "link": 3, "nvmp0": 3, "nvmp2": 3, "nvmp3": 3, "physic": 3, "readwrit": 3, "timeout": 3}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"pymcuprog documentation": [[0, "pymcuprog-documentation"]], "Python MCU programmer utility": [[0, "python-mcu-programmer-utility"], [1, "python-mcu-programmer-utility"]], "Overview": [[0, "overview"], [1, "overview"]], "Command-line interface usage": [[0, "command-line-interface-usage"], [1, "command-line-interface-usage"]], "Library usage": [[0, "library-usage"], [1, "library-usage"]], "Logging": [[0, "logging"], [1, "logging"]], "Dependencies": [[0, "dependencies"], [1, "dependencies"]], "Supported devices and tools": [[0, "supported-devices-and-tools"], [1, "supported-devices-and-tools"]], "Contents:": [[0, null]], "Indices and tables": [[0, "indices-and-tables"]], "pymcuprog package": [[1, "pymcuprog-package"]], "Subpackages": [[1, "subpackages"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"]], "AVR8 target": [[1, "module-pymcuprog.avr8target"]], "AVR32 target (alpha)": [[1, "module-pymcuprog.avr32target"]], "SAM target (alpha)": [[1, "module-pymcuprog.samtarget"]], "Backend API (library functions)": [[1, "module-pymcuprog.backend"]], "Programmer API": [[1, "module-pymcuprog.programmer"]], "AVR debugger API (alpha)": [[1, "module-pymcuprog.avrdebugger"]], "NVM Access (implementations)": [[1, "module-pymcuprog.nvm"]], "NVM implementation: UPDI": [[1, "module-pymcuprog.nvmupdi"]], "NVM implementation: serialUPDI": [[1, "module-pymcuprog.nvmserialupdi"]], "NVM implementation: PIC": [[1, "module-pymcuprog.nvmpic"]], "NVM implementation: SAM M0+ (alpha)": [[1, "module-pymcuprog.nvmmzeroplus"]], "NVM implementation: debugWIRE (alpha)": [[1, "module-pymcuprog.nvmdebugwire"]], "NVM implementation: SPI (alpha)": [[1, "module-pymcuprog.nvmspi"]], "NVM implementation: TPI (alpha)": [[1, "module-pymcuprog.nvmtpi"]], "NVM implementation: megaAVR (JTAG) - (alpha)": [[1, "module-pymcuprog.nvmmegaavrjtag"]], "NVM implementation: XMEGA (alpha)": [[1, "module-pymcuprog.nvmxmega"]], "NVM implementation: AVR32 (alpha)": [[1, "module-pymcuprog.nvmavr32"]], "Utilities": [[1, "module-pymcuprog.utils"]], "Hex file utilities": [[1, "module-pymcuprog.hexfileutils"]], "Tool connections": [[1, "module-pymcuprog.toolconnection"]], "pymcuprog errors": [[1, "module-pymcuprog.pymcuprog_errors"]], "Module contents": [[1, "module-pymcuprog"], [2, "module-pymcuprog.deviceinfo"], [3, "module-pymcuprog.serialupdi"]], "pymcuprog.deviceinfo package": [[2, "pymcuprog-deviceinfo-package"]], "pymcuprog.deviceinfo.deviceinfo module": [[2, "module-pymcuprog.deviceinfo.deviceinfo"]], "pymcuprog.deviceinfo.deviceinfokeys module": [[2, "module-pymcuprog.deviceinfo.deviceinfokeys"]], "pymcuprog.deviceinfo.eraseflags module": [[2, "module-pymcuprog.deviceinfo.eraseflags"]], "pymcuprog.deviceinfo.memorynames module": [[2, "module-pymcuprog.deviceinfo.memorynames"]], "pymcuprog.serialupdi package": [[3, "pymcuprog-serialupdi-package"]], "pymcuprog.serialupdi.application module": [[3, "module-pymcuprog.serialupdi.application"]], "pymcuprog.serialupdi.constants module": [[3, "module-pymcuprog.serialupdi.constants"]], "pymcuprog.serialupdi.link module": [[3, "module-pymcuprog.serialupdi.link"]], "pymcuprog.serialupdi.nvm module": [[3, "module-pymcuprog.serialupdi.nvm"]], "pymcuprog.serialupdi.nvmp0 module": [[3, "module-pymcuprog.serialupdi.nvmp0"]], "pymcuprog.serialupdi.nvmp2 module": [[3, "module-pymcuprog.serialupdi.nvmp2"]], "pymcuprog.serialupdi.nvmp3 module": [[3, "module-pymcuprog.serialupdi.nvmp3"]], "pymcuprog.serialupdi.physical module": [[3, "module-pymcuprog.serialupdi.physical"]], "pymcuprog.serialupdi.readwrite module": [[3, "module-pymcuprog.serialupdi.readwrite"]], "pymcuprog.serialupdi.timeout module": [[3, "module-pymcuprog.serialupdi.timeout"]]}, "indexentries": {"api_version (pymcuprog.backend.backend attribute)": [[1, "pymcuprog.backend.Backend.API_VERSION"]], "avr32device (class in pymcuprog.avr32target)": [[1, "pymcuprog.avr32target.Avr32Device"]], "avrdebugger (class in pymcuprog.avrdebugger)": [[1, "pymcuprog.avrdebugger.AvrDebugger"]], "avrdevice (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.AvrDevice"]], "backend (class in pymcuprog.backend)": [[1, "pymcuprog.backend.Backend"]], "cmd_ear (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_EAR"]], "cmd_lr (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_LR"]], "cmd_pbc (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_PBC"]], "cmd_ur (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_UR"]], "cmd_wap (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_WAP"]], "cmd_wp (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.CMD_WP"]], "dap_transfer_idle_cycles (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DAP_TRANSFER_IDLE_CYCLES"]], "dap_transfer_match_retry (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DAP_TRANSFER_MATCH_RETRY"]], "dap_transfer_retry_count (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DAP_TRANSFER_RETRY_COUNT"]], "dsu_address (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_ADDRESS"]], "dsu_chip_erase_timeout_ms (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CHIP_ERASE_TIMEOUT_MS"]], "dsu_ctrl_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CTRL_OFFSET"]], "dsu_ctrl_status_ce_command_mask (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CTRL_STATUS_CE_COMMAND_MASK"]], "dsu_ctrl_status_done_mask (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CTRL_STATUS_DONE_MASK"]], "dsu_ctrl_status_prot_mask (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_CTRL_STATUS_PROT_MASK"]], "dsu_did_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_DID_OFFSET"]], "dsu_external_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.DSU_EXTERNAL_OFFSET"]], "dut (class in pymcuprog.nvmserialupdi)": [[1, "pymcuprog.nvmserialupdi.Dut"]], "flash_lock_regions (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.FLASH_LOCK_REGIONS"]], "flash_lock_region_size (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.FLASH_LOCK_REGION_SIZE"]], "megaavrjtagtarget (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.MegaAvrJtagTarget"]], "nvm_ctrlb_manw_bit (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRLB_MANW_BIT"]], "nvm_ctrl_address (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_ADDRESS"]], "nvm_ctrl_addr_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_ADDR_OFFSET"]], "nvm_ctrl_ctrlb_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_CTRLB_OFFSET"]], "nvm_ctrl_ctrl_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_CTRL_OFFSET"]], "nvm_ctrl_intflag_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_INTFLAG_OFFSET"]], "nvm_ctrl_lock_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_LOCK_OFFSET"]], "nvm_ctrl_status_offset (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_CTRL_STATUS_OFFSET"]], "nvm_int_error_bit (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_INT_ERROR_BIT"]], "nvm_int_ready_bit (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_INT_READY_BIT"]], "nvm_status_locke (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_STATUS_LOCKE"]], "nvm_status_nvme (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_STATUS_NVME"]], "nvm_status_proge (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_STATUS_PROGE"]], "nvm_status_sb (pymcuprog.samtarget.samd2xtarget attribute)": [[1, "pymcuprog.samtarget.SamD2xTarget.NVM_STATUS_SB"]], "nvmaccessprovider (class in pymcuprog.nvm)": [[1, "pymcuprog.nvm.NvmAccessProvider"]], "nvmaccessprovidercmsisdapavr (class in pymcuprog.nvm)": [[1, "pymcuprog.nvm.NvmAccessProviderCmsisDapAvr"]], "nvmaccessprovidercmsisdapavr32 (class in pymcuprog.nvmavr32)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32"]], "nvmaccessprovidercmsisdapdebugwire (class in pymcuprog.nvmdebugwire)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire"]], "nvmaccessprovidercmsisdapmzeroplus (class in pymcuprog.nvmmzeroplus)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus"]], "nvmaccessprovidercmsisdapmegaavrjtag (class in pymcuprog.nvmmegaavrjtag)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag"]], "nvmaccessprovidercmsisdappic (class in pymcuprog.nvmpic)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic"]], "nvmaccessprovidercmsisdapspi (class in pymcuprog.nvmspi)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi"]], "nvmaccessprovidercmsisdaptool (class in pymcuprog.nvm)": [[1, "pymcuprog.nvm.NvmAccessProviderCmsisDapTool"]], "nvmaccessprovidercmsisdaptpi (class in pymcuprog.nvmtpi)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi"]], "nvmaccessprovidercmsisdapupdi (class in pymcuprog.nvmupdi)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi"]], "nvmaccessprovidercmsisdapxmega (class in pymcuprog.nvmxmega)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega"]], "nvmaccessproviderserial (class in pymcuprog.nvmserialupdi)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial"]], "programmer (class in pymcuprog.programmer)": [[1, "pymcuprog.programmer.Programmer"]], "pymcuprogdevicelockederror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogDeviceLockedError"]], "pymcuprogeraseerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogEraseError"]], "pymcuprogerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogError"]], "pymcuprognotsupportederror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogNotSupportedError"]], "pymcuprogserialupdierror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiError"]], "pymcuprogserialupdilockederror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiLockedError"]], "pymcuprogserialupdinvmerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiNvmError"]], "pymcuprogserialupdinvmtimeout": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiNvmTimeout"]], "pymcuprogserialupdiprotocolerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSerialUpdiProtocolError"]], "pymcuprogsessionconfigerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSessionConfigError"]], "pymcuprogsessionerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogSessionError"]], "pymcuprogtargetvoltageerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogTargetVoltageError"]], "pymcuprogtoolconfigurationerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogToolConfigurationError"]], "pymcuprogtoolconnectionerror": [[1, "pymcuprog.pymcuprog_errors.PymcuprogToolConnectionError"]], "samd2xtarget (class in pymcuprog.samtarget)": [[1, "pymcuprog.samtarget.SamD2xTarget"]], "samm4target (class in pymcuprog.samtarget)": [[1, "pymcuprog.samtarget.SamM4Target"]], "samtarget (class in pymcuprog.samtarget)": [[1, "pymcuprog.samtarget.SamTarget"]], "sessionconfig (class in pymcuprog.backend)": [[1, "pymcuprog.backend.SessionConfig"]], "tinyavrtarget (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.TinyAvrTarget"]], "tinyxavrtarget (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.TinyXAvrTarget"]], "toolconnection (class in pymcuprog.toolconnection)": [[1, "pymcuprog.toolconnection.ToolConnection"]], "toolserialconnection (class in pymcuprog.toolconnection)": [[1, "pymcuprog.toolconnection.ToolSerialConnection"]], "toolusbhidconnection (class in pymcuprog.toolconnection)": [[1, "pymcuprog.toolconnection.ToolUsbHidConnection"]], "xmegaavrtarget (class in pymcuprog.avr8target)": [[1, "pymcuprog.avr8target.XmegaAvrTarget"]], "activate_physical() (pymcuprog.avr32target.avr32device method)": [[1, "pymcuprog.avr32target.Avr32Device.activate_physical"]], "activate_physical() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.activate_physical"]], "activate_physical() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.activate_physical"]], "ap_read() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.ap_read"]], "ap_write() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.ap_write"]], "attach() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.attach"]], "breakpoint_clear() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.breakpoint_clear"]], "breakpoint_set() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.breakpoint_set"]], "chip_erase_dsu() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.chip_erase_dsu"]], "compare() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.compare"]], "connect() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.connect"]], "connect_to_tool() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.connect_to_tool"]], "deactivate_physical() (pymcuprog.avr32target.avr32device method)": [[1, "pymcuprog.avr32target.Avr32Device.deactivate_physical"]], "deactivate_physical() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.deactivate_physical"]], "detach() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.detach"]], "device (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.device"]], "disconnect() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.disconnect"]], "disconnect_from_tool() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.disconnect_from_tool"]], "dp_read() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.dp_read"]], "dp_write() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.dp_write"]], "eeprom_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.eeprom_read"]], "eeprom_write() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.eeprom_write"]], "end_session() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.end_session"]], "enter_progmode() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.enter_progmode"]], "enum() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.enum"]], "erase() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.erase"]], "erase() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.erase"]], "erase() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.erase"]], "erase() (pymcuprog.nvmdebugwire.nvmaccessprovidercmsisdapdebugwire method)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire.erase"]], "erase() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.erase"]], "erase() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.erase"]], "erase() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.erase"]], "erase() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.erase"]], "erase() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.erase"]], "erase() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.erase"]], "erase() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.erase"]], "erase() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.erase"]], "erase() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.erase"]], "erase_user_row() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.erase_user_row"]], "execute_instruction() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.execute_instruction"]], "execute_patch() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.execute_patch"]], "flash_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.flash_read"]], "flush_events() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.flush_events"]], "get_api_version() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.get_api_version"]], "get_available_hid_tools() (pymcuprog.backend.backend static method)": [[1, "pymcuprog.backend.Backend.get_available_hid_tools"]], "get_chiperase_effect() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.get_chiperase_effect"]], "get_device_info() (pymcuprog.backend.backend static method)": [[1, "pymcuprog.backend.Backend.get_device_info"]], "get_device_memory_info() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.get_device_memory_info"]], "get_device_model() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.get_device_model"]], "get_nvm_access_provider() (in module pymcuprog.nvm)": [[1, "pymcuprog.nvm.get_nvm_access_provider"]], "get_supported_devices() (pymcuprog.backend.backend static method)": [[1, "pymcuprog.backend.Backend.get_supported_devices"]], "hardware_breakpoint_clear() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.hardware_breakpoint_clear"]], "hardware_breakpoint_set() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.hardware_breakpoint_set"]], "hold_in_reset() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvm.nvmaccessprovider method)": [[1, "pymcuprog.nvm.NvmAccessProvider.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.hold_in_reset"]], "hold_in_reset() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.hold_in_reset"]], "hold_in_reset() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.hold_in_reset"]], "interface (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.interface"]], "interface_speed (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.interface_speed"]], "is_blank() (pymcuprog.avr8target.avrdevice static method)": [[1, "pymcuprog.avr8target.AvrDevice.is_blank"]], "is_device_locked() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.is_device_locked"]], "is_flash_ready() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.is_flash_ready"]], "is_isolated_erase_possible() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.is_isolated_erase_possible"]], "leave_progmode() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.leave_progmode"]], "load_device() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.load_device"]], "memory_read() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.memory_read"]], "memory_write() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.memory_write"]], "memtype_read_from_string() (pymcuprog.avr8target.avrdevice static method)": [[1, "pymcuprog.avr8target.AvrDevice.memtype_read_from_string"]], "memtype_write_from_string() (pymcuprog.avr8target.tinyxavrtarget static method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.memtype_write_from_string"]], "module": [[1, "module-pymcuprog"], [1, "module-pymcuprog.avr32target"], [1, "module-pymcuprog.avr8target"], [1, "module-pymcuprog.avrdebugger"], [1, "module-pymcuprog.backend"], [1, "module-pymcuprog.hexfileutils"], [1, "module-pymcuprog.nvm"], [1, "module-pymcuprog.nvmavr32"], [1, "module-pymcuprog.nvmdebugwire"], [1, "module-pymcuprog.nvmmegaavrjtag"], [1, "module-pymcuprog.nvmmzeroplus"], [1, "module-pymcuprog.nvmpic"], [1, "module-pymcuprog.nvmserialupdi"], [1, "module-pymcuprog.nvmspi"], [1, "module-pymcuprog.nvmtpi"], [1, "module-pymcuprog.nvmupdi"], [1, "module-pymcuprog.nvmxmega"], [1, "module-pymcuprog.programmer"], [1, "module-pymcuprog.pymcuprog_errors"], [1, "module-pymcuprog.samtarget"], [1, "module-pymcuprog.toolconnection"], [1, "module-pymcuprog.utils"], [2, "module-pymcuprog.deviceinfo"], [2, "module-pymcuprog.deviceinfo.deviceinfo"], [2, "module-pymcuprog.deviceinfo.deviceinfokeys"], [2, "module-pymcuprog.deviceinfo.eraseflags"], [2, "module-pymcuprog.deviceinfo.memorynames"], [3, "module-pymcuprog.serialupdi"], [3, "module-pymcuprog.serialupdi.application"], [3, "module-pymcuprog.serialupdi.constants"], [3, "module-pymcuprog.serialupdi.link"], [3, "module-pymcuprog.serialupdi.nvm"], [3, "module-pymcuprog.serialupdi.nvmp0"], [3, "module-pymcuprog.serialupdi.nvmp2"], [3, "module-pymcuprog.serialupdi.nvmp3"], [3, "module-pymcuprog.serialupdi.physical"], [3, "module-pymcuprog.serialupdi.readwrite"], [3, "module-pymcuprog.serialupdi.timeout"]], "nvm_command() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.nvm_command"]], "ocdregfile_read() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.ocdregfile_read"]], "packpath (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.packpath"]], "pad_to_size() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.pad_to_size"]], "pagealign() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.pagealign"]], "poll_event() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.poll_event"]], "post_flash_write() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.post_flash_write"]], "pre_flash_write() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.pre_flash_write"]], "print_tool_info() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.print_tool_info"]], "program_counter_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.program_counter_read"]], "program_counter_write() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.program_counter_write"]], "pymcuprog": [[1, "module-pymcuprog"]], "pymcuprog.avr32target": [[1, "module-pymcuprog.avr32target"]], "pymcuprog.avr8target": [[1, "module-pymcuprog.avr8target"]], "pymcuprog.avrdebugger": [[1, "module-pymcuprog.avrdebugger"]], "pymcuprog.backend": [[1, "module-pymcuprog.backend"]], "pymcuprog.hexfileutils": [[1, "module-pymcuprog.hexfileutils"]], "pymcuprog.nvm": [[1, "module-pymcuprog.nvm"]], "pymcuprog.nvmavr32": [[1, "module-pymcuprog.nvmavr32"]], "pymcuprog.nvmdebugwire": [[1, "module-pymcuprog.nvmdebugwire"]], "pymcuprog.nvmmegaavrjtag": [[1, "module-pymcuprog.nvmmegaavrjtag"]], "pymcuprog.nvmmzeroplus": [[1, "module-pymcuprog.nvmmzeroplus"]], "pymcuprog.nvmpic": [[1, "module-pymcuprog.nvmpic"]], "pymcuprog.nvmserialupdi": [[1, "module-pymcuprog.nvmserialupdi"]], "pymcuprog.nvmspi": [[1, "module-pymcuprog.nvmspi"]], "pymcuprog.nvmtpi": [[1, "module-pymcuprog.nvmtpi"]], "pymcuprog.nvmupdi": [[1, "module-pymcuprog.nvmupdi"]], "pymcuprog.nvmxmega": [[1, "module-pymcuprog.nvmxmega"]], "pymcuprog.programmer": [[1, "module-pymcuprog.programmer"]], "pymcuprog.pymcuprog_errors": [[1, "module-pymcuprog.pymcuprog_errors"]], "pymcuprog.samtarget": [[1, "module-pymcuprog.samtarget"]], "pymcuprog.toolconnection": [[1, "module-pymcuprog.toolconnection"]], "pymcuprog.utils": [[1, "module-pymcuprog.utils"]], "read() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.read"]], "read() (pymcuprog.nvmdebugwire.nvmaccessprovidercmsisdapdebugwire static method)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire.read"]], "read() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.read"]], "read() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.read"]], "read() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.read"]], "read() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.read"]], "read() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.read"]], "read() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.read"]], "read() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.read"]], "read() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega static method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.read"]], "read_device_id() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.read_device_id"]], "read_device_id() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_device_id"]], "read_device_id() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.read_device_id"]], "read_device_id() (pymcuprog.nvmdebugwire.nvmaccessprovidercmsisdapdebugwire method)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire.read_device_id"]], "read_device_id() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.read_device_id"]], "read_device_id() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.read_device_id"]], "read_device_id() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.read_device_id"]], "read_device_id() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.read_device_id"]], "read_device_id() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.read_device_id"]], "read_device_id() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.read_device_id"]], "read_device_id() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.read_device_id"]], "read_device_id() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.read_device_id"]], "read_device_id() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.read_device_id"]], "read_device_id() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.read_device_id"]], "read_flash() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.read_flash"]], "read_idcode() (pymcuprog.samtarget.samtarget method)": [[1, "pymcuprog.samtarget.SamTarget.read_idcode"]], "read_kit_device() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_kit_device"]], "read_memories_from_hex() (in module pymcuprog.hexfileutils)": [[1, "pymcuprog.hexfileutils.read_memories_from_hex"]], "read_memory() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_memory"]], "read_memory() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.read_memory"]], "read_memory_section() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.read_memory_section"]], "read_supply_voltage_setpoint() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_supply_voltage_setpoint"]], "read_supply_voltage_setpoint() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_supply_voltage_setpoint"]], "read_target_voltage() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_target_voltage"]], "read_target_voltage() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_target_voltage"]], "read_tool_info() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_tool_info"]], "read_tool_info() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_tool_info"]], "read_usb_voltage() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_usb_voltage"]], "read_usb_voltage() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.read_usb_voltage"]], "read_user_row() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.read_user_row"]], "read_voltage_parameter() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.read_voltage_parameter"]], "reboot_tool() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.reboot_tool"]], "register_file_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.register_file_read"]], "register_file_write() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.register_file_write"]], "reinitialise() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.reinitialise"]], "release_from_reset() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.release_from_reset"]], "release_from_reset() (pymcuprog.nvm.nvmaccessprovider method)": [[1, "pymcuprog.nvm.NvmAccessProvider.release_from_reset"]], "release_from_reset() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.release_from_reset"]], "release_from_reset() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.release_from_reset"]], "release_from_reset() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.release_from_reset"]], "release_from_reset() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.release_from_reset"]], "release_from_reset() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.release_from_reset"]], "remove_phantom_bytes() (in module pymcuprog.hexfileutils)": [[1, "pymcuprog.hexfileutils.remove_phantom_bytes"]], "reset() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.reset"]], "run() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.run"]], "run_to() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.run_to"]], "run_with_power_nap() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.run_with_power_nap"]], "serialnumber (pymcuprog.toolconnection.toolusbhidconnection attribute)": [[1, "pymcuprog.toolconnection.ToolUsbHidConnection.serialnumber"]], "serialport (pymcuprog.toolconnection.toolserialconnection attribute)": [[1, "pymcuprog.toolconnection.ToolSerialConnection.serialport"]], "set_nvmctrl_address() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.set_nvmctrl_address"]], "set_options() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.set_options"]], "set_supply_voltage_setpoint() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.set_supply_voltage_setpoint"]], "set_supply_voltage_setpoint() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.set_supply_voltage_setpoint"]], "setup_config() (pymcuprog.avr8target.megaavrjtagtarget method)": [[1, "pymcuprog.avr8target.MegaAvrJtagTarget.setup_config"]], "setup_config() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.setup_config"]], "setup_config() (pymcuprog.avr8target.xmegaavrtarget method)": [[1, "pymcuprog.avr8target.XmegaAvrTarget.setup_config"]], "setup_debug_session() (pymcuprog.avr8target.tinyavrtarget method)": [[1, "pymcuprog.avr8target.TinyAvrTarget.setup_debug_session"]], "setup_debug_session() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.setup_debug_session"]], "setup_debug_session() (pymcuprog.avr8target.xmegaavrtarget method)": [[1, "pymcuprog.avr8target.XmegaAvrTarget.setup_debug_session"]], "setup_device() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.setup_device"]], "setup_prog_session() (pymcuprog.avr32target.avr32device method)": [[1, "pymcuprog.avr32target.Avr32Device.setup_prog_session"]], "setup_prog_session() (pymcuprog.avr8target.megaavrjtagtarget method)": [[1, "pymcuprog.avr8target.MegaAvrJtagTarget.setup_prog_session"]], "setup_prog_session() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.setup_prog_session"]], "setup_prog_session() (pymcuprog.avr8target.xmegaavrtarget method)": [[1, "pymcuprog.avr8target.XmegaAvrTarget.setup_prog_session"]], "setup_session() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.setup_session"]], "showdata() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.showdata"]], "sib_read() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.sib_read"]], "software_breakpoint_clear() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.software_breakpoint_clear"]], "software_breakpoint_clear_all() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.software_breakpoint_clear_all"]], "software_breakpoint_set() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.software_breakpoint_set"]], "special_options (pymcuprog.backend.sessionconfig attribute)": [[1, "pymcuprog.backend.SessionConfig.special_options"]], "sram_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.sram_read"]], "sram_write() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.sram_write"]], "stack_pointer_read() (pymcuprog.avr8target.tinyxavrtarget method)": [[1, "pymcuprog.avr8target.TinyXAvrTarget.stack_pointer_read"]], "stack_pointer_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.stack_pointer_read"]], "start() (pymcuprog.nvm.nvmaccessprovider method)": [[1, "pymcuprog.nvm.NvmAccessProvider.start"]], "start() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.start"]], "start() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.start"]], "start() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.start"]], "start() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.start"]], "start() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.start"]], "start_debugging() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.start_debugging"]], "start_session() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.start_session"]], "status_register_read() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.status_register_read"]], "step() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.step"]], "stop() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.stop"]], "stop() (pymcuprog.nvm.nvmaccessprovider method)": [[1, "pymcuprog.nvm.NvmAccessProvider.stop"]], "stop() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.stop"]], "stop() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.stop"]], "stop() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.stop"]], "stop() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.stop"]], "stop() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.stop"]], "stop() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.stop"]], "stop() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.stop"]], "stop() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.stop"]], "stop() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.stop"]], "stop() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.stop"]], "stop_debugging() (pymcuprog.avrdebugger.avrdebugger method)": [[1, "pymcuprog.avrdebugger.AvrDebugger.stop_debugging"]], "tool_name (pymcuprog.toolconnection.toolusbhidconnection attribute)": [[1, "pymcuprog.toolconnection.ToolUsbHidConnection.tool_name"]], "unlock_all_regions() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.unlock_all_regions"]], "verify_from_bin() (in module pymcuprog.utils)": [[1, "pymcuprog.utils.verify_from_bin"]], "verify_hex() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.verify_hex"]], "verify_memory() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.verify_memory"]], "verify_memory() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.verify_memory"]], "wait_flash_ready() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.wait_flash_ready"]], "write() (pymcuprog.nvmavr32.nvmaccessprovidercmsisdapavr32 method)": [[1, "pymcuprog.nvmavr32.NvmAccessProviderCmsisDapAvr32.write"]], "write() (pymcuprog.nvmdebugwire.nvmaccessprovidercmsisdapdebugwire static method)": [[1, "pymcuprog.nvmdebugwire.NvmAccessProviderCmsisDapDebugwire.write"]], "write() (pymcuprog.nvmmegaavrjtag.nvmaccessprovidercmsisdapmegaavrjtag static method)": [[1, "pymcuprog.nvmmegaavrjtag.NvmAccessProviderCmsisDapMegaAvrJtag.write"]], "write() (pymcuprog.nvmmzeroplus.nvmaccessprovidercmsisdapmzeroplus method)": [[1, "pymcuprog.nvmmzeroplus.NvmAccessProviderCmsisDapMZeroPlus.write"]], "write() (pymcuprog.nvmpic.nvmaccessprovidercmsisdappic method)": [[1, "pymcuprog.nvmpic.NvmAccessProviderCmsisDapPic.write"]], "write() (pymcuprog.nvmserialupdi.nvmaccessproviderserial method)": [[1, "pymcuprog.nvmserialupdi.NvmAccessProviderSerial.write"]], "write() (pymcuprog.nvmspi.nvmaccessprovidercmsisdapspi method)": [[1, "pymcuprog.nvmspi.NvmAccessProviderCmsisDapSpi.write"]], "write() (pymcuprog.nvmtpi.nvmaccessprovidercmsisdaptpi static method)": [[1, "pymcuprog.nvmtpi.NvmAccessProviderCmsisDapTpi.write"]], "write() (pymcuprog.nvmupdi.nvmaccessprovidercmsisdapupdi method)": [[1, "pymcuprog.nvmupdi.NvmAccessProviderCmsisDapUpdi.write"]], "write() (pymcuprog.nvmxmega.nvmaccessprovidercmsisdapxmega static method)": [[1, "pymcuprog.nvmxmega.NvmAccessProviderCmsisDapXmega.write"]], "write_flash_page() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.write_flash_page"]], "write_hex_to_target() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.write_hex_to_target"]], "write_memories_to_hex() (in module pymcuprog.hexfileutils)": [[1, "pymcuprog.hexfileutils.write_memories_to_hex"]], "write_memory() (pymcuprog.backend.backend method)": [[1, "pymcuprog.backend.Backend.write_memory"]], "write_memory() (pymcuprog.programmer.programmer method)": [[1, "pymcuprog.programmer.Programmer.write_memory"]], "write_memory_section() (pymcuprog.avr8target.avrdevice method)": [[1, "pymcuprog.avr8target.AvrDevice.write_memory_section"]], "write_memory_to_hex() (in module pymcuprog.hexfileutils)": [[1, "pymcuprog.hexfileutils.write_memory_to_hex"]], "write_user_row_word() (pymcuprog.samtarget.samd2xtarget method)": [[1, "pymcuprog.samtarget.SamD2xTarget.write_user_row_word"]], "address (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.ADDRESS"]], "address_size (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.ADDRESS_SIZE"]], "all (pymcuprog.deviceinfo.memorynames.memorynamealiases attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNameAliases.ALL"]], "architecture (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.ARCHITECTURE"]], "boot_row (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.BOOT_ROW"]], "calibration_row (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.CALIBRATION_ROW"]], "chiperase_effect (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.CHIPERASE_EFFECT"]], "config_word (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.CONFIG_WORD"]], "data_address_space (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.DATA_ADDRESS_SPACE"]], "dci (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.DCI"]], "default_bulk_erase_address (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeyspic attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysPic.DEFAULT_BULK_ERASE_ADDRESS"]], "device_id (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.DEVICE_ID"]], "dia (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.DIA"]], "deviceinfokeys (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys"]], "deviceinfokeysavr (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr"]], "deviceinfokeysavr32 (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr32"]], "deviceinfokeyspic (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysPic"]], "devicememoryinfo (class in pymcuprog.deviceinfo.deviceinfo)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo"]], "devicememoryinfokeys (class in pymcuprog.deviceinfo.deviceinfokeys)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys"]], "eeprom (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.EEPROM"]], "erase_address (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.ERASE_ADDRESS"]], "flash (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.FLASH"]], "fuses (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.FUSES"]], "hexfile_address (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.HEXFILE_ADDRESS"]], "hexfile_size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.HEXFILE_SIZE"]], "hv_implementation (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.HV_IMPLEMENTATION"]], "icd (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.ICD"]], "interface (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.INTERFACE"]], "internal_sram (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.INTERNAL_SRAM"]], "isolated_erase (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.ISOLATED_ERASE"]], "lockbits (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.LOCKBITS"]], "memorynamealiases (class in pymcuprog.deviceinfo.memorynames)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNameAliases"]], "memorynames (class in pymcuprog.deviceinfo.memorynames)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames"]], "name (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.NAME"]], "name (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.NAME"]], "nvmctrl_base (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.NVMCTRL_BASE"]], "ocd_base (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.OCD_BASE"]], "page_size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.PAGE_SIZE"]], "prog_clock_khz (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.PROG_CLOCK_KHZ"]], "read_size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.READ_SIZE"]], "reset_domains (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr32 attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr32.RESET_DOMAINS"]], "signatures (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.SIGNATURES"]], "size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.SIZE"]], "syscfg_base (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeysavr attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeysAvr.SYSCFG_BASE"]], "user_id (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.USER_ID"]], "user_row (pymcuprog.deviceinfo.memorynames.memorynames attribute)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.USER_ROW"]], "verify_mask (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.VERIFY_MASK"]], "write_size (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys attribute)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.WRITE_SIZE"]], "bytes_or_words() (pymcuprog.deviceinfo.deviceinfo.devicememoryinfo static method)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo.bytes_or_words"]], "get_all() (pymcuprog.deviceinfo.deviceinfokeys.deviceinfokeys class method)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceInfoKeys.get_all"]], "get_all() (pymcuprog.deviceinfo.deviceinfokeys.devicememoryinfokeys class method)": [[2, "pymcuprog.deviceinfo.deviceinfokeys.DeviceMemoryInfoKeys.get_all"]], "get_all() (pymcuprog.deviceinfo.memorynames.memorynames class method)": [[2, "pymcuprog.deviceinfo.memorynames.MemoryNames.get_all"]], "get_list_of_chiperase_effects() (in module pymcuprog.deviceinfo.eraseflags)": [[2, "pymcuprog.deviceinfo.eraseflags.get_list_of_chiperase_effects"]], "get_supported_devices() (in module pymcuprog.deviceinfo.deviceinfo)": [[2, "pymcuprog.deviceinfo.deviceinfo.get_supported_devices"]], "getdeviceinfo() (in module pymcuprog.deviceinfo.deviceinfo)": [[2, "pymcuprog.deviceinfo.deviceinfo.getdeviceinfo"]], "memory_info_by_address() (pymcuprog.deviceinfo.deviceinfo.devicememoryinfo method)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo.memory_info_by_address"]], "memory_info_by_address_range() (pymcuprog.deviceinfo.deviceinfo.devicememoryinfo method)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo.memory_info_by_address_range"]], "memory_info_by_name() (pymcuprog.deviceinfo.deviceinfo.devicememoryinfo method)": [[2, "pymcuprog.deviceinfo.deviceinfo.DeviceMemoryInfo.memory_info_by_name"]], "pymcuprog.deviceinfo": [[2, "module-pymcuprog.deviceinfo"]], "pymcuprog.deviceinfo.deviceinfo": [[2, "module-pymcuprog.deviceinfo.deviceinfo"]], "pymcuprog.deviceinfo.deviceinfokeys": [[2, "module-pymcuprog.deviceinfo.deviceinfokeys"]], "pymcuprog.deviceinfo.eraseflags": [[2, "module-pymcuprog.deviceinfo.eraseflags"]], "pymcuprog.deviceinfo.memorynames": [[2, "module-pymcuprog.deviceinfo.memorynames"]], "ldcs_response_bytes (pymcuprog.serialupdi.link.updidatalink attribute)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.LDCS_RESPONSE_BYTES"]], "nvmcmd_chip_erase (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_CHIP_ERASE"]], "nvmcmd_chip_erase (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_CHIP_ERASE"]], "nvmcmd_chip_erase (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_CHIP_ERASE"]], "nvmcmd_eeprom_byte_erase (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_EEPROM_BYTE_ERASE"]], "nvmcmd_eeprom_erase (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_EEPROM_ERASE"]], "nvmcmd_eeprom_erase (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_ERASE"]], "nvmcmd_eeprom_erase_write (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_EEPROM_ERASE_WRITE"]], "nvmcmd_eeprom_page_buffer_clear (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_PAGE_BUFFER_CLEAR"]], "nvmcmd_eeprom_page_erase (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_PAGE_ERASE"]], "nvmcmd_eeprom_page_erase_write (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_PAGE_ERASE_WRITE"]], "nvmcmd_eeprom_page_write (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_EEPROM_PAGE_WRITE"]], "nvmcmd_eeprom_write (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_EEPROM_WRITE"]], "nvmcmd_erase_eeprom (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_ERASE_EEPROM"]], "nvmcmd_erase_page (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_ERASE_PAGE"]], "nvmcmd_erase_write_page (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_ERASE_WRITE_PAGE"]], "nvmcmd_flash_page_buffer_clear (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_FLASH_PAGE_BUFFER_CLEAR"]], "nvmcmd_flash_page_erase (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_FLASH_PAGE_ERASE"]], "nvmcmd_flash_page_erase (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_FLASH_PAGE_ERASE"]], "nvmcmd_flash_page_erase_write (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_FLASH_PAGE_ERASE_WRITE"]], "nvmcmd_flash_page_write (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_FLASH_PAGE_WRITE"]], "nvmcmd_flash_write (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_FLASH_WRITE"]], "nvmcmd_nocmd (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_NOCMD"]], "nvmcmd_nocmd (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_NOCMD"]], "nvmcmd_noop (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCMD_NOOP"]], "nvmcmd_noop (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCMD_NOOP"]], "nvmcmd_nop (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_NOP"]], "nvmcmd_page_buffer_clr (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_PAGE_BUFFER_CLR"]], "nvmcmd_write_fuse (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_WRITE_FUSE"]], "nvmcmd_write_page (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCMD_WRITE_PAGE"]], "nvmctrl_addr (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_ADDR"]], "nvmctrl_addr (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_ADDR"]], "nvmctrl_addr (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_ADDR"]], "nvmctrl_ctrla (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_CTRLA"]], "nvmctrl_ctrla (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_CTRLA"]], "nvmctrl_ctrla (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_CTRLA"]], "nvmctrl_ctrlb (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_CTRLB"]], "nvmctrl_ctrlb (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_CTRLB"]], "nvmctrl_ctrlb (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_CTRLB"]], "nvmctrl_data (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_DATA"]], "nvmctrl_data (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_DATA"]], "nvmctrl_data (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_DATA"]], "nvmctrl_intctrl (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_INTCTRL"]], "nvmctrl_intctrl (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_INTCTRL"]], "nvmctrl_intctrl (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_INTCTRL"]], "nvmctrl_intflags (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_INTFLAGS"]], "nvmctrl_intflags (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_INTFLAGS"]], "nvmctrl_intflags (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_INTFLAGS"]], "nvmctrl_status (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.NVMCTRL_STATUS"]], "nvmctrl_status (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.NVMCTRL_STATUS"]], "nvmctrl_status (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.NVMCTRL_STATUS"]], "nvmupdi (class in pymcuprog.serialupdi.nvm)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi"]], "nvmupdip0 (class in pymcuprog.serialupdi.nvmp0)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0"]], "nvmupdip2 (class in pymcuprog.serialupdi.nvmp2)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2"]], "nvmupdip3 (class in pymcuprog.serialupdi.nvmp3)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3"]], "status_eeprom_busy_bp (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.STATUS_EEPROM_BUSY_bp"]], "status_eeprom_busy_bp (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.STATUS_EEPROM_BUSY_bp"]], "status_eeprom_busy_bp (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.STATUS_EEPROM_BUSY_bp"]], "status_flash_busy_bp (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.STATUS_FLASH_BUSY_bp"]], "status_flash_busy_bp (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.STATUS_FLASH_BUSY_bp"]], "status_flash_busy_bp (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.STATUS_FLASH_BUSY_bp"]], "status_write_error_bm (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.STATUS_WRITE_ERROR_bm"]], "status_write_error_bm (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.STATUS_WRITE_ERROR_bm"]], "status_write_error_bp (pymcuprog.serialupdi.nvmp0.nvmupdip0 attribute)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.STATUS_WRITE_ERROR_bp"]], "status_write_error_bp (pymcuprog.serialupdi.nvmp2.nvmupdip2 attribute)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.STATUS_WRITE_ERROR_bp"]], "status_write_error_bp (pymcuprog.serialupdi.nvmp3.nvmupdip3 attribute)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.STATUS_WRITE_ERROR_bp"]], "timeout (class in pymcuprog.serialupdi.timeout)": [[3, "pymcuprog.serialupdi.timeout.Timeout"]], "updiapplication (class in pymcuprog.serialupdi.application)": [[3, "pymcuprog.serialupdi.application.UpdiApplication"]], "updidatalink (class in pymcuprog.serialupdi.link)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink"]], "updidatalink16bit (class in pymcuprog.serialupdi.link)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit"]], "updidatalink24bit (class in pymcuprog.serialupdi.link)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit"]], "updiphysical (class in pymcuprog.serialupdi.physical)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical"]], "updireadwrite (class in pymcuprog.serialupdi.readwrite)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite"]], "chip_erase() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.chip_erase"]], "chip_erase() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.chip_erase"]], "chip_erase() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.chip_erase"]], "chip_erase() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.chip_erase"]], "decode_sib() (in module pymcuprog.serialupdi.application)": [[3, "pymcuprog.serialupdi.application.decode_sib"]], "enter_progmode() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.enter_progmode"]], "erase_eeprom() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.erase_eeprom"]], "erase_eeprom() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.erase_eeprom"]], "erase_eeprom() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.erase_eeprom"]], "erase_eeprom() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.erase_eeprom"]], "erase_flash_page() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.erase_flash_page"]], "erase_flash_page() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.erase_flash_page"]], "erase_flash_page() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.erase_flash_page"]], "erase_flash_page() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.erase_flash_page"]], "erase_user_row() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.erase_user_row"]], "erase_user_row() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.erase_user_row"]], "erase_user_row() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.erase_user_row"]], "erase_user_row() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.erase_user_row"]], "execute_nvm_command() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.execute_nvm_command"]], "execute_nvm_command() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.execute_nvm_command"]], "execute_nvm_command() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.execute_nvm_command"]], "expired() (pymcuprog.serialupdi.timeout.timeout method)": [[3, "pymcuprog.serialupdi.timeout.Timeout.expired"]], "in_prog_mode() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.in_prog_mode"]], "init_datalink() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.init_datalink"]], "initialise_serial() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.initialise_serial"]], "key() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.key"]], "ld() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.ld"]], "ld() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.ld"]], "ld16() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.ld16"]], "ld16() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.ld16"]], "ld_ptr_inc() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.ld_ptr_inc"]], "ld_ptr_inc16() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.ld_ptr_inc16"]], "ldcs() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.ldcs"]], "leave_progmode() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.leave_progmode"]], "pymcuprog.serialupdi": [[3, "module-pymcuprog.serialupdi"]], "pymcuprog.serialupdi.application": [[3, "module-pymcuprog.serialupdi.application"]], "pymcuprog.serialupdi.constants": [[3, "module-pymcuprog.serialupdi.constants"]], "pymcuprog.serialupdi.link": [[3, "module-pymcuprog.serialupdi.link"]], "pymcuprog.serialupdi.nvm": [[3, "module-pymcuprog.serialupdi.nvm"]], "pymcuprog.serialupdi.nvmp0": [[3, "module-pymcuprog.serialupdi.nvmp0"]], "pymcuprog.serialupdi.nvmp2": [[3, "module-pymcuprog.serialupdi.nvmp2"]], "pymcuprog.serialupdi.nvmp3": [[3, "module-pymcuprog.serialupdi.nvmp3"]], "pymcuprog.serialupdi.physical": [[3, "module-pymcuprog.serialupdi.physical"]], "pymcuprog.serialupdi.readwrite": [[3, "module-pymcuprog.serialupdi.readwrite"]], "pymcuprog.serialupdi.timeout": [[3, "module-pymcuprog.serialupdi.timeout"]], "read_byte() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_byte"]], "read_cs() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_cs"]], "read_data() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.read_data"]], "read_data() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_data"]], "read_data_words() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.read_data_words"]], "read_data_words() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_data_words"]], "read_device_info() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.read_device_info"]], "read_sib() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.read_sib"]], "read_sib() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.read_sib"]], "receive() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.receive"]], "repeat() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.repeat"]], "reset() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.reset"]], "send() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.send"]], "send_double_break() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.send_double_break"]], "set_physical() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.set_physical"]], "sib() (pymcuprog.serialupdi.physical.updiphysical method)": [[3, "pymcuprog.serialupdi.physical.UpdiPhysical.sib"]], "st() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.st"]], "st() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.st"]], "st16() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.st16"]], "st16() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.st16"]], "st_ptr() (pymcuprog.serialupdi.link.updidatalink16bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink16bit.st_ptr"]], "st_ptr() (pymcuprog.serialupdi.link.updidatalink24bit method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink24bit.st_ptr"]], "st_ptr_inc() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.st_ptr_inc"]], "st_ptr_inc16() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.st_ptr_inc16"]], "stcs() (pymcuprog.serialupdi.link.updidatalink method)": [[3, "pymcuprog.serialupdi.link.UpdiDatalink.stcs"]], "unlock() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.unlock"]], "wait_nvm_ready() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.wait_nvm_ready"]], "wait_nvm_ready() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.wait_nvm_ready"]], "wait_nvm_ready() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.wait_nvm_ready"]], "wait_unlocked() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.wait_unlocked"]], "wait_urow_prog() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.wait_urow_prog"]], "write_byte() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_byte"]], "write_cs() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_cs"]], "write_data() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.write_data"]], "write_data() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_data"]], "write_data_words() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.write_data_words"]], "write_data_words() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_data_words"]], "write_eeprom() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.write_eeprom"]], "write_eeprom() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_eeprom"]], "write_eeprom() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_eeprom"]], "write_eeprom() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_eeprom"]], "write_flash() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.write_flash"]], "write_flash() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_flash"]], "write_flash() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_flash"]], "write_flash() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_flash"]], "write_fuse() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.write_fuse"]], "write_fuse() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_fuse"]], "write_fuse() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_fuse"]], "write_fuse() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_fuse"]], "write_key() (pymcuprog.serialupdi.readwrite.updireadwrite method)": [[3, "pymcuprog.serialupdi.readwrite.UpdiReadWrite.write_key"]], "write_nvm() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_nvm"]], "write_nvm() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_nvm"]], "write_nvm() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_nvm"]], "write_user_row() (pymcuprog.serialupdi.nvm.nvmupdi method)": [[3, "pymcuprog.serialupdi.nvm.NvmUpdi.write_user_row"]], "write_user_row() (pymcuprog.serialupdi.nvmp0.nvmupdip0 method)": [[3, "pymcuprog.serialupdi.nvmp0.NvmUpdiP0.write_user_row"]], "write_user_row() (pymcuprog.serialupdi.nvmp2.nvmupdip2 method)": [[3, "pymcuprog.serialupdi.nvmp2.NvmUpdiP2.write_user_row"]], "write_user_row() (pymcuprog.serialupdi.nvmp3.nvmupdip3 method)": [[3, "pymcuprog.serialupdi.nvmp3.NvmUpdiP3.write_user_row"]], "write_user_row_locked_device() (pymcuprog.serialupdi.application.updiapplication method)": [[3, "pymcuprog.serialupdi.application.UpdiApplication.write_user_row_locked_device"]]}}) \ No newline at end of file diff --git a/help.md b/help.md index 840b3db..34eef55 100644 --- a/help.md +++ b/help.md @@ -66,6 +66,10 @@ Reboot the debugger: ``` reboot-debugger ``` +Convert Intel® hex file to UF2 file +``` +makeuf2 +``` ## Memory types Memory types may vary depending on the device in question. @@ -157,7 +161,7 @@ dci -f FILENAME, --filename FILENAME file to write / read. - A specified filename which has .hex extension will be treated as Intel(R) hex + A specified filename which has .hex extension will be treated as Intel hex format; all other file extensions are treated as binary files. When writing from a .hex file, the memory segment addresses are read from @@ -210,6 +214,11 @@ dci Execute a Chip Erase on a locked device ``` +### Utility arguments +``` +--uf2file UF2FILE + Name of UF2 file to generate +``` # Examples Examples of using pymcuprog: @@ -246,6 +255,9 @@ pymcuprog getvoltage # Set target supply voltage on a kit (voltage provided by -l literal argument): pymcuprog setsupplyvoltage -l 3.3 + +# Convert Intel hex file to UF2 file (--uf2file argument is optional) +pymcuprog makeuf2 -f myfile.hex --uf2file newfile.uf2 ``` # serialUPDI usage SerialUPDI (also known as 'pyupdi') is implemented as a _tool_ in pymcuprog. diff --git a/pymcuprog/__init__.py b/pymcuprog/__init__.py index 2aa54e8..6948549 100644 --- a/pymcuprog/__init__.py +++ b/pymcuprog/__init__.py @@ -1,11 +1,3 @@ -# Build number part of version will be replaced by build number from Jenkins. -# For local builds the build number is 0 and the 'snapshot' is added as Local Version Identifier -__version__ = '3.16.8.40' - -# The GIT commit ID and build date are generated by Jenkins when building the package -COMMIT_ID = '44712c568bc9052293e71acfa3a2be0c4fbf2146' -BUILD_DATE = '2023-11-01 11:26:17' - """ Python MCU programmer utility ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -104,5 +96,15 @@ * PIC devices mounted on Curiosity Nano kits, or similar board with PKOB nano (nEDBG) debugger * Other devices (eg ATmega328P, ATsamd21e18a) may be partially supported for experimental purposes """ + import logging logging.getLogger(__name__).addHandler(logging.NullHandler()) + +# Build number part of version will be replaced by build number from Jenkins. +# For local builds the build number is 0 and the 'snapshot' is added as Local Version Identifier +__version__ = '3.17.3.45' + +# The GIT commit ID and build date are generated by Jenkins when building the package +COMMIT_ID = 'f558729df53d35bdd164e06d350484aab061e3f8' +BUILD_DATE = '2024-03-20 08:50:36' + diff --git a/pymcuprog/deviceinfo/devices/atmega1608.py b/pymcuprog/deviceinfo/devices/atmega1608.py index ab6c4ed..c2a4ece 100644 --- a/pymcuprog/deviceinfo/devices/atmega1608.py +++ b/pymcuprog/deviceinfo/devices/atmega1608.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/atmega1609.py b/pymcuprog/deviceinfo/devices/atmega1609.py index b9ea1ba..a92559f 100644 --- a/pymcuprog/deviceinfo/devices/atmega1609.py +++ b/pymcuprog/deviceinfo/devices/atmega1609.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/atmega3208.py b/pymcuprog/deviceinfo/devices/atmega3208.py index 494900f..2467f19 100644 --- a/pymcuprog/deviceinfo/devices/atmega3208.py +++ b/pymcuprog/deviceinfo/devices/atmega3208.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x40, - 'user_row_page_size_bytes': 0x40, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/atmega3209.py b/pymcuprog/deviceinfo/devices/atmega3209.py index 570e772..714a73d 100644 --- a/pymcuprog/deviceinfo/devices/atmega3209.py +++ b/pymcuprog/deviceinfo/devices/atmega3209.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x40, - 'user_row_page_size_bytes': 0x40, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/atmega4808.py b/pymcuprog/deviceinfo/devices/atmega4808.py index dcb5760..0147ff4 100644 --- a/pymcuprog/deviceinfo/devices/atmega4808.py +++ b/pymcuprog/deviceinfo/devices/atmega4808.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x40, - 'user_row_page_size_bytes': 0x40, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/atmega4809.py b/pymcuprog/deviceinfo/devices/atmega4809.py index b2fe796..1deb805 100644 --- a/pymcuprog/deviceinfo/devices/atmega4809.py +++ b/pymcuprog/deviceinfo/devices/atmega4809.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x40, - 'user_row_page_size_bytes': 0x40, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/atmega808.py b/pymcuprog/deviceinfo/devices/atmega808.py index 9571c3a..ae68cfc 100644 --- a/pymcuprog/deviceinfo/devices/atmega808.py +++ b/pymcuprog/deviceinfo/devices/atmega808.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/atmega809.py b/pymcuprog/deviceinfo/devices/atmega809.py index 58673ce..c24e82d 100644 --- a/pymcuprog/deviceinfo/devices/atmega809.py +++ b/pymcuprog/deviceinfo/devices/atmega809.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny1604.py b/pymcuprog/deviceinfo/devices/attiny1604.py index 7580394..dcd1312 100644 --- a/pymcuprog/deviceinfo/devices/attiny1604.py +++ b/pymcuprog/deviceinfo/devices/attiny1604.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny1606.py b/pymcuprog/deviceinfo/devices/attiny1606.py index 943a822..5d2d4d7 100644 --- a/pymcuprog/deviceinfo/devices/attiny1606.py +++ b/pymcuprog/deviceinfo/devices/attiny1606.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny1607.py b/pymcuprog/deviceinfo/devices/attiny1607.py index 6815b58..044a9e9 100644 --- a/pymcuprog/deviceinfo/devices/attiny1607.py +++ b/pymcuprog/deviceinfo/devices/attiny1607.py @@ -68,7 +68,7 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny1614.py b/pymcuprog/deviceinfo/devices/attiny1614.py index 33498b7..aa32939 100644 --- a/pymcuprog/deviceinfo/devices/attiny1614.py +++ b/pymcuprog/deviceinfo/devices/attiny1614.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny1616.py b/pymcuprog/deviceinfo/devices/attiny1616.py index 1e49c89..cb508ed 100644 --- a/pymcuprog/deviceinfo/devices/attiny1616.py +++ b/pymcuprog/deviceinfo/devices/attiny1616.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny1617.py b/pymcuprog/deviceinfo/devices/attiny1617.py index bff286e..c572920 100644 --- a/pymcuprog/deviceinfo/devices/attiny1617.py +++ b/pymcuprog/deviceinfo/devices/attiny1617.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny1624.py b/pymcuprog/deviceinfo/devices/attiny1624.py index 0f328f8..95a3002 100644 --- a/pymcuprog/deviceinfo/devices/attiny1624.py +++ b/pymcuprog/deviceinfo/devices/attiny1624.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny1626.py b/pymcuprog/deviceinfo/devices/attiny1626.py index 615c9fc..4483b60 100644 --- a/pymcuprog/deviceinfo/devices/attiny1626.py +++ b/pymcuprog/deviceinfo/devices/attiny1626.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny1627.py b/pymcuprog/deviceinfo/devices/attiny1627.py index 2655c84..4c2d8df 100644 --- a/pymcuprog/deviceinfo/devices/attiny1627.py +++ b/pymcuprog/deviceinfo/devices/attiny1627.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny202.py b/pymcuprog/deviceinfo/devices/attiny202.py index 46b7e4d..ba34f25 100644 --- a/pymcuprog/deviceinfo/devices/attiny202.py +++ b/pymcuprog/deviceinfo/devices/attiny202.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny204.py b/pymcuprog/deviceinfo/devices/attiny204.py index 4f6f13e..eb7cf1b 100644 --- a/pymcuprog/deviceinfo/devices/attiny204.py +++ b/pymcuprog/deviceinfo/devices/attiny204.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny212.py b/pymcuprog/deviceinfo/devices/attiny212.py index 5b27a15..e78482d 100644 --- a/pymcuprog/deviceinfo/devices/attiny212.py +++ b/pymcuprog/deviceinfo/devices/attiny212.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny214.py b/pymcuprog/deviceinfo/devices/attiny214.py index a7acc9f..a7803d0 100644 --- a/pymcuprog/deviceinfo/devices/attiny214.py +++ b/pymcuprog/deviceinfo/devices/attiny214.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny3216.py b/pymcuprog/deviceinfo/devices/attiny3216.py index d354737..f9c1014 100644 --- a/pymcuprog/deviceinfo/devices/attiny3216.py +++ b/pymcuprog/deviceinfo/devices/attiny3216.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny3217.py b/pymcuprog/deviceinfo/devices/attiny3217.py index f80c2a5..7718c86 100644 --- a/pymcuprog/deviceinfo/devices/attiny3217.py +++ b/pymcuprog/deviceinfo/devices/attiny3217.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny3224.py b/pymcuprog/deviceinfo/devices/attiny3224.py index 6f833da..3f037fe 100644 --- a/pymcuprog/deviceinfo/devices/attiny3224.py +++ b/pymcuprog/deviceinfo/devices/attiny3224.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny3226.py b/pymcuprog/deviceinfo/devices/attiny3226.py index 78af676..eda0d8e 100644 --- a/pymcuprog/deviceinfo/devices/attiny3226.py +++ b/pymcuprog/deviceinfo/devices/attiny3226.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny3227.py b/pymcuprog/deviceinfo/devices/attiny3227.py index ceeef46..7c7b634 100644 --- a/pymcuprog/deviceinfo/devices/attiny3227.py +++ b/pymcuprog/deviceinfo/devices/attiny3227.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny402.py b/pymcuprog/deviceinfo/devices/attiny402.py index aad704d..8e26f61 100644 --- a/pymcuprog/deviceinfo/devices/attiny402.py +++ b/pymcuprog/deviceinfo/devices/attiny402.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny404.py b/pymcuprog/deviceinfo/devices/attiny404.py index fe069c2..157d27d 100644 --- a/pymcuprog/deviceinfo/devices/attiny404.py +++ b/pymcuprog/deviceinfo/devices/attiny404.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny406.py b/pymcuprog/deviceinfo/devices/attiny406.py index fda5313..41c64ee 100644 --- a/pymcuprog/deviceinfo/devices/attiny406.py +++ b/pymcuprog/deviceinfo/devices/attiny406.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny412.py b/pymcuprog/deviceinfo/devices/attiny412.py index de82240..cefd969 100644 --- a/pymcuprog/deviceinfo/devices/attiny412.py +++ b/pymcuprog/deviceinfo/devices/attiny412.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny414.py b/pymcuprog/deviceinfo/devices/attiny414.py index 21ebb71..f2491c0 100644 --- a/pymcuprog/deviceinfo/devices/attiny414.py +++ b/pymcuprog/deviceinfo/devices/attiny414.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny416.py b/pymcuprog/deviceinfo/devices/attiny416.py index 839eba8..5f471a3 100644 --- a/pymcuprog/deviceinfo/devices/attiny416.py +++ b/pymcuprog/deviceinfo/devices/attiny416.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny417.py b/pymcuprog/deviceinfo/devices/attiny417.py index 34be176..e387305 100644 --- a/pymcuprog/deviceinfo/devices/attiny417.py +++ b/pymcuprog/deviceinfo/devices/attiny417.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny424.py b/pymcuprog/deviceinfo/devices/attiny424.py index ace1fe7..09b94c5 100644 --- a/pymcuprog/deviceinfo/devices/attiny424.py +++ b/pymcuprog/deviceinfo/devices/attiny424.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny426.py b/pymcuprog/deviceinfo/devices/attiny426.py index ca75a75..3b2b2c4 100644 --- a/pymcuprog/deviceinfo/devices/attiny426.py +++ b/pymcuprog/deviceinfo/devices/attiny426.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny427.py b/pymcuprog/deviceinfo/devices/attiny427.py index 08928ab..c9fc10f 100644 --- a/pymcuprog/deviceinfo/devices/attiny427.py +++ b/pymcuprog/deviceinfo/devices/attiny427.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny804.py b/pymcuprog/deviceinfo/devices/attiny804.py index 9d22536..600b022 100644 --- a/pymcuprog/deviceinfo/devices/attiny804.py +++ b/pymcuprog/deviceinfo/devices/attiny804.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny806.py b/pymcuprog/deviceinfo/devices/attiny806.py index bfe1cfa..192c6cf 100644 --- a/pymcuprog/deviceinfo/devices/attiny806.py +++ b/pymcuprog/deviceinfo/devices/attiny806.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny807.py b/pymcuprog/deviceinfo/devices/attiny807.py index fb611c4..058916e 100644 --- a/pymcuprog/deviceinfo/devices/attiny807.py +++ b/pymcuprog/deviceinfo/devices/attiny807.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny814.py b/pymcuprog/deviceinfo/devices/attiny814.py index b4fd076..fdd40f2 100644 --- a/pymcuprog/deviceinfo/devices/attiny814.py +++ b/pymcuprog/deviceinfo/devices/attiny814.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny816.py b/pymcuprog/deviceinfo/devices/attiny816.py index aff4455..e027f1f 100644 --- a/pymcuprog/deviceinfo/devices/attiny816.py +++ b/pymcuprog/deviceinfo/devices/attiny816.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny817.py b/pymcuprog/deviceinfo/devices/attiny817.py index b7d0496..4c41a94 100644 --- a/pymcuprog/deviceinfo/devices/attiny817.py +++ b/pymcuprog/deviceinfo/devices/attiny817.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny824.py b/pymcuprog/deviceinfo/devices/attiny824.py index 2b649da..6f49604 100644 --- a/pymcuprog/deviceinfo/devices/attiny824.py +++ b/pymcuprog/deviceinfo/devices/attiny824.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny826.py b/pymcuprog/deviceinfo/devices/attiny826.py index a7d1483..a579ece 100644 --- a/pymcuprog/deviceinfo/devices/attiny826.py +++ b/pymcuprog/deviceinfo/devices/attiny826.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/attiny827.py b/pymcuprog/deviceinfo/devices/attiny827.py index c397cba..6fed8fa 100644 --- a/pymcuprog/deviceinfo/devices/attiny827.py +++ b/pymcuprog/deviceinfo/devices/attiny827.py @@ -68,7 +68,8 @@ # user_row 'user_row_address_byte': 0x1300, 'user_row_size_bytes': 0x20, - 'user_row_page_size_bytes': 0x20, + # user_row is implemented as EEPROM so writes should not be padded to start of page, i.e. set page size to 1 + 'user_row_page_size_bytes': 0x01, 'user_row_read_size_bytes': 0x01, 'user_row_write_size_bytes': 0x01, 'user_row_chiperase_effect': ChiperaseEffect.NOT_ERASED, diff --git a/pymcuprog/deviceinfo/devices/avr64du28.py b/pymcuprog/deviceinfo/devices/avr64du28.py index 70b7762..6cf3bdc 100644 --- a/pymcuprog/deviceinfo/devices/avr64du28.py +++ b/pymcuprog/deviceinfo/devices/avr64du28.py @@ -31,7 +31,7 @@ # fuses 'fuses_address_byte': 0x1050, - 'fuses_size_bytes': 0x09, + 'fuses_size_bytes': 0x0C, 'fuses_page_size_bytes': 0x01, 'fuses_read_size_bytes': 0x01, 'fuses_write_size_bytes': 0x01, diff --git a/pymcuprog/deviceinfo/devices/avr64du32.py b/pymcuprog/deviceinfo/devices/avr64du32.py index f86f7cf..19e8f5d 100644 --- a/pymcuprog/deviceinfo/devices/avr64du32.py +++ b/pymcuprog/deviceinfo/devices/avr64du32.py @@ -31,7 +31,7 @@ # fuses 'fuses_address_byte': 0x1050, - 'fuses_size_bytes': 0x09, + 'fuses_size_bytes': 0x0C, 'fuses_page_size_bytes': 0x01, 'fuses_read_size_bytes': 0x01, 'fuses_write_size_bytes': 0x01, diff --git a/pymcuprog/pymcuprog.py b/pymcuprog/pymcuprog.py index 401ead7..55dde34 100644 --- a/pymcuprog/pymcuprog.py +++ b/pymcuprog/pymcuprog.py @@ -149,6 +149,9 @@ def main(): Set target supply voltage on a kit (voltage provided by -l literal argument): - pymcuprog setsupplyvoltage -l 3.3 + Convert Intel(R) hex file to UF2 file (--uf2file argument is optional) + - pymcuprog makeuf2 -f myfile.hex --uf2file newfile.uf2 + SerialUPDI usage: Serial UPDI (also known as 'pyupdi') is implemented as a tool in pymcuprog. @@ -181,7 +184,7 @@ def main(): default="ping", # nargs='?', # this makes ping the default, and -h the only way to get usage() choices=['ping', 'erase', 'read', 'write', 'verify', 'getvoltage', 'getsupplyvoltage', - 'reboot-debugger', 'setsupplyvoltage', 'getusbvoltage', 'reset']) + 'reboot-debugger', 'setsupplyvoltage', 'getusbvoltage', 'reset', 'makeuf2']) # Device to program parser.add_argument("-d", "--device", @@ -265,7 +268,7 @@ def main(): help="Print pymcuprog release details and exit") parser.add_argument("--erase", - help="erase memory section before writing (from an Intel hex file only)", + help="erase memory section before writing (from an Intel(R) hex file only)", action="store_true") parser.add_argument("--verify", @@ -276,6 +279,10 @@ def main(): help="add timing output", action="store_true") + parser.add_argument("--uf2file", + type=str, + help="name of UF2 file to generate") + # Ex-options parser.add_argument("-H", "--high-voltage", choices=['tool-toggle-power', 'user-toggle-power', 'simple-unsafe-pulse'], diff --git a/pymcuprog/pymcuprog_main.py b/pymcuprog/pymcuprog_main.py index caee960..f798bf0 100644 --- a/pymcuprog/pymcuprog_main.py +++ b/pymcuprog/pymcuprog_main.py @@ -10,6 +10,8 @@ from copy import copy from logging import getLogger +from pyedbglib.util.hex_to_uf2 import hex_to_uf2 + from .backend import Backend, SessionConfig from .toolconnection import ToolUsbHidConnection, ToolSerialConnection from .deviceinfo.memorynames import MemoryNameAliases, MemoryNames @@ -48,6 +50,10 @@ def pymcuprog(args): print("Commit ID: {}".format(COMMIT_ID)) return STATUS_SUCCESS + # Actions not using any target + if args.action == "makeuf2": + return _action_makeuf2(args) + backend = Backend() toolconnection = _setup_tool_connection(args) @@ -595,3 +601,24 @@ def _start_session(backend, device, args): status = STATUS_FAILURE return status + +def _action_makeuf2(args): + if args.filename is None: + print("Missing -f/--filename argument specifying hex file to convert to UF2") + print("Example:") + print(" pymcuprog makeuf2 -f myfile.hex") + return STATUS_FAILURE + + hexfile = args.filename + + if args.uf2file is None: + uf2file = hexfile.removesuffix('.hex') + uf2file = uf2file + '.uf2' + else: + uf2file = args.uf2file + + hex_to_uf2(hexfile, uf2file) + + print("Converted {} to {}".format(hexfile, uf2file)) + + return STATUS_SUCCESS diff --git a/pymcuprog/serialupdi/nvmp3.py b/pymcuprog/serialupdi/nvmp3.py index 456ad1b..81da0b8 100644 --- a/pymcuprog/serialupdi/nvmp3.py +++ b/pymcuprog/serialupdi/nvmp3.py @@ -171,7 +171,8 @@ def write_eeprom(self, address, data): :type data: list of bytes """ return self.write_nvm(address, data, use_word_access=False, - nvmcommand=self.NVMCMD_EEPROM_PAGE_ERASE_WRITE) + nvmcommand=self.NVMCMD_EEPROM_PAGE_ERASE_WRITE, + erasebuffer_command=self.NVMCMD_EEPROM_PAGE_BUFFER_CLEAR) def write_fuse(self, address, data): """ @@ -184,7 +185,11 @@ def write_fuse(self, address, data): """ return self.write_eeprom(address, data) - def write_nvm(self, address, data, use_word_access, nvmcommand=NVMCMD_FLASH_PAGE_WRITE): + def write_nvm(self, + address, + data, use_word_access, + nvmcommand=NVMCMD_FLASH_PAGE_WRITE, + erasebuffer_command=NVMCMD_FLASH_PAGE_BUFFER_CLEAR): """ Writes a page of data to NVM @@ -199,6 +204,8 @@ def write_nvm(self, address, data, use_word_access, nvmcommand=NVMCMD_FLASH_PAGE :type use_word_access: bool, defaults to True :param nvmcommand: command to use for commit :type nvmcommand: int, defaults to NVMCMD_PAGE_WRITE + :param erasebuffer_command: command to use for erasing the page buffer + :type erasebuffer_command: int, defaults to NVMCMD_FLASH_PAGE_BUFFER_CLEAR :raises: PymcuprogSerialUpdiNvmTimeout if a timeout occurred :raises: PymcuprogSerialUpdiNvmError if an error condition is encountered """ @@ -209,7 +216,7 @@ def write_nvm(self, address, data, use_word_access, nvmcommand=NVMCMD_FLASH_PAGE # Clear the page buffer self.logger.debug("Clear page buffer") - self.execute_nvm_command(self.NVMCMD_FLASH_PAGE_BUFFER_CLEAR) + self.execute_nvm_command(erasebuffer_command) # Wait for NVM controller to be ready if not self.wait_nvm_ready(): diff --git a/pymcuprog/serialupdi/nvmp5.py b/pymcuprog/serialupdi/nvmp5.py index 51e8dc1..4ca0d95 100644 --- a/pymcuprog/serialupdi/nvmp5.py +++ b/pymcuprog/serialupdi/nvmp5.py @@ -172,7 +172,8 @@ def write_eeprom(self, address, data): :type data: list of bytes """ return self.write_nvm(address, data, use_word_access=False, - nvmcommand=self.NVMCMD_EEPROM_PAGE_ERASE_WRITE) + nvmcommand=self.NVMCMD_EEPROM_PAGE_ERASE_WRITE, + erasebuffer_command=self.NVMCMD_EEPROM_PAGE_BUFFER_CLEAR) def write_fuse(self, address, data): """ @@ -185,7 +186,12 @@ def write_fuse(self, address, data): """ return self.write_eeprom(address, data) - def write_nvm(self, address, data, use_word_access, nvmcommand=NVMCMD_FLASH_PAGE_WRITE): + def write_nvm(self, + address, + data, + use_word_access, + nvmcommand=NVMCMD_FLASH_PAGE_WRITE, + erasebuffer_command=NVMCMD_FLASH_PAGE_BUFFER_CLEAR): """ Writes a page of data to NVM @@ -200,6 +206,8 @@ def write_nvm(self, address, data, use_word_access, nvmcommand=NVMCMD_FLASH_PAGE :type use_word_access: bool, defaults to True :param nvmcommand: command to use for commit :type nvmcommand: int, defaults to NVMCMD_PAGE_WRITE + :param erasebuffer_command: command to use for erasing the page buffer + :type erasebuffer_command: int, defaults to NVMCMD_FLASH_PAGE_BUFFER_CLEAR :raises: PymcuprogSerialUpdiNvmTimeout if a timeout occurred :raises: PymcuprogSerialUpdiNvmError if an error condition is encountered """ @@ -210,7 +218,7 @@ def write_nvm(self, address, data, use_word_access, nvmcommand=NVMCMD_FLASH_PAGE # Clear the page buffer self.logger.debug("Clear page buffer") - self.execute_nvm_command(self.NVMCMD_FLASH_PAGE_BUFFER_CLEAR) + self.execute_nvm_command(erasebuffer_command) # Wait for NVM controller to be ready if not self.wait_nvm_ready(): diff --git a/pymcuprog/serialupdi/readwrite.py b/pymcuprog/serialupdi/readwrite.py index 98c1d2c..f57abce 100644 --- a/pymcuprog/serialupdi/readwrite.py +++ b/pymcuprog/serialupdi/readwrite.py @@ -173,13 +173,21 @@ def write_data(self, address, data): self.datalink.st(address, data[0]) return self.datalink.st(address + 1, data[1]) - # Range check - if numbytes > constants.UPDI_MAX_REPEAT_SIZE: - raise PymcuprogSerialUpdiProtocolError("UPDI cannot write {} bytes in one go".format(numbytes)) + index = 0 + while numbytes: + if numbytes > constants.UPDI_MAX_REPEAT_SIZE: + chunk_size = constants.UPDI_MAX_REPEAT_SIZE + else: + chunk_size = numbytes - # Store the address - self.datalink.st_ptr(address) + # Store the address + self.datalink.st_ptr(address) + + # Fire up the repeat + self.datalink.repeat(chunk_size) + self.datalink.st_ptr_inc(data[index:index+chunk_size]) + + index += chunk_size + address += chunk_size + numbytes -= chunk_size - # Fire up the repeat - self.datalink.repeat(numbytes) - return self.datalink.st_ptr_inc(data) diff --git a/pymcuprog/utils.py b/pymcuprog/utils.py index bf75020..0fc7b50 100644 --- a/pymcuprog/utils.py +++ b/pymcuprog/utils.py @@ -189,8 +189,8 @@ def showdata(data, address=0, page_size=None, line_wrap=16, phantom_bytes=0): if word_index: address += (1 + phantom_bytes) - word_index - # Cannot print more per line than the page size - if page_size is not None: + # Cannot print more per line than the page size (page size <= 2 is interpreted as no paging) + if page_size is not None and page_size > 2: if line_wrap > page_size: line_wrap = page_size @@ -198,7 +198,9 @@ def showdata(data, address=0, page_size=None, line_wrap=16, phantom_bytes=0): # Page alignment rows = 0 - if page_size is not None: + + # page size <= 2 is interpreted as no paging + if page_size is not None and page_size > 2: page = address % page_size rows = int(page / line_wrap) for row in range(rows): @@ -224,7 +226,8 @@ def showdata(data, address=0, page_size=None, line_wrap=16, phantom_bytes=0): for i in range(phantom_bytes): print("xx ", end='') print_index += 1 + phantom_bytes - if page_size is not None: + # page size <= 2 is interpreted as no paging + if page_size is not None and page_size > 2: if (print_index+(rows*line_wrap)) % page_size == 0 and data_index != len(data)+div: print("") wrap = True @@ -268,7 +271,7 @@ def pad_to_size(memory_block, chunk_size, pad_value): while len(memory_block) % chunk_size > 0: memory_block.append(pad_value) - + return memory_block diff --git a/pypi.md b/pypi.md index f94b583..8aaac61 100644 --- a/pypi.md +++ b/pypi.md @@ -39,7 +39,7 @@ writes device memories * use -m to specify memory type for literal writing * use -o to specify offset for literal writing -Example: writes the content of an Intel(R) hex file to the appropriate memory areas on the device +Example: writes the content of an Intel® hex file to the appropriate memory areas on the device ```bash pymcuprog write -f app.hex ``` @@ -118,6 +118,20 @@ Example: reboots a Curiosity Nano kit pymcuprog reboot-debugger ``` +### Generic utilities + +#### Action: makeuf2 +converts Intel hex file to UF2 file +* use -f to specify input hex file +* use --uf2file to specify name of output UF2 file (optional) + +Example: converts myfile.hex to newfile.uf2 +```bash +pymcuprog makeuf2 -f myfile.hex --uf2file newfile.uf2 +``` +The --uf2file argument is optional. By default pymcuprog will generate a UF2 file with the same name as the hex but with .uf2 extension. + + ### Command-line switches Many of these switches are optional, and many parameters are automatically set when using a Curiosity Nano or Xplained Pro kit. * -t TOOL to select which tool to use. Optional if only one is connected. @@ -137,7 +151,9 @@ Many of these switches are optional, and many parameters are automatically set w #### *Notes regarding PACKPATH argument -While pymcuprog itself contains sufficient information to program AVR devices (with UPDI interface), it is unable to program a PIC device without access to programming scripts for that device. These scripts are deployed in Device Family Packs (DFP) on https://packs.download.microchip.com and are only provided for PIC devices mounted on Curiosity Nano boards or other boards with the PKOB nano (nEDBG) debugger. To use pymcuprog with PIC devices, you will either need to download a DFP for the PIC in question, or have MPLAB X v5.25 or later installed. In either case the path to the particular device in the scripts folder inside the DFP must be passed into pymcuprog using the -p PACKPATH argument. Remember to use "" if the path itself contains spaces. +While pymcuprog itself contains sufficient information to program AVR devices (with UPDI interface), it is unable to program a PIC device without access to programming scripts for that device. These scripts are deployed in Device Family Packs (DFP) on https://packs.download.microchip.com and are only provided for PIC devices mounted on Curiosity Nano boards or other boards with the PKOB nano (nEDBG) debugger. To use pymcuprog with PIC devices, you will either need to download a DFP for the PIC in question, or have MPLAB X v5.25 or later installed. In either case the path to the particular device in the scripts folder inside the DFP must be passed into pymcuprog using the -p PACKPATH argument. Remember to quote the path (`""`) if the path itself contains spaces. + +NOTE FOR WINDOWS USERS: Avoid ending a quoted `""` argument with a backslash (`'\'`), this will cause the PACKPATH to not be found. `"C:\foo\bar"` will work, while `"C:\foo\bar\"` will not. Example: Ping the device on a PIC16F15244 Curiosity Nano ```bash diff --git a/setup.cfg b/setup.cfg index 32aafe1..3f2317b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -38,7 +38,7 @@ install_requires = pathlib2; python_version < "3" # Microchip packages - pyedbglib>=2.22.3 + pyedbglib>=2.24 python_requires = >=2.7 include_package_data = True packages = find: