Metadata-Version: 2.4
Name: programmer_core
Version: 1.0.29
Summary: Python flash images builder implementation for CC33xx/CC35xx/CC37xx
Home-page: 
Author: Texas Instruments
Author-email: support@ti.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: communicator_core
Requires-Dist: flash_images_builder_core
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary


Required:
    * Python 3.12.10 

Installation:
```
    python -m pip uninstall -y programmer_core
    python -m build --wheel --no-isolation 
    python -m pip install programmer_core --find-links dist\
```


Changelog:
    ## Version 1.0.29 updates:
    * Add warning after programming if rollback protection fuses not match to the programed image major version.
    
    ## Version 1.0.28 updates:
    * Bug Fix ILTOOLS-1176: Auto detect flash fails when using JLINK
    
    ## Version 1.0.27 updates:
    * Bug Fix ILTOOLS-1161: query fails
    
    ## Version 1.0.26 updates:
    * Implemented ILTOOLS-962: Added support for BL3

    ## Version 1.0.25 updates:
    * Supports WSoC as part of the vendor outfile
    
    ## Version 1.0.24 updates:
    * Return fuse data object from get_fuse_data command

    ## Version 1.0.23 updates:
    * Implement device-aware CFGAP register selection for all programmer modules
    * Add get_lifecycle_state_reg_class() utility function for dynamic device-type based register class selection
    * Update program_device.py, activate_device.py, debug_device.py, enter_rma.py, query_device.py, memory_validation_test.py, and partial_fuse_programming.py to use shared utility function
    * Initialize lifecycle register class once in __init__ based on device type (CC35XX, CC35XXE, CC37XXR, CC36XXR)
    * Eliminate code duplication and hardcoded register class dependencies
    * Remove unnecessary imports from all modules (CC35xxELifeCycleStateReg, CC3xxxRLifeCycleStateReg, device type constants)
    * Ensure correct CFGAP field parsing for each device variant

    ## Version 1.0.22 updates:
    * Fix factory programming error

    ## Version 1.0.21 updates:
    * Add support to debug CC37XXR
    
    ## Version 1.0.20 updates:
    * Add CC37XXR device support with device family mapping (CC370XR, CC360XR, CC33XX)
    * Add device_type parameter to PartialFuseProgramming, MemoryValidationTest, ActivateDevice, ProgramDevice, and QueryDevice classes
    * Implement get_device_type_from_family() method in ProgrammerUtility for flexible device family mapping
    * Refactor REST API device family mapping to use centralized utility method (21 occurrences)
    * Update PROGLoadDefaultProgrammerImage to extract filename from path dynamically
    * Centralize bootloader/programmer/activation path selection using utility methods (get_default_tbl_img, get_default_prog, get_default_activator)
    * Add get_fuse_json_name() method to ProgrammerUtility for device-specific fuse JSON selection
    * Update report generator selection for CC37XXR (temporary: uses CC35XXE generators)
    * Remove hardcoded TI_BOOTLOADER_* and TI_PROGRAMMER_* imports from multiple classes
    * Update FLASH_IMAGE_TYPES mapping to include CC37XXR
    * Add device parameter to PSImageBuilder for device-specific handling

    ## Version 1.0.19 updates:
    * Implements ILTOOLS-1048 - Add CLI command to read fuse values from CC35XXE
    
    ## Version 1.0.18 updates:
    * Implements ILTOOLS-1056 - Improve flash detection error handling with explicit failure checks
    * Update BL2 for CC35XXE version to v0.1.0.14

    ## Version 1.0.17 updates:
    * Add exception handling to report file deletion in memory_validation_test() and partial_fuse_programming_update()
    * Operations now continue if report file deletion fails due to permissions or file locks
    * Rearrange Programmer folder


    ## Version 1.0.16 updates:
    * Fix detect_flash_type flow

    ## Version 1.0.15 updates:
    * Update memory map in full flash erase command.

    ## Version 1.0.14 updates:
    * story/ILTOOLS-964-add-auto-detection-feature
    
    ## Version 1.0.13 updates:
    * Implements ILTOOLS-937 - [TB][Communicator] Update CC35X1E Config AP with “External Flash Part Number Index”
    
    ## Version 1.0.12 updates:
    * Auto-determine flash_reset_type from flash_jedec_reset in Activation and Partial Fuse Programming

    ## Version 1.0.11 updates:
    * BugFix ILTOOLS-892 - [TB][Programmer] External PSRAM options should be visible for external release of Toolbox 

    ## Version 1.0.10 updates:
    * Bugfix ILTOOLS-952 - [TB][Programmer] Programmer fail to resolve images path if path to tool_settings.json and image path are relative

    ## Version 1.0.9 updates:
    * Add support for rollback protection fuse programming
  
    ## Version 1.0.8 updates:
    * Bugfix ILTOOLS-929 - [TB][Programmer] NVS section is offset by 16 bytes

    ## Version 1.0.7 updates:
    * Bugfix ILTOOLS-922 - [TB][Programmer] Factory programming generated vendor image without conf INI content
    * Align memory map generation between CLI and UI

    ## Version 1.0.6 updates:
    * Update default version from 0.0.0.0 or 0.0.0.1 into 0.0.1.0

    ## Version 1.0.5 updates:
    * Rename Calibration Test to Memory Validation Test

    ## Version 1.0.4 updates:
    * Add hex value validation function to utility.py

    ## Version 1.0.3 updates:
    * Update package based on #ILTOOLS-856 [TB] Apply support of "no OTA" option to Flash larger than 4M

    ## Version 1.0.2 updates:
    * Select default vendor app depend on ota enable
    
    ## Version 1.0.1 updates:
    * Add support for uniflash update in program_device.py
    
    ## Version 1.0.0 updates:
    * Initial version.
