20 #include "pdb_hw_access.h"
73 PDB_Type * base = s_pdbBase[instance];
87 PDB_ConfigTimer(base, userConfigPtr);
112 PDB_Type * base = s_pdbBase[instance];
130 PDB_Type * base = s_pdbBase[instance];
132 PDB_SetSoftTriggerCmd(base);
145 PDB_Type const * base = s_pdbBase[instance];
147 return PDB_GetTimerValue(base);
161 PDB_Type const * base = s_pdbBase[instance];
163 return PDB_GetTimerIntFlag(base);
176 PDB_Type * base = s_pdbBase[instance];
178 PDB_ClearTimerIntFlag(base);
191 PDB_Type * base = s_pdbBase[instance];
193 PDB_SetLoadValuesCmd(base);
204 const uint32_t value)
207 PDB_Type * base = s_pdbBase[instance];
209 PDB_SetTimerModulusValue(base, value);
220 const uint32_t value)
223 PDB_Type * base = s_pdbBase[instance];
225 PDB_SetValueForTimerInterrupt(base, value);
242 PDB_Type * base = s_pdbBase[instance];
258 const uint32_t preChnMask)
262 PDB_Type const * base = s_pdbBase[instance];
264 return PDB_GetAdcPreTriggerFlags(base, chn, preChnMask);
276 const uint32_t preChnMask)
280 PDB_Type * base = s_pdbBase[instance];
282 PDB_ClearAdcPreTriggerFlags(base, chn, preChnMask);
294 const uint32_t preChnMask)
298 PDB_Type const * base = s_pdbBase[instance];
300 return PDB_GetAdcPreTriggerSeqErrFlags(base, chn, preChnMask);
312 const uint32_t preChnMask)
316 PDB_Type * base = s_pdbBase[instance];
318 PDB_ClearAdcPreTriggerSeqErrFlags(base, chn, preChnMask);
330 const uint32_t preChn,
331 const uint32_t value)
335 PDB_Type * base = s_pdbBase[instance];
337 PDB_SetAdcPreTriggerDelayValue(base, chn, preChn, value);
348 const uint32_t pulseChnMask,
352 PDB_Type * base = s_pdbBase[instance];
354 PDB_SetCmpPulseOutEnable(base, pulseChnMask, enable);
365 const uint32_t pulseChn,
366 const uint32_t value)
370 PDB_Type * base = s_pdbBase[instance];
372 PDB_SetCmpPulseOutDelayForHigh(base, pulseChn, value);
383 const uint32_t pulseChn,
384 const uint32_t value)
388 PDB_Type * base = s_pdbBase[instance];
390 PDB_SetCmpPulseOutDelayForLow(base, pulseChn, value);
void PDB_DRV_ClearTimerIntFlag(const uint32_t instance)
Clears the interrupt flag.
void PDB_DRV_SetCmpPulseOutEnable(const uint32_t instance, const uint32_t pulseChnMask, const bool enable)
Switches on/off the CMP pulse out in the PDB module.
void PDB_DRV_SetAdcPreTriggerDelayValue(const uint32_t instance, const uint32_t chn, const uint32_t preChn, const uint32_t value)
Sets the ADC pre_trigger delay value in the PDB module.
void PDB_DRV_SetTimerModulusValue(const uint32_t instance, const uint32_t value)
Sets the value of timer modulus.
uint32_t adcPreTriggerIdx
bool preTriggerOutputEnable
void PDB_DRV_ConfigAdcPreTrigger(const uint32_t instance, const uint32_t chn, const pdb_adc_pretrigger_config_t *configPtr)
Configures the ADC pre_trigger in the PDB module.
void PDB_DRV_SetValueForTimerInterrupt(const uint32_t instance, const uint32_t value)
Sets the value for the timer interrupt.
uint32_t PDB_DRV_GetAdcPreTriggerSeqErrFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask)
Gets the ADC pre_trigger flag in the PDB module.
uint32_t PDB_DRV_GetAdcPreTriggerFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask)
Gets the ADC pre_trigger flag in the PDB module.
bool preTriggerBackToBackEnable
Defines the type of structure for basic timer in PDB.
bool PDB_DRV_GetTimerIntFlag(const uint32_t instance)
Gets the PDB interrupt flag.
void INT_SYS_DisableIRQ(IRQn_Type irqNumber)
Disables an interrupt for a given IRQ number.
#define FEATURE_PDB_PODLY_COUNT
uint32_t PDB_DRV_GetTimerValue(const uint32_t instance)
Gets the current counter value in the PDB module.
void PDB_DRV_SetCmpPulseOutDelayForLow(const uint32_t instance, const uint32_t pulseChn, const uint32_t value)
Sets the CMP pulse out delay value for low in the PDB module.
clock_names_t
Clock names.
void PDB_DRV_ClearAdcPreTriggerSeqErrFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask)
Clears the ADC pre_trigger flag in the PDB module.
status_t CLOCK_SYS_GetFreq(clock_names_t clockName, uint32_t *frequency)
Gets the clock frequency for a specific clock name.
void PDB_DRV_ClearAdcPreTriggerFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask)
Clears the ADC pre_trigger flag in the PDB module.
status_t
Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all ...
void PDB_DRV_SoftTriggerCmd(const uint32_t instance)
Triggers the PDB with a software trigger.
void PDB_DRV_LoadValuesCmd(const uint32_t instance)
Executes the command of loading values.
void PDB_DRV_Deinit(const uint32_t instance)
De-initializes the PDB module.
static const IRQn_Type s_pdbIrqId[PDB_INSTANCE_COUNT]
void PDB_DRV_SetCmpPulseOutDelayForHigh(const uint32_t instance, const uint32_t pulseChn, const uint32_t value)
Sets the CMP pulse out delay value for high in the PDB module.
static PDB_Type *const s_pdbBase[PDB_INSTANCE_COUNT]
void INT_SYS_EnableIRQ(IRQn_Type irqNumber)
Enables an interrupt for a given IRQ number.
void PDB_DRV_Init(const uint32_t instance, const pdb_timer_config_t *const userConfigPtr)
Initializes the PDB counter and triggers input.
#define FEATURE_PDB_ADC_CHANNEL_COUNT
Defines the type of structure for configuring ADC's pre_trigger.
#define PDB_INSTANCE_COUNT
IRQn_Type
Defines the Interrupt Numbers definitions.