Index: firmware/App/Drivers/InternalADC.c =================================================================== diff -u -red39129abdca4ec343369d83494530b23621e052 -r4671ebebf1334c098a4725320be54f0b94eff7bc --- firmware/App/Drivers/InternalADC.c (.../InternalADC.c) (revision ed39129abdca4ec343369d83494530b23621e052) +++ firmware/App/Drivers/InternalADC.c (.../InternalADC.c) (revision 4671ebebf1334c098a4725320be54f0b94eff7bc) @@ -30,50 +30,52 @@ #define SIZE_OF_ROLLING_AVG 16 ///< Number of DD internal ADC samples in rolling average calculations for each channel. #define ROLLING_AVG_SHIFT_DIVIDER 4 ///< Rolling average shift divider for DD internal ADC readings. -/// ADC channel number to ADC channel ID (enumeration) look-up table. -const INT_ADC_CHANNEL_T adcChannelNum2ChannelId[ MAX_ADC_CHANNELS ] = +/// Mapping from enumerated used ADC channel to processor channel ID. +const INT_ADC_CHANNEL_T ADC_CHANNEL_NUM_TO_CHANNEL_ID[ MAX_ADC_CHANNELS ] = { - INT_ADC_NOT_USED, // 0 - INT_ADC_NOT_USED, // 1 - TD specific - INT_ADC_3_3V_SENSOR_ADC_REF, // 2 - INT_ADC_24V_ACTUATORS_REG, // 3 - INT_ADC_1_2V_PROCESSOR, // 4 - INT_ADC_5V_SENSORS, // 5 - INT_ADC_NOT_USED, // 6 - INT_ADC_NOT_USED, // 7 - INT_ADC_NOT_USED, // 8 - TD specific - INT_ADC_NOT_USED, // 9 - INT_ADC_BOARD_THERMISTOR, // 10 - INT_ADC_1_25_FPGA_ADC_REF, // 11 - INT_ADC_3_3V, // 12 - INT_ADC_5V_LOGIC, // 13 - INT_ADC_NOT_USED, // 14 - TD specific - INT_ADC_NOT_USED, // 15 - INT_ADC_NOT_USED, // 16 - INT_ADC_NOT_USED, // 17 - INT_ADC_BACKUP_V, // 18 - INT_ADC_NOT_USED, // 19 - INT_ADC_NOT_USED, // 20 - INT_ADC_NOT_USED, // 21 - INT_ADC_24V_ACTUATORS, // 22 - INT_ADC_NOT_USED // 23 + INT_ADC_24V_ACTUATORS_1, // 0 + INT_ADC_NOT_USED, // 1 + INT_ADC_1_8V_FPGA, // 2 + INT_ADC_1V_FPGA, // 3 + INT_ADC_1_2V_PROCESSOR, // 4 + INT_ADC_NOT_USED, // 5 + INT_ADC_NOT_USED, // 6 + INT_ADC_24V_ACTUATORS_2, // 7 + INT_ADC_PRIMARY_ALARM_CURRENT_HG, // 8 + INT_ADC_NOT_USED, // 9 + INT_ADC_BOARD_THERMISTOR, // 10 + INT_ADC_1_8V_XADC, // 11 + INT_ADC_3_3V, // 12 + INT_ADC_5V_LOGIC, // 13 + INT_ADC_PRIMARY_ALARM_CURRENT_LG, // 14 + INT_ADC_NOT_USED, // 15 + INT_ADC_NOT_USED, // 16 + INT_ADC_NOT_USED, // 17 + INT_ADC_BACKUP_V, // 18 + INT_ADC_ADC_REF, // 19 + INT_ADC_NOT_USED, // 20 + INT_ADC_NOT_USED, // 21 + INT_ADC_NOT_USED, // 22 + INT_ADC_NOT_USED // 23 }; -/// ADC channel read to units look-up table. const F32 ADC_CHANNEL_READ_TO_UNITS[ NUM_OF_INT_ADC_CHANNELS ] = { - 0.0, // - INT_ADC_NOT_USED - 0.001465, // V - INT_ADC_3_3V_SENSOR_ADC_REF - 0.009420, // V - INT_ADC_24V_ACTUATORS_REG - 0.000733, // V - INT_ADC_1_2V_PROCESSOR - 0.001465, // V - INT_ADC_5V_SENSORS - 0.001221, // V - INT_ADC_BOARD_THERMISTOR - 0.000733, // V - INT_ADC_1_25_FPGA_ADC_REF - 0.001465, // V - INT_ADC_3_3V - 0.001465, // V - INT_ADC_5V_LOGIC - 0.007106, // V - INT_ADC_24V_ACTUATORS - 0.007106, // V - INT_ADC_BACKUP_V - 0.000000, // V - INT_ADC_DUMMY + 0.000000, // - Not used + 0.014650, // mA - Internal ADC channel for primary alarm audio current high gain + 0.073240, // mA - Internal ADC channel for primary alarm audio current low gain + 0.001465, // V - Internal ADC channel for 5V to logic + 0.001465, // V - Internal ADC channel for 3.3V + 0.000733, // V - Internal ADC channel for 1.2V to processor + 0.000733, // V - Internal ADC channel for 1.8V external ADC + 0.000733, // V - Internal ADC channel for 1.0V FPGA + 0.000733, // V - Internal ADC channel for 1.8V FPGA + 0.001221, // V - Internal ADC channel for PCB temperature + 0.001465, // V - Internal ADC channel for ADC reference voltage + 0.009420, // V - Internal ADC channel for VBackup + 0.007106, // V - Internal ADC channel for 24V to actuators (1) + 0.007106, // V - Internal ADC channel for 24V to actuators (2) + 0.000000, // - Not used }; // ********** private data ********** @@ -155,7 +157,7 @@ { if ( adcRawReadings[ i ].id < NUM_OF_INT_ADC_CHANNELS ) { - U32 ch = adcChannelNum2ChannelId[ adcRawReadings[ i ].id ]; + U32 ch = ADC_CHANNEL_NUM_TO_CHANNEL_ID[ adcRawReadings[ i ].id ]; adcReadingsTotals[ ch ] -= adcReadings[ ch ][ adcReadingsIdx[ ch ] ]; adcReadings[ ch ][ adcReadingsIdx[ ch ] ] = adcRawReadings[i].value;