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
{