AnsweredAssumed Answered

ADAU1451 and SIGMASTUDIOTYPE_8_24

Question asked by emcnicholas on Mar 28, 2017
Latest reply on Mar 20, 2018 by antala

I am working on a linux driver to interface with a ADAU1451 that is running a program developed in sigma studio.  I have exported the header files and am able to interact with the device over spi but I find the SigmaStudioFW.h quite lacking.  The generated files have SIGMASTUDIOTYPE_8_24  as the type for most parameters but it is not listed in the SigmaStudioFW.h there is also not a macro for the conversion or a description of the conversion in the file.  I have a very large parameter fine with most parameters being SIGMASTUDIOTYPE_8_24 and using a conversion SIGMASTUDIOTYPE_8_24_CONVERT(x).  The parameters being input appear to be floating point numbers but as there is no definition this is hard to derive the proper operations.  The value in the below example appears to be -10db which matches the value in sigma studio.  I assume that the value is 2 words as the register size as 8.24 is a 32bit number but the addresses go in increments of one and a typical register in the device is 16bit so this this a bit off.  Any help would be appreciated and documentation and accompanying code needs to be added to sigma studio.

 

/* Module Channel 1 Volume_3 - Single Volume*/
#define MOD_CHANNEL1VOLUME_3_COUNT                     2
#define MOD_CHANNEL1VOLUME_3_DEVICE                    "IC1"
#define MOD_CHANNEL1VOLUME_3_ALG0_TARGET_ADDR          757
#define MOD_CHANNEL1VOLUME_3_ALG0_TARGET_VALUE         SIGMASTUDIOTYPE_8_24_CONVERT(0.316227766016838)
#define MOD_CHANNEL1VOLUME_3_ALG0_TARGET_TYPE          SIGMASTUDIOTYPE_8_24
#define MOD_CHANNEL1VOLUME_3_ALG0_SLEW_MODE_ADDR       758
#define MOD_CHANNEL1VOLUME_3_ALG0_SLEW_MODE_FIXPT      0x0000208A
#define MOD_CHANNEL1VOLUME_3_ALG0_SLEW_MODE_VALUE      SIGMASTUDIOTYPE_INTEGER_CONVERT(8330)
#define MOD_CHANNEL1VOLUME_3_ALG0_SLEW_MODE_TYPE       SIGMASTUDIOTYPE_INTEGER

Outcomes