Couple odd feature requests...
My ADAU1701 SigmaDSP-based camping stereo card is coming along quite nicely.
The card is intended to be used with several possible speaker configurations, requiring different crossover frequencies, different equalization, etc. To handle this, I'm hoping to store one copy of the program code, but load in different parameter RAM depending on the speaker configuration. I haven't hit anything insurmountable yet, but have a couple of feature ideas which would make things a bit easier...
(1) The ability to "lock the program code", locking parameter addresses and allowing only parameter value edits.
I've noticed that when I change parameter values, link/compile/download and export new header files, parameter addresses can get moved around. To get around this, I'm planning to write a script that takes new parameter values from a new header file and rearranges them to suit the parameter addressing of the existing program code. But I think the ability to "lock" the program code, and only allow limited changes to be made (DC sources, filter coefficients, etc... only things that affect parameter RAM), would be a nice feature.
(2) In conjunction with the above, a filter block which uses the same # of parameters regardless of order.
The number of parameters that a filter takes up changes with the filter order, which is expected, however it eliminates the ability to change the order of a filter just by swapping parameter RAM. I'm planning to use the script method to get around this also, by filling unused biquads with "B0=1, rest 0" coefficients. But having this built into SigmaStudio would be great - have a maximum filter order setting which sets the number of parameters, and allow any filter up to and including that order to be selected/configured.
Thanks!
Audio Signal Processors
features
sigmastudio
SigmaDSP Audio Processors
adau1701
(1) There is no way to lock the parameter addresses and make them "immune" from changes that require a re-compile. That being said, there are a number of things you can do to make your life easier when it comes to parameter addressing.
Use the "Export System Files" tools to generate header files that rely entirely on the name of the cells, thus ensuring that the parameter names will stay the same regardless of changes you make to the schematic. The only caveat is that you need to configure your microcontroller code to accept the header files in the same form as they are generated. This FAQ may help: https://ez.analog.com/docs/DOC-1806
You can "freeze" hierarchy boards by right-clicking them and selecting the "freeze" command. This will lock the cells and connections in place, but will still let you make edits to parameters. This mode should prevent accidental edits that would potentially re-shuffle the parameter addresses.
(2) I will put this request in with the software team.
Please log in to reply.