RX Family ADC Module Using Firmware Integration Technology
R01AN1666EJ0220 Rev. 2.20 Page 49 of 74
Dec 01, 2016
ADC_COND_END_ENUM
} adc_comp_cond_t;
/* Window B Channel select */
#define ADC_COMP_WINB_CH0 (0)
#define ADC_COMP_WINB_CH1 (1)
#define ADC_COMP_WINB_CH2 (2)
#define ADC_COMP_WINB_CH3 (3)
#define ADC_COMP_WINB_CH4 (4)
#define ADC_COMP_WINB_CH5 (5)
#define ADC_COMP_WINB_CH6 (6)
#define ADC_COMP_WINB_CH7 (7)
#define ADC_COMP_WINB_CH8 (8)
#define ADC_COMP_WINB_CH9 (9)
#define ADC_COMP_WINB_CH10 (10)
#define ADC_COMP_WINB_CH11 (11)
#define ADC_COMP_WINB_CH12 (12)
#define ADC_COMP_WINB_CH13 (13)
#define ADC_COMP_WINB_CH14 (14)
#define ADC_COMP_WINB_CH15 (15)
#define ADC_COMP_WINB_CH16 (16)
#define ADC_COMP_WINB_CH17 (17)
#define ADC_COMP_WINB_CH18 (18)
#define ADC_COMP_WINB_CH19 (19)
#define ADC_COMP_WINB_CH20 (20)
#define ADC_COMP_WINB_TEMP (32)
#define ADC_COMP_WINB_VOLT (33)
/* Window B Comparison condition select */
#define ADC_COMP_WINB_COND_BELOW (0)
#define ADC_COMP_WINB_COND_ABOVE (1)
/* for ADC_CMD_EN_COMPARATOR_LEVEL and ADC_CMD_EN_COMPARATOR_WINDOW */
typedef struct st_adc_cmpwin_cfg // Window A bit-OR ADC_MASK_xxx to
{ // indicate channels/sensors
// Window B ADC_COMP_WINB_xxx to
// indicate channels/sensors
uint32_t compare_mask; // channels/sensors to compare
uint32_t compare_maskb; // channels/sensors to compareb
uint32_t inside_window_mask; // condition met when within range
// default=0 met when outside range
uint32_t inside_window_maskb;// condition met when within range
// default=0 met when outside range
uint16_t level_lo;
uint16_t level_lob;
uint16_t level_hi;
uint16_t level_hib;
adc_comp_cond_t comp_cond; // window A/B complex conditions setting
uint8_t int_priority; // S12CMPAI and S12CMPBI priority level
// 1=low 15=hi 0=polled
bool windowa_enable; // comparison window A enable
bool windowb_enable; // comparison window B enable
} adc_cmpwin_t;
/***** ADC_READ() ARGUMENT DEFINITIONS *****/
typedef enum e_adc_reg
{