RX Family
ADC Module Using Firmware Integration Technology
R01AN1666EJ0220 Rev. 2.20
Page 41 of 74
Dec 01, 2016
ADC_CMD_EN_COMPARATOR_LEVEL,
// enable comparator for threshold compare
ADC_CMD_EN_COMPARATOR_WINDOW,
// enable comparator for range compare
// Commands to enable hardware triggers or cause software trigger
ADC_CMD_ENABLE_TRIG,
// ADCSR.TRGE=1 for sync/async triggers
ADC_CMD_SCAN_NOW,
// software trigger start scan
// Commands to poll for scan completion and comparator results
ADC_CMD_CHECK_SCAN_DONE,
// for Normal or GroupA scan
ADC_CMD_CHECK_SCAN_DONE_GROUPA,
ADC_CMD_CHECK_SCAN_DONE_GROUPB,
ADC_CMD_CHECK_CONDITION_MET,
// comparator condition
// Advanced control commands
ADC_CMD_DISABLE_TRIG,
// ADCSR.TRGE=0 for sync/async trigs
ADC_CMD_DISABLE_INT,
// interrupt disable; ADCSR.ADIE=0
ADC_CMD_ENABLE_INT,
// interrupt enable; ADCSR.ADIE=1
ADC_CMD_DISABLE_INT_GROUPB,
// interrupt disable; ADCSR.GBADIE=0
ADC_CMD_ENABLE_INT_GROUPB,
// interrupt enable; ADCSR.GBADIE=1
}
adc_cmd_t;
/* for ADC_CMD_SET_DDA_STATE_CNT */
typedef
enum
e_adc_charge
// Disconnection Detection Assist (DDA)
{
ADC_DDA_DISCHARGE =
0x00
,
ADC_DDA_PRECHARGE =
0x01
,
ADC_DDA_OFF =
0x02
,
}
adc_charge_t;
#define
ADC_DDA_STATE_CNT_MIN (
2
)
#define
ADC_DDA_STATE_CNT_MAX (
15
)
typedef
struct
st_adc_dda
{
adc_charge_t method;
uint8_t num_states;
// 2-15
}
adc_dda_t;
/* for ADC_CMD_SET_SAMPLE_STATE_CNT */
typedef
enum
e_adc_sst_reg
// sample state registers
{
ADC_SST_CH0 =
0
,
ADC_SST_CH1,
ADC_SST_CH2,
ADC_SST_CH3,
ADC_SST_CH4,
ADC_SST_CH5,
ADC_SST_CH6,
ADC_SST_CH7,
// end unit 0
ADC_SST_CH8_TO_20,
ADC_SST_TEMPERATURE,
ADC_SST_VOLTAGE,
ADC_SST_REG_MAX = ADC_SST_VOLTAGE
}
adc_sst_reg_t;
#define
ADC_SST_CNT_MIN (
5
)
#define
ADC_SST_CNT_MAX (
255
)
#define
ADC_SST_CNT_DEFAULT (
11
)