You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Good morning.
Firstly I would like to thank you for this great library.
I'm implementing a motor driver using this lib as a foundation.
Now I have to read the encoder, which consist of 4 wires on which I have to listen to changes (fast changes. Like 40khz). Because of that I don't think the correct way to do this is to get 4 exti-input, await on any change, select them with futures::select and then read what actually changed.
This approach is unstable because rely on embassy task executor, and from one CPU and another could elapse lots of cycles.
Another approach could be to use an embassy interrupt driven executor, but I think isn't supported for this architecture.
Another approach could be to override the exti interrupts handler(if it is possible). But with this I risk to break the other exti interrupts.
In the end I could even remove embassy and implement what I need from scratch, but of course it is one "reinvent thr wheel" approach.
Let me know if I haven't listed all approaches, or if there is one clear winner in your mind.
Keep on the great work👍
The text was updated successfully, but these errors were encountered:
Good morning.
Firstly I would like to thank you for this great library.
I'm implementing a motor driver using this lib as a foundation.
Now I have to read the encoder, which consist of 4 wires on which I have to listen to changes (fast changes. Like 40khz). Because of that I don't think the correct way to do this is to get 4 exti-input, await on any change, select them with futures::select and then read what actually changed.
This approach is unstable because rely on embassy task executor, and from one CPU and another could elapse lots of cycles.
Another approach could be to use an embassy interrupt driven executor, but I think isn't supported for this architecture.
Another approach could be to override the exti interrupts handler(if it is possible). But with this I risk to break the other exti interrupts.
In the end I could even remove embassy and implement what I need from scratch, but of course it is one "reinvent thr wheel" approach.
Let me know if I haven't listed all approaches, or if there is one clear winner in your mind.
Keep on the great work👍
The text was updated successfully, but these errors were encountered: