Properties of parameters and programs
Hi!
I have i MCU connected to the ADAU1442. I want to be able to store several DSP-programs and parameters on the MCU and then be able to select which program and which parameters I want to load into the DSP. So I wonder, are different parameters compatible with several programs? Or are the parameters (very) specific to one program.
Are the adresses to parameters in always the same relative to each other in a block/cell from SigmaStudio
Could I perhaps read more about this somewhere?
Thanks
Emil
Audio Signal Processors
microcontroller
adau1442
sigmastudio
SigmaDSP Audio Processors
Hello Emil,
SigmaStudio generates new parameter addresses upon each compilation of a project. So, if you change the project, it is not guaranteed that on the next compilation, the parameter addresses will stay the same.
There is one way to accomplish what you're looking for. The method is to use a feature called "Export System Files". This feature generates a C-compatible header file that contains references to the names and addresses of various parameters used in the project. If you have several projects that contain the same cell (for example, a volume control), and you give that cell the same name in each of those projects, then its name will be shared in the output files. You can then reference to those output files when your microcontroller changes programs.
More information about the Export System Files option can be found here:
ok, but the addresses aren't the same within the cells? Like say for example:
Cell Name = PeakRMS1
Parameter Name = PeakRMSCombo1hold
Parameter Address = 213
Parameter Name = PeakRMSCombo1decay
Parameter Address = 214
Parameter Name = PeakRMSCombo1decayAll
Parameter Address = 216
Parameter Name = PeakRMSCombo1holdAll
Parameter Address = 215
Is it possible to draw the conclusion that given the first address within a cell, then the rest of the addresses follows. E.g given that the lowest address within PeakRMS1 is 213, then we know that the rest of the parameters are at 214, 215 and 216. I need to be able to download new DSP applications into the MCU and some sort of parameter mapping, but in order to save some space I don't want to store all the parameters.
I can agree with confidence that algorithms will declare their parameters in the same order, every time. So, if you have algorithm X whose parameters start at address Y, and end at Y+n, then you can be sure that if you use algorithm X again starting at address Z, its parameters will follow the same order and end at address Z+n.
Be aware, however, the the grow/add/reduce/remove commands, as well as any use of subroutines and indecies, will break this guarantee. Also, if any parameters are stored in non-modulo data RAM, those will shift but that cannot be calculated based on the shift of the corresponding parameter RAM addresses.
So, as long as you are using the exact same algorithm (not a grown/added/reduced/removed version of the same algorithm) and simply shifting its position in the project (and it does not use any non-modulo data RAM), then yes, you can be sure that the corresponding parameters will shift accordingly and that will be all you have to change in your microcontroller.
Of course, you should thoroughly test this when you implement it.
Please log in to reply.