20 #include "pdb_hw_access.h"
69 #if (PDB_INSTANCE_COUNT == 1U)
71 #elif (PDB_INSTANCE_COUNT == 2U)
76 PDB_Type * base = s_pdbBase[instance];
89 PDB_ConfigTimer(base, userConfigPtr);
114 PDB_Type * base = s_pdbBase[instance];
160 PDB_Type * base = s_pdbBase[instance];
175 PDB_Type * base = s_pdbBase[instance];
191 PDB_Type * base = s_pdbBase[instance];
193 PDB_SetSoftTriggerCmd(base);
206 PDB_Type const * base = s_pdbBase[instance];
208 return PDB_GetTimerValue(base);
222 PDB_Type const * base = s_pdbBase[instance];
224 return PDB_GetTimerIntFlag(base);
237 PDB_Type * base = s_pdbBase[instance];
239 PDB_ClearTimerIntFlag(base);
252 PDB_Type * base = s_pdbBase[instance];
254 PDB_SetLoadValuesCmd(base);
265 const uint16_t value)
268 PDB_Type * base = s_pdbBase[instance];
270 PDB_SetTimerModulusValue(base, value);
281 const uint16_t value)
284 PDB_Type * base = s_pdbBase[instance];
286 PDB_SetValueForTimerInterrupt(base, value);
303 PDB_Type * base = s_pdbBase[instance];
319 const uint32_t preChnMask)
323 PDB_Type const * base = s_pdbBase[instance];
325 return PDB_GetAdcPreTriggerFlags(base, chn, preChnMask);
337 const uint32_t preChnMask)
341 PDB_Type * base = s_pdbBase[instance];
343 PDB_ClearAdcPreTriggerFlags(base, chn, preChnMask);
355 const uint32_t preChnMask)
359 PDB_Type const * base = s_pdbBase[instance];
361 return PDB_GetAdcPreTriggerSeqErrFlags(base, chn, preChnMask);
373 const uint32_t preChnMask)
377 PDB_Type * base = s_pdbBase[instance];
379 PDB_ClearAdcPreTriggerSeqErrFlags(base, chn, preChnMask);
391 const uint32_t preChn,
392 const uint32_t value)
397 PDB_Type * base = s_pdbBase[instance];
399 PDB_SetAdcPreTriggerDelayValue(base, chn, preChn, value);
410 const uint32_t pulseChnMask,
414 PDB_Type * base = s_pdbBase[instance];
416 PDB_SetCmpPulseOutEnable(base, pulseChnMask, enable);
427 const uint32_t pulseChn,
428 const uint32_t value)
432 PDB_Type * base = s_pdbBase[instance];
434 PDB_SetCmpPulseOutDelayForHigh(base, pulseChn, value);
445 const uint32_t pulseChn,
446 const uint32_t value)
450 PDB_Type * base = s_pdbBase[instance];
452 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.
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_SetTimerModulusValue(const uint32_t instance, const uint16_t value)
Sets the value of timer modulus.
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.
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.
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.
pdb_clk_prescaler_mult_factor_t clkPreMultFactor
status_t
Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all ...
IRQn_Type
Defines the Interrupt Numbers definitions.
pdb_load_value_mode_t loadValueMode
void PDB_DRV_SoftTriggerCmd(const uint32_t instance)
Triggers the PDB with a software trigger.
void PDB_DRV_SetValueForTimerInterrupt(const uint32_t instance, const uint16_t value)
Sets the value for the timer interrupt.
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]
pdb_clk_prescaler_div_t clkPreDiv
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.
pdb_trigger_src_t triggerInput
void PDB_DRV_Disable(const uint32_t instance)
Disables the PDB module.
static PDB_Type *const s_pdbBase[PDB_INSTANCE_COUNT]
void PDB_DRV_Enable(const uint32_t instance)
Enables the PDB module.
void INT_SYS_EnableIRQ(IRQn_Type irqNumber)
Enables an interrupt for a given IRQ number.
void PDB_DRV_GetDefaultConfig(pdb_timer_config_t *const config)
Gets the default configuration structure of PDB with default settings.
void PDB_DRV_Init(const uint32_t instance, const pdb_timer_config_t *const userConfigPtr)
Initializes the PDB counter and triggers input.
Defines the type of structure for configuring ADC's pre_trigger.
clock_names_t
Clock names.
bool continuousModeEnable
#define PDB_INSTANCE_COUNT