RX Family ADC Module Using Firmware Integration Technology
R01AN1666EJ0220 Rev. 2.20 Page 45 of 74
Dec 01, 2016
{
ADC_ALIGN_RIGHT = 0x0000,
ADC_ALIGN_LEFT = 0x8000
} adc_align_t;
typedef enum e_adc_add
{
ADC_ADD_OFF = 0, // addition is turned off for chans/sensors
ADC_ADD_TWO_SAMPLES = 1,
ADC_ADD_THREE_SAMPLES = 2,
ADC_ADD_FOUR_SAMPLES = 3,
ADC_ADD_SIXTEEN_SAMPLES = 5,
ADC_ADD_AVG_2_SAMPLES = 0x81, // average 2 samples
ADC_ADD_AVG_4_SAMPLES = 0x83, // average 4 samples
} adc_add_t;
typedef enum e_adc_clear
{
ADC_CLEAR_AFTER_READ_OFF = 0x0000,
ADC_CLEAR_AFTER_READ_ON = 0x0020
} adc_clear_t;
typedef enum e_adc_trig // trigger sources
{
ADC_TRIG_NONE = 0x3F,
// External
ADC_TRIG_ASYNC_ADTRG = 0, // ext asynchronous trig; not for Group modes
// nor double trigger modes
// MTU
ADC_TRIG_SYNC_TRG0AN = 1,
ADC_TRIG_SYNC_TRG1AN = 2,
ADC_TRIG_SYNC_TRG2AN = 3,
ADC_TRIG_SYNC_TRG3AN = 4,
ADC_TRIG_SYNC_TRG4AN_OR_UDF4N = 5,
ADC_TRIG_SYNC_TRG6AN = 6,
ADC_TRIG_SYNC_TRG7AN_OR_UDF7N = 7,
ADC_TRIG_SYNC_TRG0EN = 8,
ADC_TRIG_SYNC_TRG4AN = 9,
ADC_TRIG_SYNC_TRG4BN = 10,
ADC_TRIG_SYNC_TRG4AN_OR_TRG4BN = 11, // either event causes a trigger
ADC_TRIG_SYNC_TRG4AN_AND_TRG4BN = 12,
ADC_TRIG_SYNC_TRG7AN = 13,
ADC_TRIG_SYNC_TRG7BN = 14,
ADC_TRIG_SYNC_TRG7AN_OR_TRG7BN = 15, // either event causes a trigger
ADC_TRIG_SYNC_TRG7AN_AND_TRG7BN = 16,
// TMR
ADC_TRIG_SYNC_TMRTRG0AN = 29,
ADC_TRIG_SYNC_TMRTRG2AN = 30,
// TPU
ADC_TRIG_SYNC_TPUTRG0AN = 31,
ADC_TRIG_SYNC_TPUTRGAN = 32,
// ELC
ADC_TRIG_SYNC_ELC = 48,
ADC_TRIG_HW_MAX,
ADC_TRIG_SOFTWARE = 64 // software trigger; not for Group modes
// nor double trigger modes
} adc_trig_t;
typedef struct st_adc_cfg