815 Commits

Author SHA1 Message Date
Sergio Gasquez Arcos
fb4fd55b9f
build: Bump cargo-espflash (#985) v4.3.0 2025-12-15 14:17:24 +00:00
Sergio Gasquez Arcos
117be8448c
Prepare v4.3.0 release (#984)
* fix: Clippy lints

* build: Bump versions

* docs: Update changelog

* fix: Use expect unused_assignments

Co-authored-by: Scott Mabin <scott@mabez.dev>

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
2025-12-15 10:58:54 +00:00
Sergio Gasquez Arcos
5b74a2e930
Update stubs (#983)
* feat: Update stubs

* docs: Udpate changelog
2025-12-11 09:24:12 +00:00
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
DaneSlattery
ba2f16d7d0
Change long form of save-image --ignore-app-descriptor (#974)
* Change long form of save-image --ignore-app-descriptor

* fix fmt

* Update changelog

* support alias

* format

---------

Co-authored-by: Dane Slattery <dane@polarmonitoring.com>
2025-12-09 09:23:10 +00:00
Björn Quentin
1efe57a93b
Suppress resolving addresses for 1st stage bootloader output (#979)
* Suppress resolving addresses for 1st stage bootloader output

* PR number

* Update espflash/src/cli/monitor/mod.rs

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>

* Add `\r\n` to avoid weird formatting of output

* Fix log output

---------

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
2025-12-01 12:39:19 +00:00
Björn Quentin
70bea62374
Improve app-descriptor detection (#975)
* Improve app-descriptor detection

* CHANGELOG.md

* Support esp-hal app with `strip=true`

* Clarify

* Fix rebase
2025-11-27 13:40:16 +00:00
Sergio Gasquez Arcos
2baf269eb5
Update bootloaders to release/v5.5 (#976)
* feat: Update bootloaders to release/v5.5 (rev d66ebb8)

* docs: Update changelog

* docs: Update flash size documentation
2025-11-27 13:37:39 +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
Dániel Buga
b01bb7131c
Fix SDM detection for P4 (#972) 2025-11-21 08:42:18 +00:00
Björn Quentin
23222d5918
Allow specifying a rom-elf (#963)
* Allow specifying a `rom-elf`

* Clippy

* CHANGELOG.md

* Clippy

* Have and use built-in ROM-elfs
2025-11-18 14:00:08 +00:00
Johannes Löthberg
ed5dc97b63
efuse: Correct block0 offset definitions for ESP32-C2, -C3, and -S3 (#961)
According to both the technical reference manuals and to the esptool
definitions these are all at 0x02C.
2025-11-10 09:36:35 +00:00
Sergio Gasquez Arcos
d1e1fffd3f
bump: Update cargo-espflash (#959) v4.2.0 2025-10-13 12:37:19 +00:00
Sergio Gasquez Arcos
89f9c82884
Prepare 4.2.0 release (#958)
* build: Bump deps versions

* fix: Clippy warnings

* docs: Update changelog
2025-10-13 11:21:12 +00:00
Sergio Gasquez Arcos
a02d2b1b13
ci: Update gha macos runners (#956) 2025-10-06 10:05:32 +00:00
Björn Quentin
40adcd84fc
A minimal stack-dump decoder (RV) (#955)
* A minimal stack-dump decoder (RV)

* CHANGELOG

* docs: Update CHANGELOG.md

---------

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
2025-10-01 10:05:56 +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
nullstalgia
ed1053cebc
Fix unwraps in connection module when probing a loopback port (#954)
* Fix unwraps in connection module when probing a loopback port

* Changelog

* Fix rustfmt check fail
2025-09-23 07:30:15 +00:00
Sergio Gasquez Arcos
84cd43c80c
Prepare release 4.1.0 (#952)
* build: Bump espflash and cargo-espflash versions

* docs: Update changelog
v4.1.0
2025-09-18 09:00:37 +00:00
CameronCTS
e320ae7cc7
Add magic value for esp32c5 (#940)
* * Add magic value for esp32c5

* * Add more magic values for esp32-c5
2025-09-18 08:24:15 +00:00
Be
e481afb6ca
move padding to 4 bytes from CLI into library (#951)
Downstream applications needed to duplicate the padding to 4 bytes
logic that the CLI application does (although that requirement was
not documented). Otherwise flashing could fail with a RomError with
error code 0.
2025-09-18 07:39:23 +00:00
Sergio Gasquez Arcos
ee7d8352c9
Fix esp32s2 spi register base address (#950)
* fix: S2 spi reg base address

* docs: Update changelog
2025-09-17 13:26:11 +00:00
Sergio Gasquez Arcos
6dc2b9a6a7
build: Update deps (#948) 2025-09-16 13:54:33 +00:00
Sergio Gasquez Arcos
ac5fc82837
[MacOS]: Fix hanging terminal (#947)
* fix: Monitor hang for macos

* docs: Update changelog
2025-09-16 13:19:11 +00:00
Sergio Gasquez Arcos
23c7419585
feat: Update addr2line (#946) 2025-09-16 06:31:52 +00:00
Dániel Buga
1e346514ff
Force timeout stuck flushes (#944) 2025-09-15 10:54:25 +00:00
Sergio Gasquez Arcos
27264781bc
Add no_addresses monitor flag (#942)
* feat: Add `no_addresses`  monitor flag

* docs: Add changelog
2025-09-15 07:44:57 +00:00
Dániel Buga
b2ee154277
[windows] Don't crash during typing when the MCU isn't listening (#943)
* Don't crash during typing when the MCU isn't listening

* Update CHANGELOG.md

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>

---------

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
2025-09-12 10:45:19 +00:00
Juraj Sadel
1daf446a0a
Fix using cli::IdfFormatArgs in espflash.toml (#931) 2025-08-07 07:45:59 +00:00
Dániel Buga
b3f5b28bf7
CLI: invert check_app_descriptor (#932)
* CLI: invert check_app_descriptor

* Changelog
2025-08-07 07:44:51 +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
Sergio Gasquez Arcos
f679e03a8e
feat: Prepare 4.0.1 release (#925) v4.0.1 2025-07-07 14:28:34 +00:00
Dániel Buga
531bb82ab4
Remove patch version from dependency specs (#924)
* Remove patch version from dependency specs

* cargo update

* Changelog

* Restore libc
2025-07-07 09:59:32 +00:00
Sergio Gasquez Arcos
63c3ad4e37
Improve missing app-desc errors (#921)
* feat: Improve missing app-desc errors

* feat: Use old error
2025-07-04 12:38:58 +00:00
Sergio Gasquez Arcos
c8913842a4
Add app descriptor check to save image (#920)
* feat: Add check_idf_bootloader to save_image

* chore: Rename check_idf_bootloader to check_app_descriptor

* docs: Update changelog

* revert: check_idf_bootloader name change
2025-07-02 08:46:24 +00:00
Jesse Braham
12a177a612
Version 4.0.0 (#916) v4.0.0 2025-07-01 13:22:40 +00:00
Scott Mabin
5360e78c60
fix SPI detection on s3 by using the right base address (#917) 2025-07-01 11:08:09 +00:00
Jesse Braham
c35728a790
Apply relevant Rust API guidelines (#915)
* Derive more traits on public types in `image_format` module

* Don't leak `PartitionTable` type in public API

* Derive more traits on public types in `command` module

* fixups

* impl Hash for things

* fmt

* wording consistency

* feat: Udpate docstrings and derives

* feat: Implement C-CONV

* Derive more traits on public types in `flasher` module

* docs: Add missing module documentation

* docs: Udpate changelog

* docs: Fix changelog

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
Co-authored-by: Sergio Gasquez <sergio.gasquez@gmail.com>
2025-07-01 08:35:32 +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
nullstalgia
a43be2e6ec
Indicate in CLI when a partition was skipped or being verified, fix incorrect chunk size being shown. (#908)
* Indicate in CLI when a partition was skipped or being verified

* Fix target address alignment, and just append to last msg.

* Modify changelog with logs of changes
2025-06-30 07:55:43 +00:00
Sergio Gasquez Arcos
2e3f3c362c
Move non-interactive flag to connect args (#906)
* fix: Move non-interactive flag to connect args

* feat: Update changelog

* fix: Update cargo-espflash

* feat: Filter "dev/tty.*" ports in macos
2025-06-27 14:03:30 +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
Juraj Sadel
73c613abd0
Avoid leaking inner error types vol.3 (#907) 2025-06-26 11:25:42 +00:00
Juraj Sadel
745bef6310
Avoid leaking inner error types vol.2 (#905)
* Avoid leaking inner error types vol.2

* remove redundant impl

* Update espflash/src/error.rs

Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>

---------

Co-authored-by: Jesse Braham <jessebraham@users.noreply.github.com>
2025-06-26 07:46:37 +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
Scott Mabin
f31f75e92e
Address library feedback (#901)
* use stored skip/verify params

* move command structs out of connection module

* changelog

* use scaling timeout for md5 check
2025-06-25 10:45:47 +00:00
Juraj Sadel
0a983fa240
Check app_desc _only_ for esp-hal projects (#892)
* App desc check only for esp-hal projects

* clippy

* comment why it is esp-hal specific

* Check if the project is esp-idf based and if it has an app desc section present

* clippy

* reviews

* fmt

* update link
2025-06-24 13:06:10 +00:00
Jesse Braham
29371c32f7
Allow skipping the update checks using an environment variable (#900)
* Allow skipping the update checks using an environment variable

* Update `CHANGELOG.md`
2025-06-24 07:53:09 +00:00
Sergio Gasquez Arcos
f12ecf363d
Improve docs (#899)
* feat: Make try_from private

* docs: Improve docs

* feat: Make erase_parts private

* docs: Improve docs

* docs: Fix typos
2025-06-20 14:08:23 +00:00
Dániel Buga
61e5032d92
Exclude test data from release (#897) 2025-06-20 10:55:13 +00:00