ADAU1787 Fast DSP EQ coefficient control via MATLAB

Hello,

I am controlling an ADAU1787 FDSP core via SigmaStudio, from MATLAB commands and generally this works well.

Parameters such as Boost can be controlled as follows, if I set the type to be parametric.

script = ['ss.ObjectSetProperties("setControlValue","Board1.myeq",0,0,"Boost1_0",10.0);'];
ss.RUN_SCRIPT( script );

I am trying to find a way to control the biquad coefficients of a 2nd order section if I set the type to IIR Coefficient.

I have used the recommended method to find the name of the coefficient parameters to use in the SS script - you can see that the control interface button I have used sets the values of the coefficient in the IIR panel. So I assume the name of the array parameter is 'Coefficients' and there are 15 of them, i.e. 5 for each of the 3 banks A,B,C.

I've made two observations:

1) The control interface button you see above, though it writes the data into the panel, the register capture window doesn't show a write to the hardware, but it does if I set the coefficients in SigmaStudio manually. 

2) If I use the MATLAB interface to replicate the action of the control interface test button (as in the diagram) the coefficients don't change on the screen.


script = ['ss.ObjectSetProperties("setControlValue","Board1.myeq",0,0,"Coefficients", new float[]{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0});']
ss.RUN_SCRIPT( script )

I'm seeking advice on whether my methods and syntax are correct, or whether there are any known issues with the interface.



(seeking advice)
[edited by: Peter-T at 11:27 PM (GMT -4) on 11 Oct 2021]
  • Anyone have any ideas here? Apart from setting the safeload registers directly, it seems to me there is no way to read or write the biquad coefficients by value using SigmaStudio Server.

    I did write to ADI support to get an answer and they told me that this kind of issue is handled on this forum. Perhaps the server interface is not supported any more?

  • 0
    •  Analog Employees 
    on Oct 15, 2021 6:26 PM

    Hello Peter-T,

    Sorry for the delay. 

    I think what may be happening here is the issue of writing bytes verses words. This DSP is different from the older DSPs. So I suggest trying to only write one coefficient as one 4-byte write to SigmaStudio. Then SigmaStudio should see this as a valid entry and write it to the DSP. Since this is to a banked coefficient you have to be careful and only write to the banks that are not active or stop the DSP. 

    What I am not certain about is if you have to write it as a fixed point representation or if it needs to be the hex value. I have asked some other engineers in our group who have worked more with the MatLab interface so when I hear back I can respond further. 

    Dave T

  • Hi Dave, and thanks very much for your reply.

    The Coefficients array seems to be of size 15, 5 for each of Bank A, B and C, and there is no mechanism to address it selectively. If I just write a scalar to it using MATLAB, it doesn't get through.

    The thing is, other parameters of the same control do work, in fact any in the list at the bottom, a parameter list for the IIR bank in my schematic, which I found in the Description section of the XML export. I can see that the reported parameter Coefficients is not present there, and that may be the explanation. 

    It is important for us to be able to control the coefficients of our biquads in the FDSP precisely using the Sigmastudio server, rather than using high level parameters below. 

    I can control the coefficients by identifying each biquad's safeload ID and programming the safeload registers directly, but that is a brittle method and sensitive to changes in schematic as the ID's are remapped.

    <Description>Single Channel DP( 8 ) : Frequency`lock_0[ False ],Gain_0[ 0 ],Q_0[ 1.41 ],Boost1`max_0[ 10 ],Boost1`min_0[ -10 ],Boost1`res_0[ 20 ],Boost1_0[ 1 ],Boost2`max_0[ 10 ],Boost2`min_0[ -10 ],Boost2`res_0[ 20 ],Boost2_0[ 0 ],Boost3`max_0[ 10 ],Boost3`min_0[ -10 ],Boost3`res_0[ 20 ],Boost3_0[ 0 ],Frequency1_0[ 12500 ],Frequency2_0[ 1000 ],FilterEnable_0[ False ],PhaseShifted_0[ False ],Slope`res_0[ 20 ],Slope_0[ 1 ],Ripple_0[ 0.1 ],Active1_0[ True ],Active2_0[ True ],LowPass1_0[ True ],LowPass2_0[ False ],AllPass1_0[ False ],AllPass2_0[ False ],ClassicEE_Filtering_0[ False ],Load_IIR_0[ False ],ShelvingType_0[ 0 ],GeneralType_0[ 0 ],BandPassType_0[ 0 ],Type_0[ 0 ],ChebyshevType_0[ 0 ],BitmapIndex_0[ 0 ],Frequency`lock_1[ False ],Gain_1[ 0 ],Q_1[ 1.41 ],Boost1`max_1[ 10 ],Boost1`min_1[ -10 ],Boost1`res_1[ 20 ],Boost1_1[ 0 ],Boost2`max_1[ 10 ],Boost2`min_1[ -10 ],Boost2`res_1[ 20 ],Boost2_1[ 0 ],Boost3`max_1[ 10 ],Boost3`min_1[ -10 ],Boost3`res_1[ 20 ],Boost3_1[ 0 ],Frequency1_1[ 1000 ],Frequency2_1[ 1000 ],FilterEnable_1[ True ],PhaseShifted_1[ False ],Slope`res_1[ 20 ],Slope_1[ 1 ],Ripple_1[ 0.1 ],Active1_1[ True ],Active2_1[ True ],LowPass1_1[ True ],LowPass2_1[ False ],AllPass1_1[ False ],AllPass2_1[ False ],ClassicEE_Filtering_1[ False ],Load_IIR_1[ False ],ShelvingType_1[ 0 ],GeneralType_1[ 0 ],BandPassType_1[ 0 ],Type_1[ 0 ],ChebyshevType_1[ 0 ],BitmapIndex_1[ 5 ],Frequency`lock_2[ False ],Gain_2[ 0 ],Q_2[ 1.41 ],Boost1`max_2[ 10 ],Boost1`min_2[ -10 ],Boost1`res_2[ 20 ],Boost1_2[ 0 ],Boost2`max_2[ 10 ],Boost2`min_2[ -10 ],Boost2`res_2[ 20 ],Boost2_2[ 0 ],Boost3`max_2[ 10 ],Boost3`min_2[ -10 ],Boost3`res_2[ 20 ],Boost3_2[ 0 ],Frequency1_2[ 1000 ],Frequency2_2[ 1000 ],FilterEnable_2[ True ],PhaseShifted_2[ False ],Slope`res_2[ 20 ],Slope_2[ 1 ],Ripple_2[ 0.1 ],Active1_2[ True ],Active2_2[ True ],LowPass1_2[ True ],LowPass2_2[ False ],AllPass1_2[ False ],AllPass2_2[ False ],ClassicEE_Filtering_2[ False ],Load_IIR_2[ False ],ShelvingType_2[ 0 ],GeneralType_2[ 0 ],BandPassType_2[ 0 ],Type_2[ 0 ],ChebyshevType_2[ 0 ],BitmapIndex_2[ 5 ],SelectedBank[ 0 ];Frequency`lock_0[ False ],Gain_0[ 0 ],Q_0[ 1.41 ],Boost1`max_0[ 10 ],Boost1`min_0[ -10 ],Boost1`res_0[ 20 ],Boost1_0[ 10 ],Boost2`max_0[ 10 ],Boost2`min_0[ -10 ],Boost2`res_0[ 20 ],Boost2_0[ 0 ],Boost3`max_0[ 10 ],Boost3`min_0[ -10 ],Boost3`res_0[ 20 ],Boost3_0[ 0 ],Frequency1_0[ 17000 ],Frequency2_0[ 1000 ],FilterEnable_0[ False ],PhaseShifted_0[ False ],Slope`res_0[ 20 ],Slope_0[ 1 ],Ripple_0[ 0.1 ],Active1_0[ True ],Active2_0[ True ],LowPass1_0[ True ],LowPass2_0[ False ],AllPass1_0[ False ],AllPass2_0[ False ],ClassicEE_Filtering_0[ False ],Load_IIR_0[ False ],ShelvingType_0[ 0 ],GeneralType_0[ 0 ],BandPassType_0[ 0 ],Type_0[ 9 ],ChebyshevType_0[ 0 ],BitmapIndex_0[ 12 ],Frequency`lock_1[ False ],Gain_1[ 0 ],Q_1[ 1.41 ],Boost1`max_1[ 10 ],Boost1`min_1[ -10 ],Boost1`res_1[ 20 ],Boost1_1[ 0 ],Boost2`max_1[ 10 ],Boost2`min_1[ -10 ],Boost2`res_1[ 20 ],Boost2_1[ 0 ],Boost3`max_1[ 10 ],Boost3`min_1[ -10 ],Boost3`res_1[ 20 ],Boost3_1[ 0 ],Frequency1_1[ 1000 ],Frequency2_1[ 1000 ],FilterEnable_1[ True ],PhaseShifted_1[ False ],Slope`res_1[ 20 ],Slope_1[ 1 ],Ripple_1[ 0.1 ],Active1_1[ True ],Active2_1[ True ],LowPass1_1[ True ],LowPass2_1[ False ],AllPass1_1[ False ],AllPass2_1[ False ],ClassicEE_Filtering_1[ False ],Load_IIR_1[ False ],ShelvingType_1[ 0 ],GeneralType_1[ 0 ],BandPassType_1[ 0 ],Type_1[ 0 ],ChebyshevType_1[ 0 ],BitmapIndex_1[ 5 ],Frequency`lock_2[ False ],Gain_2[ 0 ],Q_2[ 1.41 ],Boost1`max_2[ 10 ],Boost1`min_2[ -10 ],Boost1`res_2[ 20 ],Boost1_2[ 0 ],Boost2`max_2[ 10 ],Boost2`min_2[ -10 ],Boost2`res_2[ 20 ],Boost2_2[ 0 ],Boost3`max_2[ 10 ],Boost3`min_2[ -10 ],Boost3`res_2[ 20 ],Boost3_2[ 0 ],Frequency1_2[ 1000 ],Frequency2_2[ 1000 ],FilterEnable_2[ True ],PhaseShifted_2[ False ],Slope`res_2[ 20 ],Slope_2[ 1 ],Ripple_2[ 0.1 ],Active1_2[ True ],Active2_2[ True ],LowPass1_2[ True ],LowPass2_2[ False ],AllPass1_2[ False ],AllPass2_2[ False ],ClassicEE_Filtering_2[ False ],Load_IIR_2[ False ],ShelvingType_2[ 0 ],GeneralType_2[ 0 ],BandPassType_2[ 0 ],Type_2[ 0 ],ChebyshevType_2[ 0 ],BitmapIndex_2[ 5 ],SelectedBank[ 0 ];Frequency`lock_0[ False ],Gain_0[ 0 ],Q_0[ 1 ],Boost1`max_0[ 10 ],Boost1`min_0[ -10 ],Boost1`res_0[ 20 ],Boost1_0[ 0 ],Boost2`max_0[ 10 ],Boost2`min_0[ -10 ],Boost2`res_0[ 20 ],Boost2_0[ 0 ],Boost3`max_0[ 10 ],Boost3`min_0[ -10 ],Boost3`res_0[ 20 ],Boost3_0[ 0 ],Frequency1_0[ 4500 ],Frequency2_0[ 1000 ],FilterEnable_0[ False ],PhaseShifted_0[ False ],Slope`res_0[ 20 ],Slope_0[ 1 ],Ripple_0[ 0.1 ],Active1_0[ True ],Active2_0[ True ],LowPass1_0[ True ],LowPass2_0[ False ],AllPass1_0[ False ],AllPass2_0[ False ],ClassicEE_Filtering_0[ False ],Load_IIR_0[ False ],ShelvingType_0[ 0 ],GeneralType_0[ 0 ],BandPassType_0[ 0 ],Type_0[ 9 ],ChebyshevType_0[ 0 ],BitmapIndex_0[ 12 ],Frequency`lock_1[ False ],Gain_1[ 0 ],Q_1[ 1.41 ],Boost1`max_1[ 10 ],Boost1`min_1[ -10 ],Boost1`res_1[ 20 ],Boost1_1[ 0 ],Boost2`max_1[ 10 ],Boost2`min_1[ -10 ],Boost2`res_1[ 20 ],Boost2_1[ 0 ],Boost3`max_1[ 10 ],Boost3`min_1[ -10 ],Boost3`res_1[ 20 ],Boost3_1[ 0 ],Frequency1_1[ 1000 ],Frequency2_1[ 1000 ],FilterEnable_1[ True ],PhaseShifted_1[ False ],Slope`res_1[ 20 ],Slope_1[ 1 ],Ripple_1[ 0.1 ],Active1_1[ True ],Active2_1[ True ],LowPass1_1[ True ],LowPass2_1[ False ],AllPass1_1[ False ],AllPass2_1[ False ],ClassicEE_Filtering_1[ False ],Load_IIR_1[ False ],ShelvingType_1[ 0 ],GeneralType_1[ 0 ],BandPassType_1[ 0 ],Type_1[ 0 ],ChebyshevType_1[ 0 ],BitmapIndex_1[ 5 ],Frequency`lock_2[ False ],Gain_2[ 0 ],Q_2[ 1.41 ],Boost1`max_2[ 10 ],Boost1`min_2[ -10 ],Boost1`res_2[ 20 ],Boost1_2[ 0 ],Boost2`max_2[ 10 ],Boost2`min_2[ -10 ],Boost2`res_2[ 20 ],Boost2_2[ 0 ],Boost3`max_2[ 10 ],Boost3`min_2[ -10 ],Boost3`res_2[ 20 ],Boost3_2[ 0 ],Frequency1_2[ 1000 ],Frequency2_2[ 1000 ],FilterEnable_2[ True ],PhaseShifted_2[ False ],Slope`res_2[ 20 ],Slope_2[ 1 ],Ripple_2[ 0.1 ],Active1_2[ True ],Active2_2[ True ],LowPass1_2[ True ],LowPass2_2[ False ],AllPass1_2[ False ],AllPass2_2[ False ],ClassicEE_Filtering_2[ False ],Load_IIR_2[ False ],ShelvingType_2[ 0 ],GeneralType_2[ 0 ],BandPassType_2[ 0 ],Type_2[ 0 ],ChebyshevType_2[ 0 ],BitmapIndex_2[ 5 ],SelectedBank[ 0 ];Frequency`lock_0[ False ],Gain_0[ 0 ],Q_0[ 1.41 ],Boost1`max_0[ 10 ],Boost1`min_0[ -10 ],Boost1`res_0[ 20 ],Boost1_0[ 0 ],Boost2`max_0[ 10 ],Boost2`min_0[ -10 ],Boost2`res_0[ 20 ],Boost2_0[ 0 ],Boost3`max_0[ 10 ],Boost3`min_0[ -10 ],Boost3`res_0[ 20 ],Boost3_0[ 0 ],Frequency1_0[ 1000 ],Frequency2_0[ 1000 ],FilterEnable_0[ False ],PhaseShifted_0[ False ],Slope`res_0[ 20 ],Slope_0[ 1 ],Ripple_0[ 0.1 ],Active1_0[ True ],Active2_0[ True ],LowPass1_0[ True ],LowPass2_0[ False ],AllPass1_0[ False ],AllPass2_0[ False ],ClassicEE_Filtering_0[ False ],Load_IIR_0[ False ],ShelvingType_0[ 0 ],GeneralType_0[ 0 ],BandPassType_0[ 0 ],Type_0[ 0 ],ChebyshevType_0[ 0 ],BitmapIndex_0[ 5 ],Frequency`lock_1[ False ],Gain_1[ 0 ],Q_1[ 1.41 ],Boost1`max_1[ 10 ],Boost1`min_1[ -10 ],Boost1`res_1[ 20 ],Boost1_1[ 0 ],Boost2`max_1[ 10 ],Boost2`min_1[ -10 ],Boost2`res_1[ 20 ],Boost2_1[ 0 ],Boost3`max_1[ 10 ],Boost3`min_1[ -10 ],Boost3`res_1[ 20 ],Boost3_1[ 0 ],Frequency1_1[ 1000 ],Frequency2_1[ 1000 ],FilterEnable_1[ True ],PhaseShifted_1[ False ],Slope`res_1[ 20 ],Slope_1[ 1 ],Ripple_1[ 0.1 ],Active1_1[ True ],Active2_1[ True ],LowPass1_1[ True ],LowPass2_1[ False ],AllPass1_1[ False ],AllPass2_1[ False ],ClassicEE_Filtering_1[ False ],Load_IIR_1[ False ],ShelvingType_1[ 0 ],GeneralType_1[ 0 ],BandPassType_1[ 0 ],Type_1[ 0 ],ChebyshevType_1[ 0 ],BitmapIndex_1[ 5 ],Frequency`lock_2[ False ],Gain_2[ 0 ],Q_2[ 1.41 ],Boost1`max_2[ 10 ],Boost1`min_2[ -10 ],Boost1`res_2[ 20 ],Boost1_2[ 0 ],Boost2`max_2[ 10 ],Boost2`min_2[ -10 ],Boost2`res_2[ 20 ],Boost2_2[ 0 ],Boost3`max_2[ 10 ],Boost3`min_2[ -10 ],Boost3`res_2[ 20 ],Boost3_2[ 0 ],Frequency1_2[ 1000 ],Frequency2_2[ 1000 ],FilterEnable_2[ True ],PhaseShifted_2[ False ],Slope`res_2[ 20 ],Slope_2[ 1 ],Ripple_2[ 0.1 ],Active1_2[ True ],Active2_2[ True ],LowPass1_2[ True ],LowPass2_2[ False ],AllPass1_2[ False ],AllPass2_2[ False ],ClassicEE_Filtering_2[ False ],Load_IIR_2[ False ],ShelvingType_2[ 0 ],GeneralType_2[ 0 ],BandPassType_2[ 0 ],Type_2[ 0 ],ChebyshevType_2[ 0 ],BitmapIndex_2[ 5 ],SelectedBank[ 0 ];Frequency`lock_0[ False ],Gain_0[ 0 ],Q_0[ 1.41 ],Boost1`max_0[ 10 ],Boost1`min_0[ -10 ],Boost1`res_0[ 20 ],Boost1_0[ 0 ],Boost2`max_0[ 10 ],Boost2`min_0[ -10 ],Boost2`res_0[ 20 ],Boost2_0[ 0 ],Boost3`max_0[ 10 ],Boost3`min_0[ -10 ],Boost3`res_0[ 20 ],Boost3_0[ 0 ],Frequency1_0[ 1000 ],Frequency2_0[ 1000 ],FilterEnable_0[ False ],PhaseShifted_0[ False ],Slope`res_0[ 20 ],Slope_0[ 1 ],Ripple_0[ 0.1 ],Active1_0[ True ],Active2_0[ True ],LowPass1_0[ True ],LowPass2_0[ False ],AllPass1_0[ False ],AllPass2_0[ False ],ClassicEE_Filtering_0[ False ],Load_IIR_0[ False ],ShelvingType_0[ 0 ],GeneralType_0[ 0 ],BandPassType_0[ 0 ],Type_0[ 0 ],ChebyshevType_0[ 0 ],BitmapIndex_0[ 5 ],Frequency`lock_1[ False ],Gain_1[ 0 ],Q_1[ 1.41 ],Boost1`max_1[ 10 ],Boost1`min_1[ -10 ],Boost1`res_1[ 20 ],Boost1_1[ 0 ],Boost2`max_1[ 10 ],Boost2`min_1[ -10 ],Boost2`res_1[ 20 ],Boost2_1[ 0 ],Boost3`max_1[ 10 ],Boost3`min_1[ -10 ],Boost3`res_1[ 20 ],Boost3_1[ 0 ],Frequency1_1[ 1000 ],Frequency2_1[ 1000 ],FilterEnable_1[ True ],PhaseShifted_1[ False ],Slope`res_1[ 20 ],Slope_1[ 1 ],Ripple_1[ 0.1 ],Active1_1[ True ],Active2_1[ True ],LowPass1_1[ True ],LowPass2_1[ False ],AllPass1_1[ False ],AllPass2_1[ False ],ClassicEE_Filtering_1[ False ],Load_IIR_1[ False ],ShelvingType_1[ 0 ],GeneralType_1[ 0 ],BandPassType_1[ 0 ],Type_1[ 0 ],ChebyshevType_1[ 0 ],BitmapIndex_1[ 5 ],Frequency`lock_2[ False ],Gain_2[ 0 ],Q_2[ 1.41 ],Boost1`max_2[ 10 ],Boost1`min_2[ -10 ],Boost1`res_2[ 20 ],Boost1_2[ 0 ],Boost2`max_2[ 10 ],Boost2`min_2[ -10 ],Boost2`res_2[ 20 ],Boost2_2[ 0 ],Boost3`max_2[ 10 ],Boost3`min_2[ -10 ],Boost3`res_2[ 20 ],Boost3_2[ 0 ],Frequency1_2[ 1000 ],Frequency2_2[ 1000 ],FilterEnable_2[ True ],PhaseShifted_2[ False ],Slope`res_2[ 20 ],Slope_2[ 1 ],Ripple_2[ 0.1 ],Active1_2[ True ],Active2_2[ True ],LowPass1_2[ True ],LowPass2_2[ False ],AllPass1_2[ False ],AllPass2_2[ False ],ClassicEE_Filtering_2[ False ],Load_IIR_2[ False ],ShelvingType_2[ 0 ],GeneralType_2[ 0 ],BandPassType_2[ 0 ],Type_2[ 0 ],ChebyshevType_2[ 0 ],BitmapIndex_2[ 5 ],SelectedBank[ 0 ];Frequency`lock_0[ False ],Gain_0[ 0 ],Q_0[ 1.41 ],Boost1`max_0[ 10 ],Boost1`min_0[ -10 ],Boost1`res_0[ 20 ],Boost1_0[ 0 ],Boost2`max_0[ 10 ],Boost2`min_0[ -10 ],Boost2`res_0[ 20 ],Boost2_0[ 0 ],Boost3`max_0[ 10 ],Boost3`min_0[ -10 ],Boost3`res_0[ 20 ],Boost3_0[ 0 ],Frequency1_0[ 1000 ],Frequency2_0[ 1000 ],FilterEnable_0[ False ],PhaseShifted_0[ False ],Slope`res_0[ 20 ],Slope_0[ 1 ],Ripple_0[ 0.1 ],Active1_0[ True ],Active2_0[ True ],LowPass1_0[ True ],LowPass2_0[ False ],AllPass1_0[ False ],AllPass2_0[ False ],ClassicEE_Filtering_0[ False ],Load_IIR_0[ False ],ShelvingType_0[ 0 ],GeneralType_0[ 0 ],BandPassType_0[ 0 ],Type_0[ 0 ],ChebyshevType_0[ 0 ],BitmapIndex_0[ 5 ],Frequency`lock_1[ False ],Gain_1[ 0 ],Q_1[ 1.41 ],Boost1`max_1[ 10 ],Boost1`min_1[ -10 ],Boost1`res_1[ 20 ],Boost1_1[ 0 ],Boost2`max_1[ 10 ],Boost2`min_1[ -10 ],Boost2`res_1[ 20 ],Boost2_1[ 0 ],Boost3`max_1[ 10 ],Boost3`min_1[ -10 ],Boost3`res_1[ 20 ],Boost3_1[ 0 ],Frequency1_1[ 1000 ],Frequency2_1[ 1000 ],FilterEnable_1[ True ],PhaseShifted_1[ False ],Slope`res_1[ 20 ],Slope_1[ 1 ],Ripple_1[ 0.1 ],Active1_1[ True ],Active2_1[ True ],LowPass1_1[ True ],LowPass2_1[ False ],AllPass1_1[ False ],AllPass2_1[ False ],ClassicEE_Filtering_1[ False ],Load_IIR_1[ False ],ShelvingType_1[ 0 ],GeneralType_1[ 0 ],BandPassType_1[ 0 ],Type_1[ 0 ],ChebyshevType_1[ 0 ],BitmapIndex_1[ 5 ],Frequency`lock_2[ False ],Gain_2[ 0 ],Q_2[ 1.41 ],Boost1`max_2[ 10 ],Boost1`min_2[ -10 ],Boost1`res_2[ 20 ],Boost1_2[ 0 ],Boost2`max_2[ 10 ],Boost2`min_2[ -10 ],Boost2`res_2[ 20 ],Boost2_2[ 0 ],Boost3`max_2[ 10 ],Boost3`min_2[ -10 ],Boost3`res_2[ 20 ],Boost3_2[ 0 ],Frequency1_2[ 1000 ],Frequency2_2[ 1000 ],FilterEnable_2[ True ],PhaseShifted_2[ False ],Slope`res_2[ 20 ],Slope_2[ 1 ],Ripple_2[ 0.1 ],Active1_2[ True ],Active2_2[ True ],LowPass1_2[ True ],LowPass2_2[ False ],AllPass1_2[ False ],AllPass2_2[ False ],ClassicEE_Filtering_2[ False ],Load_IIR_2[ False ],ShelvingType_2[ 0 ],GeneralType_2[ 0 ],BandPassType_2[ 0 ],Type_2[ 0 ],ChebyshevType_2[ 0 ],BitmapIndex_2[ 5 ],SelectedBank[ 0 ];Frequency`lock_0[ False ],Gain_0[ 0 ],Q_0[ 1.41 ],Boost1`max_0[ 10 ],Boost1`min_0[ -10 ],Boost1`res_0[ 20 ],Boost1_0[ 0 ],Boost2`max_0[ 10 ],Boost2`min_0[ -10 ],Boost2`res_0[ 20 ],Boost2_0[ 0 ],Boost3`max_0[ 10 ],Boost3`min_0[ -10 ],Boost3`res_0[ 20 ],Boost3_0[ 0 ],Frequency1_0[ 1000 ],Frequency2_0[ 1000 ],FilterEnable_0[ True ],PhaseShifted_0[ False ],Slope`res_0[ 20 ],Slope_0[ 1 ],Ripple_0[ 0.1 ],Active1_0[ True ],Active2_0[ True ],LowPass1_0[ True ],LowPass2_0[ False ],AllPass1_0[ False ],AllPass2_0[ False ],ClassicEE_Filtering_0[ False ],Load_IIR_0[ False ],ShelvingType_0[ 0 ],GeneralType_0[ 0 ],BandPassType_0[ 0 ],Type_0[ 0 ],ChebyshevType_0[ 0 ],BitmapIndex_0[ 5 ],Frequency`lock_1[ False ],Gain_1[ 0 ],Q_1[ 1.41 ],Boost1`max_1[ 10 ],Boost1`min_1[ -10 ],Boost1`res_1[ 20 ],Boost1_1[ 0 ],Boost2`max_1[ 10 ],Boost2`min_1[ -10 ],Boost2`res_1[ 20 ],Boost2_1[ 0 ],Boost3`max_1[ 10 ],Boost3`min_1[ -10 ],Boost3`res_1[ 20 ],Boost3_1[ 0 ],Frequency1_1[ 1000 ],Frequency2_1[ 1000 ],FilterEnable_1[ True ],PhaseShifted_1[ False ],Slope`res_1[ 20 ],Slope_1[ 1 ],Ripple_1[ 0.1 ],Active1_1[ True ],Active2_1[ True ],LowPass1_1[ True ],LowPass2_1[ False ],AllPass1_1[ False ],AllPass2_1[ False ],ClassicEE_Filtering_1[ False ],Load_IIR_1[ False ],ShelvingType_1[ 0 ],GeneralType_1[ 0 ],BandPassType_1[ 0 ],Type_1[ 0 ],ChebyshevType_1[ 0 ],BitmapIndex_1[ 5 ],Frequency`lock_2[ False ],Gain_2[ 0 ],Q_2[ 1.41 ],Boost1`max_2[ 10 ],Boost1`min_2[ -10 ],Boost1`res_2[ 20 ],Boost1_2[ 0 ],Boost2`max_2[ 10 ],Boost2`min_2[ -10 ],Boost2`res_2[ 20 ],Boost2_2[ 0 ],Boost3`max_2[ 10 ],Boost3`min_2[ -10 ],Boost3`res_2[ 20 ],Boost3_2[ 0 ],Frequency1_2[ 1000 ],Frequency2_2[ 1000 ],FilterEnable_2[ True ],PhaseShifted_2[ False ],Slope`res_2[ 20 ],Slope_2[ 1 ],Ripple_2[ 0.1 ],Active1_2[ True ],Active2_2[ True ],LowPass1_2[ True ],LowPass2_2[ False ],AllPass1_2[ False ],AllPass2_2[ False ],ClassicEE_Filtering_2[ False ],Load_IIR_2[ False ],ShelvingType_2[ 0 ],GeneralType_2[ 0 ],BandPassType_2[ 0 ],Type_2[ 0 ],ChebyshevType_2[ 0 ],BitmapIndex_2[ 5 ],SelectedBank[ 0 ];Frequency`lock_0[ False ],Gain_0[ 0 ],Q_0[ 1.41 ],Boost1`max_0[ 10 ],Boost1`min_0[ -10 ],Boost1`res_0[ 20 ],Boost1_0[ 0 ],Boost2`max_0[ 10 ],Boost2`min_0[ -10 ],Boost2`res_0[ 20 ],Boost2_0[ 0 ],Boost3`max_0[ 10 ],Boost3`min_0[ -10 ],Boost3`res_0[ 20 ],Boost3_0[ 0 ],Frequency1_0[ 1000 ],Frequency2_0[ 1000 ],FilterEnable_0[ True ],PhaseShifted_0[ False ],Slope`res_0[ 20 ],Slope_0[ 1 ],Ripple_0[ 0.1 ],Active1_0[ True ],Active2_0[ True ],LowPass1_0[ True ],LowPass2_0[ False ],AllPass1_0[ False ],AllPass2_0[ False ],ClassicEE_Filtering_0[ False ],Load_IIR_0[ False ],ShelvingType_0[ 0 ],GeneralType_0[ 0 ],BandPassType_0[ 0 ],Type_0[ 0 ],ChebyshevType_0[ 0 ],BitmapIndex_0[ 5 ],Frequency`lock_1[ False ],Gain_1[ 0 ],Q_1[ 1.41 ],Boost1`max_1[ 10 ],Boost1`min_1[ -10 ],Boost1`res_1[ 20 ],Boost1_1[ 0 ],Boost2`max_1[ 10 ],Boost2`min_1[ -10 ],Boost2`res_1[ 20 ],Boost2_1[ 0 ],Boost3`max_1[ 10 ],Boost3`min_1[ -10 ],Boost3`res_1[ 20 ],Boost3_1[ 0 ],Frequency1_1[ 1000 ],Frequency2_1[ 1000 ],FilterEnable_1[ True ],PhaseShifted_1[ False ],Slope`res_1[ 20 ],Slope_1[ 1 ],Ripple_1[ 0.1 ],Active1_1[ True ],Active2_1[ True ],LowPass1_1[ True ],LowPass2_1[ False ],AllPass1_1[ False ],AllPass2_1[ False ],ClassicEE_Filtering_1[ False ],Load_IIR_1[ False ],ShelvingType_1[ 0 ],GeneralType_1[ 0 ],BandPassType_1[ 0 ],Type_1[ 0 ],ChebyshevType_1[ 0 ],BitmapIndex_1[ 5 ],Frequency`lock_2[ False ],Gain_2[ 0 ],Q_2[ 1.41 ],Boost1`max_2[ 10 ],Boost1`min_2[ -10 ],Boost1`res_2[ 20 ],Boost1_2[ 0 ],Boost2`max_2[ 10 ],Boost2`min_2[ -10 ],Boost2`res_2[ 20 ],Boost2_2[ 0 ],Boost3`max_2[ 10 ],Boost3`min_2[ -10 ],Boost3`res_2[ 20 ],Boost3_2[ 0 ],Frequency1_2[ 1000 ],Frequency2_2[ 1000 ],FilterEnable_2[ True ],PhaseShifted_2[ False ],Slope`res_2[ 20 ],Slope_2[ 1 ],Ripple_2[ 0.1 ],Active1_2[ True ],Active2_2[ True ],LowPass1_2[ True ],LowPass2_2[ False ],AllPass1_2[ False ],AllPass2_2[ False ],ClassicEE_Filtering_2[ False ],Load_IIR_2[ False ],ShelvingType_2[ 0 ],GeneralType_2[ 0 ],BandPassType_2[ 0 ],Type_2[ 0 ],ChebyshevType_2[ 0 ],BitmapIndex_2[ 5 ],SelectedBank[ 0 ];</Description>

    I did also find a<ModuleParameter> list, with this kind of naming:

    <ModuleParameter>
    <Name>EQ1787SingleChan60BBankA0</Name>
    <Type>FixedPoint</Type>
    <Address>0xD168</Address>
    <Value>1</Value>
    <Size>4</Size>
    <Data>0x08, 0x00, 0x00, 0x00, </Data>
    </ModuleParameter>

    but trying to access via the server interface using variations on this did not succeed either. I was wondering whether you could see if you could reproduce my observations internally with the ADAU1787?

    Best regards,

    Peter