Fix and improve EIC Event control #944
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.


Summary
The EIC Evctrl register works differently to intset/intclear. There is just one register, and the user must set the bit for each channel in it according to if the event system should be enabled or not per channel.
Before, this was done by writing to the register directly, rather than ORing it with whats already in it. This would cause the last value of the register to be overwritten, meaning, it would only ever be possible to have 1 event system channel output enabled at once.
For completion, I've also added a
disable_eventmethod, which turns off a channels Event system output.Checklist
#[allow]certain lints where reasonable, but ideally justify those with a short comment.