AnsweredAssumed Answered

SigmaStudio  3.14 exporting incorrect data

Question asked by timb_arcam on Sep 14, 2017
Latest reply on Sep 14, 2017 by AnneM

I have an ADAU1451 application loaded into SigmaSudio 3.14.

I want to create some capture data.

In the capture window, I collect some data from adjusting a volume control e.g:-

Block Write
Time: 11:46:16 - 252ms
IC: IC 1
Cell Name: Single 1
Param Name: GainAlgNS145X1gain
Param Address: 0x0000
Param Value: 0.06309574842453
Bytes: 4
Param Data:
0x00, 0x10, 0x27, 0x0B

 

When the data is exported, the modes.h file contains:

 

ADI_REG_TYPE TEST_0[4] = {0x00, 0x16, 0xD0, 0xE7};
ADI_REG_TYPE TEST_1[4] = {0x00, 0x12, 0x1F, 0x98};
ADI_REG_TYPE TEST_2[4] = {0x00, 0x10, 0x27, 0x0B};
ADI_REG_TYPE TEST_3[4] = {0x00, 0x0C, 0xD4, 0x95};
ADI_REG_TYPE TEST_4[4] = {0x00, 0x0A, 0x31, 0x09};
ADI_REG_TYPE TEST_5[4] = {0x00, 0x09, 0x15, 0x4E};
ADI_REG_TYPE TEST_6[4] = {0x00, 0x08, 0x18, 0x6E};
ADI_REG_TYPE TEST_7[4] = {0x00, 0x06, 0x6E, 0x31};
ADI_REG_TYPE TEST_8[4] = {0x00, 0x07, 0x37, 0x0E};
ADI_REG_TYPE TEST_9[4] = {0x00, 0x09, 0x15, 0x4E};
ADI_REG_TYPE TEST_10[4] = {0x00, 0x0A, 0x31, 0x09};
ADI_REG_TYPE TEST_11[4] = {0x00, 0x0B, 0x6F, 0x63};
ADI_REG_TYPE TEST_12[4] = {0x00, 0x0C, 0xD4, 0x95};
ADI_REG_TYPE TEST_13[4] = {0x00, 0x0E, 0x65, 0x5C};

 

void TEST_download(){
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_0); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_1); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_2); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_3); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_4); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_5); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_6); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_7); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_8); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_9); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_10); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_11); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_12); /* GainAlgNS145X1gain */
SIGMA_WRITE_REGISTER_BLOCK( DEVICE_ADDR_, 0x0000, 6, TEST_13); /* GainAlgNS145X1gain */
}

 

Note that the write register commands specify a data length of 6 when only 4 bytes are present.

Outcomes