Expose hard_fault panicking behavior #737
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR factors the hard-faulting logic out of the panic handler and makes it publicly available. The reasoning is that users may want to use that hard-faulting logic as the
defmt::panic_handler
to avoid double panic printing.Alternative options:
defmt::panic_handler
.print-defmt
feature, essentially always setting thedefmt::panic_handler
.Alternative (2) is probably the easiest for the user. The downside would be if for some reason the
defmt::panic_handler
should be set to something else instead. I don't see any examples, but that's a risk.Alternative (1) is still easy (and that feature could be a default feature, or alternatively there could be a disabling feature) while keeping flexibility in case a user needs to define a custom
defmt::panic_handler
.The current PR is the obvious non-breaking and flexible solution, but requires the user to define the
defmt::panic_handler
when needed.