54 #include "cmp_hw_access.h"
73 CMP_Type* baseAddr = g_cmpBase[instance];
113 (config->
dac).state =
false;
115 (config->
dac).voltage = 0U;
118 (config->
mux).negativeInputMux = 0U;
119 (config->
mux).positiveInputMux = 0U;
121 (config->
triggerMode).roundRobinInterruptState =
false;
125 (config->
triggerMode).roundRobinChannelsState = 0U;
142 CMP_Type* base = g_cmpBase[instance];
143 CMP_SetDMATriggerState(base, (config->
comparator).dmaTriggerState );
144 CMP_SetOutputInterruptTrigger(base, (config->
comparator).outputInterruptTrigger);
146 CMP_SetPowerMode(base, (config->
comparator).powerMode);
147 CMP_SetInverterState(base, (config->
comparator).inverterState);
148 CMP_SetComparatorOutputSource(base, (config->
comparator).outputSelect);
149 CMP_SetOutputPinState(base, (config->
comparator).pinState);
150 CMP_SetHysteresis(base, (config->
comparator).hysteresisLevel);
151 CMP_SetOffset(base, (config->
comparator).offsetLevel);
152 CMP_SetDACState(base, (config->
dac).state);
153 CMP_SetVoltageReference(base, (config->
dac).voltageReferenceSource);
154 CMP_SetVoltage(base, (config->
dac).voltage);
155 CMP_SetNegativePortInput(base, (config->
mux).negativePortMux);
156 CMP_SetPositivePortInput(base, (config->
mux).positivePortMux);
157 CMP_SetMinusMUXControl(base, (config->
mux).negativeInputMux);
158 CMP_SetPlusMuxControl(base, (config->
mux).positiveInputMux);
159 CMP_SetFixedPort(base, (config->
triggerMode).fixedPort);
160 CMP_SetFixedChannel(base, (config->
triggerMode).fixedChannel);
161 CMP_SetRoundRobinSamplesNumber(base, (config->
triggerMode).samples);
162 CMP_SetInitDelay(base, (config->
triggerMode).initializationDelay);
163 CMP_SetRoundRobinChannels(base, (config->
triggerMode).roundRobinChannelsState);
164 CMP_SetPresetState(base, (config->
triggerMode).programedState);
165 CMP_SetRoundRobinInterruptState(base, (config->
triggerMode).roundRobinInterruptState);
166 CMP_SetRoundRobinState(base, (config->
triggerMode).roundRobinState);
185 const CMP_Type* base = g_cmpBase[instance];
186 (config->
comparator).dmaTriggerState = CMP_GetDMATriggerState(base);
187 (config->
comparator).outputInterruptTrigger = CMP_GetOutputInterruptTrigger(base);
188 (config->
comparator).mode = CMP_GetFunctionalMode(base);
189 (config->
comparator).filterSampleCount = CMP_GetFilterSampleCount(base);
190 (config->
comparator).filterSamplePeriod = CMP_GetFilterSamplePeriod(base);
191 (config->
comparator).powerMode = CMP_GetPowerMode(base);
192 (config->
comparator).inverterState = CMP_GetInverterState(base);
193 (config->
comparator).outputSelect = CMP_GetComparatorOutputSource(base);
194 (config->
comparator).pinState = CMP_GetOutputPinState(base);
195 (config->
comparator).offsetLevel = CMP_GetOffset(base);
196 (config->
comparator).hysteresisLevel = CMP_GetHysteresis(base);
197 (config->
dac).state = CMP_GetDACState(base);
198 (config->
dac).voltageReferenceSource = CMP_GetVoltageReference(base);
199 (config->
dac).voltage = CMP_GetVoltage(base);
200 (config->
mux).negativePortMux = CMP_GetNegativePortInput(base);
201 (config->
mux).positivePortMux = CMP_GetPositivePortInput(base);
202 (config->
mux).negativeInputMux = CMP_GetMinusMUXControl(base);
203 (config->
mux).positiveInputMux = CMP_GetPlusMUXControl(base);
204 (config->
triggerMode).roundRobinState = CMP_GetRoundRobinState(base);
205 (config->
triggerMode).roundRobinInterruptState = CMP_GetRoundRobinInterruptState(base);
206 (config->
triggerMode).fixedPort = CMP_GetFixedPort(base);
207 (config->
triggerMode).fixedChannel = CMP_GetFixedChannel(base);
208 (config->
triggerMode).samples = CMP_GetRoundRobinSamplesNumber(base);
209 (config->
triggerMode).roundRobinChannelsState = CMP_GetRoundRobinChannels(base);
210 (config->
triggerMode).programedState = CMP_GetLastComparisonResult(base);
211 (config->
triggerMode).initializationDelay = CMP_GetInitDelay(base);
226 config->
state =
false;
243 CMP_Type* base = g_cmpBase[instance];
244 CMP_SetDACState(base, config->
state);
246 CMP_SetVoltage(base, config->
voltage);
261 const CMP_Type* base = g_cmpBase[instance];
262 config->
state = CMP_GetDACState(base);
264 config->
voltage = CMP_GetVoltage(base);
298 CMP_Type* base = g_cmpBase[instance];
318 const CMP_Type* base = g_cmpBase[instance];
359 CMP_Type* base = g_cmpBase[instance];
362 CMP_SetFixedPort(base, config->
fixedPort);
364 CMP_SetRoundRobinSamplesNumber(base, config->
samples);
382 const CMP_Type* base = g_cmpBase[instance];
385 config->
fixedPort = CMP_GetFixedPort(base);
387 config->
samples = CMP_GetRoundRobinSamplesNumber(base);
405 const CMP_Type* baseAddr = g_cmpBase[instance];
408 *flags = (
cmp_output_trigger_t) (((uint32_t)rising_enabled << (uint32_t)1U) | ((uint32_t)falling_enabled));
422 CMP_Type* baseAddr = g_cmpBase[instance];
424 uint32_t tmp = baseAddr->
C0;
450 const CMP_Type* baseAddr = g_cmpBase[instance];
452 uint32_t tmp = baseAddr->
C2;
467 CMP_Type* baseAddr = g_cmpBase[instance];
469 uint32_t tmp = baseAddr->
C2;
515 CMP_Type* base = g_cmpBase[instance];
521 CMP_SetPowerMode(base, config->
powerMode);
523 CMP_SetComparatorOutputSource(base, config->
outputSelect);
524 CMP_SetOutputPinState(base, config->
pinState);
541 const CMP_Type* base = g_cmpBase[instance];
544 config->
mode = CMP_GetFunctionalMode(base);
547 config->
powerMode = CMP_GetPowerMode(base);
549 config->
outputSelect = CMP_GetComparatorOutputSource(base);
550 config->
pinState = CMP_GetOutputPinState(base);
status_t CMP_DRV_GetComparatorConfig(const uint32_t instance, cmp_comparator_t *config)
Return configuration for comparator from CMP module.
cmp_ch_number_t fixedChannel
#define CMP_C0_FILTER_CNT(x)
uint8_t initializationDelay
cmp_fixed_port_t fixedPort
status_t CMP_DRV_GetDACConfig(const uint32_t instance, cmp_dac_t *const config)
Return current configuration for DAC.
status_t CMP_DRV_ConfigTriggerMode(const uint32_t instance, const cmp_trigger_mode_t *config)
Configure trigger mode.
cmp_ch_number_t positiveInputMux
status_t CMP_DRV_GetInitTriggerMode(cmp_trigger_mode_t *config)
Get reset configuration for registers related with Trigger Mode.
static CMP_Type *const g_cmpBase[]
status_t CMP_DRV_ConfigDAC(const uint32_t instance, const cmp_dac_t *config)
Configure only the DAC component.
status_t CMP_DRV_GetInitConfigComparator(cmp_comparator_t *config)
Get reset configuration for registers related with comparator features.
status_t CMP_DRV_GetTriggerModeConfig(const uint32_t instance, cmp_trigger_mode_t *const config)
Get current trigger mode configuration.
bool roundRobinInterruptState
Defines the trigger mode.
status_t CMP_DRV_ClearInputFlags(const uint32_t instance)
Clear comparator input channels flags.
#define CMP_INPUT_FLAGS_MASK
status_t CMP_DRV_GetOutputFlags(const uint32_t instance, cmp_output_trigger_t *flags)
Get comparator output flags.
status_t CMP_DRV_GetConfigAll(const uint32_t instance, cmp_module_t *const config)
Gets the current comparator configuration.
cmp_ch_list_t roundRobinChannelsState
cmp_output_trigger_t
Comparator output interrupt configuration Implements : cmp_output_trigger_t_Class.
uint8_t filterSamplePeriod
Defines the comparator module configuration.
#define CMP_C0_HYSTCTR(x)
status_t CMP_DRV_ConfigMUX(const uint32_t instance, const cmp_anmux_t *config)
Configure only the MUX component.
status_t CMP_DRV_GetInitConfigMUX(cmp_anmux_t *config)
Get reset configuration for registers related with MUX.
status_t CMP_DRV_GetInputFlags(const uint32_t instance, cmp_ch_list_t *flags)
Gets input channels change flags.
cmp_voltage_reference_t voltageReferenceSource
status_t CMP_DRV_ConfigComparator(const uint32_t instance, const cmp_comparator_t *config)
Configure only comparator features.
status_t
Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all ...
status_t CMP_DRV_Reset(const uint32_t instance)
Reset all registers.
cmp_output_enable_t pinState
status_t CMP_DRV_GetInitConfigAll(cmp_module_t *config)
Get reset configuration for all registers.
status_t CMP_DRV_Init(const uint32_t instance, const cmp_module_t *const config)
Configure all comparator features with the given configuration structure.
cmp_ch_number_t negativeInputMux
cmp_port_mux_t positivePortMux
#define CMP_INSTANCE_COUNT
uint8_t cmp_ch_list_t
Comparator channels list (1bit/channel) |------—|------—|--—|------—|------—| |CH7_state|CH6_sta...
cmp_comparator_t comparator
cmp_output_select_t outputSelect
#define CMP_C2_INITMOD(x)
status_t CMP_DRV_GetInitConfigDAC(cmp_dac_t *config)
Get reset configuration for registers related with DAC.
Defines the block configuration.
cmp_hysteresis_t hysteresisLevel
status_t CMP_DRV_ClearOutputFlags(const uint32_t instance)
Clear comparator output flags.
uint8_t filterSampleCount
#define CMP_INPUT_FLAGS_SHIFT
cmp_trigger_mode_t triggerMode
cmp_output_trigger_t outputInterruptTrigger
status_t CMP_DRV_GetMUXConfig(const uint32_t instance, cmp_anmux_t *const config)
Return configuration only for the MUX component.
cmp_ch_list_t programedState
cmp_power_mode_t powerMode
cmp_inverter_t inverterState
cmp_port_mux_t negativePortMux