Here is a basic implementation of how I am envisioning the FOC controller interface to look like. I added a method to initialize an FOC controller, enqueue data to be processed, and a task for incrementally processing data
Notes
I've defined a bunch of stuff local to the FOC struct specifically an inbound queue, and outbound queue, and the thread ID. The idea is that processes will use the wrapper functions around the queueing and dequeueing operations, which should hopefully allow us to add in any needed functionality later on.
Test Cases
It builds lol
Checklist
It can be helpful to check the Checks and Files changed tabs.
Please reach out to your Project Lead if anything is unclear.
Please request reviewers and ping on slack only after you've gone through this whole checklist.
[x] All commits are tagged with the ticket number
[x] No merge conflicts
[x] All checks passing
[x] Remove any non-applicable sections of this template
[x] Assign the PR to yourself
[x] Request reviewers & ping on Slack
[x] PR is linked to the ticket (fill in the closes line below)
Changes
Here is a basic implementation of how I am envisioning the FOC controller interface to look like. I added a method to initialize an FOC controller, enqueue data to be processed, and a task for incrementally processing data
Notes
I've defined a bunch of stuff local to the FOC struct specifically an inbound queue, and outbound queue, and the thread ID. The idea is that processes will use the wrapper functions around the queueing and dequeueing operations, which should hopefully allow us to add in any needed functionality later on.
Test Cases
Checklist
It can be helpful to check the
Checks
andFiles changed
tabs. Please reach out to your Project Lead if anything is unclear. Please request reviewers and ping on slack only after you've gone through this whole checklist.Closes #16