Hello,
I have a art project that involves PID control of a process (many actually, up to 25), that has to run at least at around 20Hz to have the required performance and stability margins.
I'm using a Teensy 3.2 board to execute all calculations and it works like a charm.
But what I need to do now is to add communication capability via wifi though OSC, so that I can stream all data samples from the process so that they can be used on a computer for a live performance.
I've been inspired by this project and I'm doing roughly the same, using the Adafruit Airlift Featherwing Co-processor.
https://github.com/j3nsykes/OSC_propShield
The problem is that if I send all data samples (i.e. execute sendViaOSC() function as defined in this project in each loop), then the execution frequency of the main loop drops to around 8Hz, which is not enough anymore to ensure stability and performance.
I don't exactly grasp all the inner working of the WifiNINA library and how far does the ESP32 co-processor take the computational load off the Teensy but I feel that the Teensy still has to do a lot of work from the function sendViaOSC(), and I would like it to focus only on PID calculations so that it can run as fast as possible.
In the project https://github.com/j3nsykes/OSC_propShield, the problem does not really exist because sendViaOSC() function is only executed once every 1000 cycles of the main loop. In my case I need to send all data samples so I have to call it on each loop.
Would anyone have an idea about how I could use this co-processor to handle more of this communication task and do a better work at relieving the Teensy?
Thanks for your advice!
I have a art project that involves PID control of a process (many actually, up to 25), that has to run at least at around 20Hz to have the required performance and stability margins.
I'm using a Teensy 3.2 board to execute all calculations and it works like a charm.
But what I need to do now is to add communication capability via wifi though OSC, so that I can stream all data samples from the process so that they can be used on a computer for a live performance.
I've been inspired by this project and I'm doing roughly the same, using the Adafruit Airlift Featherwing Co-processor.
https://github.com/j3nsykes/OSC_propShield
The problem is that if I send all data samples (i.e. execute sendViaOSC() function as defined in this project in each loop), then the execution frequency of the main loop drops to around 8Hz, which is not enough anymore to ensure stability and performance.
I don't exactly grasp all the inner working of the WifiNINA library and how far does the ESP32 co-processor take the computational load off the Teensy but I feel that the Teensy still has to do a lot of work from the function sendViaOSC(), and I would like it to focus only on PID calculations so that it can run as fast as possible.
In the project https://github.com/j3nsykes/OSC_propShield, the problem does not really exist because sendViaOSC() function is only executed once every 1000 cycles of the main loop. In my case I need to send all data samples so I have to call it on each loop.
Would anyone have an idea about how I could use this co-processor to handle more of this communication task and do a better work at relieving the Teensy?
Thanks for your advice!