- Edited
Thanks for your feedback.
It is great to see some interest in FAUST.
Some background:
The Bela architecture for FAUST has not seen much work in the past few months. It was originally developed for the old Bela API, mainly by Oli Larkin and Stephane Letz with our support back in March.
Ever since, the FAUST online compiler and the amazing Faust playground have been capable of producing binaries ready to be downloaded on Bela.
They did a great job but unfortunately have not yet found the time to port it to the latest API.
In the core Bela team there are no FAUST users, so we did not feel confident about porting the interface over to the new Bela API, as we would not be good enough at FAUST to be able to test it properly. We do, though, have a guide on how it can be done and we could really use a contribution from the community in this sense.
For all of these reasons, while FAUST code CAN run on Bela (as you have verified yourself), the workflow to do so is not the most straightforward ever. I will add an option for run_project.sh
to run an existing binary.
I have tried to compile FAUST-generated C++ code on the board (I downloaded the C++ code from the FAUST online compiler). Though possible, it would sometimes require a very long time. We had this file that would take 3 minutes compiling with gcc and over 10 minutes with clang. I guess a 10k + lines file must require quite some CPU to be compiled, so a cross-build environment (or the online compiler) would be recommended for FAUST projects. This is the reason why there are no FAUST source files, executables and libraries on the board at the moment.
But unfortunately if you use the former, the IDE stop button won't work, and you have to shut down the Bela to stop.
This is probably caused by the fact that the "stop" button specifically looks for the running bela-audio
thread, but in the binary you download it is called beaglert-audio
. Still, you can kill the process from the IDE by typing
$ killall projetcName
in the console integrated in the IDE.
Alternatively, you can get CPU stats from the terminal (NOTE: this requires an actual terminal, you cannot run the watch
command in the IDE. (I should probably create a script for that). To run it from within the IDE console you'll have to repeatedly run the following command cat /proc/xenomai/stat
, surely not very convenient and while
will not work ).
I take your point on the wiki: the Eclipse page is a bit stale. I am hoping to find the time to put together a reliable and portable (as in: downloadable) cross-compiling environment (without having to use the scripts I hacked together in the Eclipse page), and I am waiting for that moment to re-factor the page, but sure we can do better than it currently is.
Incidentally, the wiki is free to edit for any github user, so feel free to fill-in this page if you have time, or to amend existing documentation.