Skip to content

Conversation

@wisp3rwind
Copy link
Contributor

@wisp3rwind wisp3rwind commented Dec 4, 2025

Thank you for your contribution!

We appreciate the time and effort you've put into this pull request.
To help us review it efficiently, please ensure you've gone through the following checklist:

Submission Checklist 📝

  • I have updated existing examples or added new ones (if applicable).
  • I have used cargo xtask fmt-packages command to ensure that all changed code is formatted correctly.
  • My changes were added to the CHANGELOG.md in the proper section.
  • I have added necessary changes to user code to the latest Migration Guide.
  • My changes are in accordance to the esp-rs developer guidelines

Extra:

Pull Request Details 📖

Split out of #4604.

Test a little bit more thoroughly that tx methods return the expected errors for invalid data. Additionally, refactor the error handling code to be less specific for slices [PulseCode]. This is in preparation for adding iterator/encoder data type support. Having the tests in place should help prevent regressions.

There are some subtle behavioral changes due to this:

  • transmit_continuously can now report `Error::EndMarkerMissing´
  • Errors might now be returned a little bit later (not checked up front anymore, but only when writing the data to RMT RAM).

I think these changes are a) unavoidable when supporting iterator data types, and b) not really an issue, since all the same errors will still be detected.

See also the commit messages for details.

Testing

HIL tests.

@JurajSadel
Copy link
Contributor

/hil full

@JurajSadel JurajSadel added the trusted-author Allow the author of this Pull Request to run HIL tests and the `binary-size` test. label Dec 4, 2025
@github-actions
Copy link

github-actions bot commented Dec 4, 2025

[HIL trust list]

Trusted users for this PR (click to expand)

@github-actions
Copy link

github-actions bot commented Dec 4, 2025

Author @wisp3rwind was trusted for this PR via the trusted-author label.
They can now use /hil quick or /hil full.

@github-actions
Copy link

github-actions bot commented Dec 4, 2025

Triggered full HIL run for #4617.

Run: https://github.com/esp-rs/esp-hal/actions/runs/19943514564

Status update: ❌ HIL (full) run failed (conclusion: failure).

@wisp3rwind wisp3rwind marked this pull request as ready for review December 4, 2025 20:52
Copilot AI review requested due to automatic review settings December 4, 2025 20:52
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@wisp3rwind wisp3rwind marked this pull request as draft December 4, 2025 21:42
to ensure that upcoming Iterator/Encoder-related refactoring dont't break anything.

The EndMarkerMissing cases with different tx lengths seem redundant
right now (since this is verified before even starting the
transmission), but that will change when iterator input is supported and
the presence of an end marker can only be verified when the iterator is
exhausted.
@wisp3rwind wisp3rwind changed the title RMT: add HIL tests for more tx error cases RMT: Revise Tx error handling and add more HIL tests Dec 9, 2025
@wisp3rwind
Copy link
Contributor Author

/hil quick

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Triggered quick HIL run for #4617.

Run: https://github.com/esp-rs/esp-hal/actions/runs/20067475027

Status update: ❌ HIL (quick) run failed (conclusion: failure).

@wisp3rwind wisp3rwind mentioned this pull request Dec 9, 2025
13 tasks
…read-only

- shares a tiny bit more code between Blocking and Async tx
- removes Slice-specific error handling in preparation for supporting
  iterator (-like) data types
- makes RmtWriter.state read-only and only write it from the rmt::write
  module to make it easier to reason about

As a side effect, continuous tx will now also report EndMarkerMissing
errors. This makes sense: The loopcount interrupt only appears to
trigger when hitting and end marker, and does not trigger when in
loop tx mode with wrapping enabled and wrapping at the buffer end. In
other words, in that case, loop tx seems to work at first, but does not
trigger interrupts, so it should probably be prevented (it might make
sense to allow LoopMode::Infinite without end marker, however).
cf. the commit message of the preceding commit
@wisp3rwind
Copy link
Contributor Author

/hil quick

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Triggered quick HIL run for #4617.

Run: https://github.com/esp-rs/esp-hal/actions/runs/20068076677

Status update: ❌ HIL (quick) run failed (conclusion: failure).

@wisp3rwind
Copy link
Contributor Author

/hil esp32 esp32c3 esp32c6

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Triggered HIL run for #4617 (chips: esp32 esp32c3 esp32c6).

Run: https://github.com/esp-rs/esp-hal/actions/runs/20068620841

Status update: ❌ HIL (per-chip) run failed (conclusion: failure).

@wisp3rwind wisp3rwind marked this pull request as ready for review December 9, 2025 15:33
Copilot AI review requested due to automatic review settings December 9, 2025 15:33
@wisp3rwind
Copy link
Contributor Author

This should be ready now (HIL failures are due to the c6 runner acting up).

Note that I extended the scope of this PR compared to the initial push, see the updated description and title above.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings December 10, 2025 14:04
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 4 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- remove (currently) unused getter
- code style
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

trusted-author Allow the author of this Pull Request to run HIL tests and the `binary-size` test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants