firestarter 3.2.2__tar.gz → 3.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {firestarter-3.2.2/firestarter.egg-info → firestarter-3.2.4}/PKG-INFO +1 -1
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/_version.py +3 -3
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/chip_resolver.py +10 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/data/chip_database.json +905 -67
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/data/pinouts.json +38 -14
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/database.py +53 -10
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/eprom_info.py +3 -1
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/ic_layout.py +14 -4
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/jumper_table.py +24 -3
- {firestarter-3.2.2 → firestarter-3.2.4/firestarter.egg-info}/PKG-INFO +1 -1
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter.egg-info/scm_file_list.json +4 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter.egg-info/scm_version.json +2 -2
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/__snapshots__/test_characterization.ambr +5 -3
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/golden/chip_database_field_inventory.json +27 -25
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/golden/wire_dict.json +556 -861
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_build_db_inclusion.py +10 -10
- firestarter-3.2.4/tests/test_build_db_pinout_fork.py +184 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_characterization.py +4 -4
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_chip_database_field_inventory.py +4 -3
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_chip_resolver.py +11 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_chip_test.py +1 -1
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_datasheet_overrides.py +1 -1
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_eprom_database.py +104 -1
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_extra_chips_supplement.py +44 -2
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_ic_layout.py +60 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_info_vpp_and_erase.py +3 -3
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_jp5_gate.py +3 -3
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_jumper_table.py +7 -5
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_lock_status_class_partition.py +71 -62
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_programming_vcc_census.py +98 -69
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_vpp_rail_classification.py +184 -105
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_write_blank_guard_pinning.py +5 -0
- firestarter-3.2.2/tests/test_build_db_pinout_fork.py +0 -62
- {firestarter-3.2.2 → firestarter-3.2.4}/LICENSE +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/MANIFEST.in +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/README.md +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/__init__.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/address_parser.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/avr_tool.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/channel.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/chip_test.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/cli_handlers.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/codec.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/compare.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/config.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/constants.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/diagnostic_report.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/dip24_2816_erase_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/eprom_operations.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/erase_support.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/exceptions.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/firmware.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/flash4_erase_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/frame_parser.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/fw_release_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/hardware.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/jp5_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/lock_status.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/log_capture.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/logging_utils.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/main.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/messages.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/page_size_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/protection_readability.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/py32_dfu.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/sdp_capability.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/sdp_honesty.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/serial_comm.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/submit.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/timestamps.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/transport_counters.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/utils.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/vpp_display.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter/write_blank_guard.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter.egg-info/SOURCES.txt +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter.egg-info/dependency_links.txt +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter.egg-info/entry_points.txt +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter.egg-info/requires.txt +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/firestarter.egg-info/top_level.txt +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/pyproject.toml +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/setup.cfg +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/__init__.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/conftest.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fake_chip.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/part_number_delta.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/report_shapes.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/at28c256-full-all-ok-sdp.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/attr01-status-axis-transport-fault.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/gh20-at28c256-fail.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/gh23-w27e257-fail.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/gh28-m27c512-fail.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/gh47-sst27sf512-pass.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/m27c512-full-all-ok.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/m27c512-full-blank-check-bad.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/m27c512-full-canonical-name.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/m27c512-full-comma-joined-name.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/m27c512-full-runs-1.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/prune03-synthesized-fingerprint-match.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/sst27sf512-full-all-ok.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/sst27sf512-six-step-readback-gated.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/sst27sf512-six-step.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/synthetic-arm4-empty-results.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/synthetic-arm4-no-ok.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/uv-slot-write-pass.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/reports/w27e257-full-all-ok.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/shape_ids.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/fixtures/synthetic_nonzero_chip_id.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/golden/build_db_part_specific_constants.json +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/plan_corpus.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_address_parser.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_b15_page_size_corroboration.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_blast_radius_invariance.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_boot_block_hint.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_budget_failure_render.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_bug_characterization.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_build_db_constant_census.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_build_db_interpret_timing.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_canonical_part_number.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_chip_name_resolution.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_chip_test_blank_check_order.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_chip_test_cycle.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_chip_test_sdp_leg.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_chip_test_timing.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_chip_test_uv_slot_write.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_cli_handlers.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_click_group_gate_hook.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_cobs.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_codec.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_codec_format_message.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_compare.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_config.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_config_band_refusal.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_connect_cost_harness.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_consistency_check.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_coverage_floor_v18.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_database_conversion.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_decoder.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_derive_plan_no_drop_sweep.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_derive_plan_structural_sentinel.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_dev_group_channel_gating.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_dev_test_cmd.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_dev_tools_channel_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_devtest_firmware_error_propagation.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_dfu_opcode_anchors.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_diagnostic_report.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_dip24_2816_erase_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_endpoint_constants.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_eprom_info.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_eprom_operations.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_erase_blank_step_nonregression.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_erase_flag_invariants.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_error_code_seam.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_even_block.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_firmware_install.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_flash4_erase_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_fw_list_failure_vs_empty.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_fw_port_targeting_and_blind_install.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_fw_release_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_fw_update_dead_endpoint.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_fw_update_path_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_fw_version_guard.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_fwguard.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_hardware.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_hw_revision_gate.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_lock_status_cli.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_lock_status_wire.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_log_capture.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_logging_utils.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_matrix_artifact.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_page_size_alignment_refusal.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_page_size_invariants.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_page_size_write_refusal.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_parse_devtest_issue.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_probe_spurious_setup_ack.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_protect_flags_doc_measurements.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_protection_resolution.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_protection_status_catalog.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_protection_table_citations.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_protocol_not_implemented.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_protocol_not_implemented_production_path.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_provenance.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_pulse_us_override.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_py32_channel_gating.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_py32_dfu.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_py32_flash_map_host.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_py32_pyusb_absent.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_pyusb_api_surface.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_sdp_capability.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_sdp_db_invariant.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_sdp_honesty.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_serial_characterization.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_serial_comm.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_session_lease.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_setup_refusals.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_submit.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_timestamps.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_transport_counters.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_utils.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_uv_mask.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_validate_family_cmd.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_validate_oracle.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_validated_parts_regression_surface.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_vcc_margin_rail.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_vpp_decode_table.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_wire_dict_equivalence.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_write_blank_guard.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_write_guard_port_pinning.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_write_progress.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_write_response_budget.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_write_skip_erase_0x0d.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_write_skip_sdp_unlock.py +0 -0
- {firestarter-3.2.2 → firestarter-3.2.4}/tests/test_write_verify.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: firestarter
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.4
|
|
4
4
|
Summary: EPROM programmer software for the Relatively Universal ROM Programmer
|
|
5
5
|
Author-email: Henrik Olsson <henols@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/henols/firestarter_app
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '3.2.
|
|
22
|
-
__version_tuple__ = version_tuple = (3, 2,
|
|
21
|
+
__version__ = version = '3.2.4'
|
|
22
|
+
__version_tuple__ = version_tuple = (3, 2, 4)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g3023daa'
|
|
@@ -129,4 +129,14 @@ def resolve_chip(name: str, db: EpromDatabase | None = None) -> dict[str, Any]:
|
|
|
129
129
|
f"{name}: the chip entry gives 0 for {', '.join(zero_fields)}. "
|
|
130
130
|
"The programmer cannot use a value of 0 there."
|
|
131
131
|
)
|
|
132
|
+
|
|
133
|
+
# A pin map with fewer address lines than the chip's size needs would
|
|
134
|
+
# repeat one window of the chip across the whole operation, silently.
|
|
135
|
+
bus = data.get("bus-config", {}).get("bus")
|
|
136
|
+
if bus and data["memory-size"] > 1 << len(bus):
|
|
137
|
+
raise ChipNotImplementedError(
|
|
138
|
+
f"{name}: its pin map has {len(bus)} address lines, which reach "
|
|
139
|
+
f"{1 << len(bus)} of its {data['memory-size']} bytes. The programmer "
|
|
140
|
+
"cannot address the rest of the chip."
|
|
141
|
+
)
|
|
132
142
|
return data
|