MAX1258 EV kit Listing 2 06/01/04 6
MAX1258EV listing2
InputPairConfig[3] = BIPOLAR_DIFFERENTIAL;
if (setup_bipdiff_register & MAX1258_SETUP_BIPDIF0809)
InputPairConfig[4] = BIPOLAR_DIFFERENTIAL;
if (setup_bipdiff_register & MAX1258_SETUP_BIPDIF1011)
InputPairConfig[5] = BIPOLAR_DIFFERENTIAL;
if (setup_bipdiff_register & MAX1258_SETUP_BIPDIF1213)
InputPairConfig[6] = BIPOLAR_DIFFERENTIAL;
if (setup_bipdiff_register & MAX1258_SETUP_BIPDIF1415)
InputPairConfig[7] = BIPOLAR_DIFFERENTIAL;
if (setup_unidiff_register & MAX1258_SETUP_UNIDIF0001)
InputPairConfig[0] = UNIPOLAR_DIFFERENTIAL;
if (setup_unidiff_register & MAX1258_SETUP_UNIDIF0203)
InputPairConfig[1] = UNIPOLAR_DIFFERENTIAL;
if (setup_unidiff_register & MAX1258_SETUP_UNIDIF0405)
InputPairConfig[2] = UNIPOLAR_DIFFERENTIAL;
if (setup_unidiff_register & MAX1258_SETUP_UNIDIF0607)
InputPairConfig[3] = UNIPOLAR_DIFFERENTIAL;
if (setup_unidiff_register & MAX1258_SETUP_UNIDIF0809)
InputPairConfig[4] = UNIPOLAR_DIFFERENTIAL;
if (setup_unidiff_register & MAX1258_SETUP_UNIDIF1011)
InputPairConfig[5] = UNIPOLAR_DIFFERENTIAL;
if (setup_unidiff_register & MAX1258_SETUP_UNIDIF1213)
InputPairConfig[6] = UNIPOLAR_DIFFERENTIAL;
if (setup_unidiff_register & MAX1258_SETUP_UNIDIF1415)
InputPairConfig[7] = UNIPOLAR_DIFFERENTIAL;
}
//---------------------------------------------------------------------------
void MAX1258::Update_FIFO_meaning(void)
{
int conversion_register = new_conversion_register;
for (int index = 0; index < 17; index++) {
FIFO_meaning[index] = UNDEFINED;
}
int channel_field = (conversion_register >> 3) & 0x0F;
int channel_index = channel_field;
int repeat_count = 4;
switch(averaging_register & 0xE3) {
case MAX1258_REPEAT_4: // 001xxx00 4 times
repeat_count = 4;
break;
case MAX1258_REPEAT_8: // 001xxx01 8 times
repeat_count = 8;
break;
case MAX1258_REPEAT_12: // 001xxx10 12 times
repeat_count = 12;
break;
case MAX1258_REPEAT_16: // 001xxx11 16 times
repeat_count = 16;
break;
}
MAX1258_fifo_entry_t meaning =
(MAX1258_fifo_entry_t)(UNIAIN00 + channel_field);
if (InputPairConfig[channel_field / 2] == BIPOLAR_DIFFERENTIAL) {
meaning = (MAX1258_fifo_entry_t)(BIPDIF0001 + channel_field/2);
} else if (InputPairConfig[channel_field / 2] == UNIPOLAR_DIFFERENTIAL) {
meaning = (MAX1258_fifo_entry_t)(UNIDIF0001 + channel_field/2);
}
int index = 0;
switch(conversion_register & MAX1258_ACTION_MASK) {
case MAX1258_CONV_SCAN_00_N:
meaning = UNIAIN00;
channel_index = 0;
while(channel_index <= channel_field) {
int pair_index = channel_index / 2;
if (InputPairConfig[pair_index] == BIPOLAR_DIFFERENTIAL) {