@mars here are some good news for you. I wanted to give Openware FW on Owl a go and noticed that current version won’t even build. So I’ve managed to fix some regressions and updated CubeMx to latest version (5.6.0).
There was an error due to codec_init function having different arguments for Owl’s codec. I’ve moved its definition to Codec.h file to have it in one place and made it conditional there to handle different codecs’ requirements for register data width. It’s possible to have each codec’s own definition in respective header instead, but then it should be removed from Codec.h to avoid conflicts.
Other than that, some fixes were required in linker script, makefile - figured that out based on current Magus files. Fixed USB to use MIDI IF instead of audio, as usual. For now I’ve only made sure that patches run and MIDI data is handled in user patches. Other changes are by Cube overwriting its own generated files (i.e. USB stuff had some changes), this should be double checked.
Also, I’m thinking about adding V/Oct calibration procedure. I think it would be one of the following:
- done from patch and stored with a custom service call
- special mode triggered with sysex command
- triggered by pushbutton pressed on boot
Will do more research about this, but comments are welcomed.