11 Commits

Author SHA1 Message Date
Johannes Löthberg
f88844246d
Replace old BLOCK_SIZES with definitions of the blocks themselves (#971)
* Replace old BLOCK_SIZES with definitions of the blocks themselves

The actual block definitions only exist within Python classes so this
commit uses PyO3 to import the esptool.py eFuse block definitions and
generates arrays of the length and read address of each eFuse block.

We need the actual read address here rather than using the old offset
method because not all eFuse blocks are sequential.  (On ESP32 the block
0 read registers are followed by the block 0 write registers.)

* xtask: Move efuse generator behind a feature

This prevents Python being necessary to build the xtask binary for other
purposes.
2025-12-10 13:47:01 +00:00
Björn Quentin
845e386c2c
Fix read efuse (#969)
* Fix and deprecate `read_efuse`, add `read_efuse_le`

* Fix efuse definition gen, regen efuse data

* Don't use deprecated API ourselves

* Un-annoy

* Remove unused casts

* Changelog entries

* CHANGELOG.md

* address review comments

* Fix rebase

* fix
2025-11-26 13:16:59 +00:00
Sergio Gasquez Arcos
f8a344f58c
Use security info to detect chip (#953)
* feat: Move security_info to Connection struct and use it for chip detection

* feat: Move SecurityInfo to connection module

* fix: Update log level

* revert: Moving SecurityInfo to connectionç

* feat: Move SecurityInfo to connection module

* docs: Update changelog

* fix: Esp32 tests

* test: Increase timeout and add log message
2025-09-23 09:25:59 +00:00
Juraj Sadel
b993a42fe4
Add xtask command for running HIL tests (#912)
* feat: Initial test

* feat: Initial HIL tests in xtask

* refactor: End test if possible before timeout

* rebase

* Add checking for output from monitor

* CI: use xtask command instead of bash scripts

* clippy

* help find cargo

* Try increase duration for failing test

* remove bash tests

* reviews

* simplify

* Add a local_espflash flag to allow running espflash without re-building (CI) and re-building (locally)

* reviews

---------

Co-authored-by: Sergio Gasquez <sergio.gasquez@gmail.com>
2025-07-08 08:30:43 +00:00
Jesse Braham
de3bbdc649
Document all public types (#909)
* Escape square brackets in efuse field doc comments

* Reduce visibility of non-public error types

* Deny missing documentation in library code

* Document all public types

* Fix clippy warnings
2025-06-30 08:32:16 +00:00
Scott Mabin
c50eb97ead
Show progress when skipping and verifying (#904)
* Show progress when skipping and verifying

The progress callbacks get initialized and updated even if we skip a
segment. For verification, we add an extra step to the progress which is
updated once verification is complete.

* Make callbacks compulsory, add empty impl convience struct

* changelog

* fixups

* Add skip bool to finish to determine whether the segment was finished via skip or real work was done

* more changelog

* Fix new clippy lints introduced in 1.88

---------

Co-authored-by: Jesse Braham <jesse@beta7.io>
2025-06-27 07:53:04 +00:00
Jesse Braham
188cd4e000
Make eFuse field definitions public, minor public API cleanup (#903)
* Make efuse field definitions public

* Remove unnecessary argument and simplify return type for  `flash_write_size` and `max_ram_block_size` functions

* Update `CHANGELOG.md`

* Make eFuse field definitions public
2025-06-25 11:21:57 +00:00
Björn Quentin
b8eb162539
Fix mac address efuse (#871)
* Fix mac-address trickery

* efuse update using esptool commit 90e3770c6716a2031d77d830c3455d40db648b0c
2025-05-30 15:12:49 +00:00
Jesse Braham
47b661db1d
Add support for the ESP32-C5 (#863)
* Generate eFuse field definitions for ESP32-C5

* Add bootloader and flasher stub for ESP32-C5

* Add initial support for the ESP32-C5

* Mention ESP32-C5 in various READMEs

* Update `CHANGELOG.md`

* Small fixes
2025-05-22 12:39:52 +00:00
Jesse Braham
64d001a776
Correct bit start offset for MAC1 field (#852) 2025-04-22 11:56:41 +00:00
Jesse Braham
04b7ebea5d
Implement new API for reading eFuse values (#847)
* Create the `xtask` package

* Implement and xtask subcommand to generate eFuse field definitions from YAML files

* Generate eFuse field definitions

* Update `target` module to provide new eFuse reading API

* All non-problematic chips working with new eFuse API

* ESP32 is now working

* ESP32-S2 is now (mostly) working

* Very necessary change :)

* Clean up the mess I made of the imports

* Address clippy lints

* Update `CHANGELOG.md`

* Perform fewer raw eFuse field reads for ESP32

* Address review comment regarding `xtask` package

* Verify that `xtask` package builds in CI

* Fix block offset calculation
2025-04-22 07:44:25 +00:00