ΣSigmaStudio Ask AI Русский Log in

Properties of parameters and programs

SigmaDSP & SigmaStudio Kottkungen Jul 9, 2010 00:00 3 replies Original on forum ↗
Subscribe
Kottkungen Question
Jul 9, 2010 00:00

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

ADIApproved Reply
Jul 13, 2010 00:00

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:

https://ez.analog.com/message/4122#4122

Kottkungen Reply
Jul 14, 2010 00:00

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.

ADIApproved Reply
Jul 14, 2010 00:00

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.