I'm running Pd on a cubieboard 2 (armf), together with jack in realtime mode. In order to access an adc with i2c within Pd I created externals and it worked, but I couldn't find a way to get rid of clicks and pops when reading values in my audio patches with this setup..
Then I made a standalone version of one of them to be launched in regular terminal, and got its output redirected to pdsend application (standalone, part of the pd package on linux platforms). This saved my day, no more clicks, data is sampled from the standalone application and sent via TCP to pd, that retreives it with a [netreceive] object. Next step will be integrating the pdsend program within my program, as advised by the authors.
My guess is that as I launch PD with a fairly high rt priority, the externals loaded in a patch do run with the same rt priority, leading to problems as my i2c port may have a significantly lower rt priority. The point is that I want audio to be clean at all costs, but really don't need to read i2c data with such a time accuracy.
What do you think about it ? Could my guess be right ? I don't have an arduino, but I heard there are pd objects that do the job, is everything good ? No cracks and pops I suppose ?
Note : it's not a matter of putting "line" objects in order to smooth out the commands here, really