ADAU146x readback question

Hi ,

I'm working on reading peek audio values from ADAU1467 audio inputs over I2C from readback block addresses in sigmaStudio.

I'm reading in 4bytes of data from each block ( incrementing readback block address by 1 for each channel )

i'm trying to make a value from the 4 bytes then cast to uint8_t peek audio values for simple meters in an application.

// uint32_t value from 4 bytes received
uint32_t temp = (meterDataRX[0] << 24) | (meterDataRX[1] << 16) | (meterDataRX[2] << 8) | meterDataRX[3];

// cast uint32_t meter value to uint8_t ,  +3 into array to avoid header
gainMeterValues[loop+3] = (uint8_t)temp;

I  have tried hex and DbI settings on readback but don't seam to get values that correspond with peek audio values on the inputs.

Am I approaching this in the wrong way for AUAU1467? am i assembling the 4 bytes incorrectly  ? should i be ignoring bits 24 -> 32 in that case? 

can anyone explain what HEX switch does. Also can I just set the readback to 8bits and read one byte per channel at a time?

if I set to 8.24 format , am i just reading the sample value in 8.24 format every 100ms ?

i set continuous mode 100ms on each of the 8 channels