Skip to content

Bugfix/nand read errors - #37

Merged
TDA-2030 merged 3 commits into
masterfrom
bugfix/nand_read_errors
Nov 5, 2026
Merged

TDA-2030 merged 3 commits into
masterfrom
bugfix/nand_read_errors

Conversation

@TDA-2030

@TDA-2030 TDA-2030 commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

wait_for_ready() checked the deadline only after a BUSY status read.
A task preempted right after that read resumed past the 2-tick bound
at 100 Hz and reported a timeout although the 25 us page load had
already finished, failing IDEA downloads with read errors.

Sample the elapsed ticks before each STATUS read, so a timeout now
requires a read issued after the deadline to still see BUSY, and log
the actual wait instead of the configured bound.
The chip and device ID error logs printed a local ret that was always
ESP_OK. With silent assertion checks the log arguments are dropped and
the variable triggers -Wunused-variable in every application build.

Drop the variable and its format argument; the macro still returns the
real error. Record the upstream hashes of the touched device sources.
A failed physical read latched an error that only a remount or format
cleared. Applications that stay mounted kept reporting the media as
faulty until reboot, even after a transient error.

Add mosaico_nand_storage_clear_error() to forget the latch while the
volume is mounted. A persistent fault latches again on its next failed
read. Bump the component to 0.2.0 for the new public API and use the
standard copyright header in the touched files.
@TDA-2030
TDA-2030 merged commit e2d8035 into master Nov 5, 2026
25 checks passed
@TDA-2030
TDA-2030 deleted the bugfix/nand_read_errors branch November 5, 2026 07:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant