Skip to content

Conversation

facchinm
Copy link
Member

@facchinm facchinm commented Oct 7, 2025

No description provided.

Copy link

@DhruvaG2000 DhruvaG2000 left a comment

Choose a reason for hiding this comment

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

zephyrCommon: Fixed a bug in the interrupt handler acquisition

Why include this commit as part of a PR for support for UNO Q?
Can it be a separate PR of it's own please?

@facchinm
Copy link
Member Author

facchinm commented Oct 9, 2025

zephyrCommon: Fixed a bug in the interrupt handler acquisition

Why include this commit as part of a PR for support for UNO Q? Can it be a separate PR of it's own please?

@pillo79 can you send it as a different PR? (and remove from this branch)

@pillo79 pillo79 changed the title Add support for UNO Q board: Add support for UNO Q Oct 9, 2025
pillo79 and others added 14 commits October 9, 2025 14:14
Take into account the analog switch
Use RBIT intrinsic (if available) instead of the slow
software reverse. Note that RBIT is at least ~2x faster:

Reverse Function Benchmark
==========================
Current implementation: 18 ms
Optimized implementation: 8 ms
Speedup: 2.25x

Signed-off-by: iabdalkader <[email protected]>
The main optimization eliminates the double MODER register write when on=true.
Previously: MODER &= ~(0xFFFFFF) then MODER |= pin_bits (two writes)
Now: MODER = 0 when off, or MODER = pin_bits when on (single write each)
Otherwise, the compiler is already doing a pretty good job.

Additional improvements:
- Remove unused idxToPin() function (was just returning idx)
- Remove unused reverse() function
- Use direct pin array access and bit shifts for efficiency

Signed-off-by: iabdalkader <[email protected]>
this commit can be reverted as soon as the libraries are added to library manager
@pillo79
Copy link

pillo79 commented Oct 9, 2025

zephyrCommon: Fixed a bug in the interrupt handler acquisition

Why include this commit as part of a PR for support for UNO Q? Can it be a separate PR of it's own please?

@pillo79 can you send it as a different PR? (and remove from this branch)

#203 was already opened a few weeks ago, this commit being included was a leftover from all the rebases during the Uno Q release process. Fixed!

@DhruvaG2000
Copy link

zephyrCommon: Fixed a bug in the interrupt handler acquisition

Why include this commit as part of a PR for support for UNO Q? Can it be a separate PR of it's own please?

@pillo79 can you send it as a different PR? (and remove from this branch)

#203 was already opened a few weeks ago, this commit being included was a leftover from all the rebases during the Uno Q release process. Fixed!

Thanks Luca!

@pillo79 pillo79 merged commit b1cdfa0 into main Oct 14, 2025
35 checks passed
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.

5 participants