Programmable Delay Block Hardware Abstraction Layer.
This HAL provides low-level access to all hardware features of the PDB.
|
enum | pdb_load_value_mode_t { PDB_LOAD_VAL_IMMEDIATELY = 0U,
PDB_LOAD_VAL_AT_MODULO_COUNTER = 1U,
PDB_LOAD_VAL_AT_NEXT_TRIGGER = 2U,
PDB_LOAD_VAL_AT_MODULO_COUNTER_OR_NEXT_TRIGGER = 3U
} |
| Defines the type of value load mode for the PDB module. More...
|
|
enum | pdb_clk_prescaler_div_t {
PDB_CLK_PREDIV_BY_1 = 0U,
PDB_CLK_PREDIV_BY_2 = 1U,
PDB_CLK_PREDIV_BY_4 = 2U,
PDB_CLK_PREDIV_BY_8 = 3U,
PDB_CLK_PREDIV_BY_16 = 4U,
PDB_CLK_PREDIV_BY_32 = 5U,
PDB_CLK_PREDIV_BY_64 = 6U,
PDB_CLK_PREDIV_BY_128 = 7U
} |
| Defines the type of prescaler divider for the PDB counter clock. Implements : pdb_clk_prescaler_div_t_Class. More...
|
|
enum | pdb_trigger_src_t {
PDB_TRIGGER_0 = 0U,
PDB_TRIGGER_1 = 1U,
PDB_TRIGGER_2 = 2U,
PDB_TRIGGER_3 = 3U,
PDB_TRIGGER_4 = 4U,
PDB_TRIGGER_5 = 5U,
PDB_TRIGGER_6 = 6U,
PDB_TRIGGER_7 = 7U,
PDB_TRIGGER_8 = 8U,
PDB_TRIGGER_9 = 9U,
PDB_TRIGGER_10 = 10U,
PDB_TRIGGER_11 = 11U,
PDB_TRIGGER_12 = 12U,
PDB_TRIGGER_13 = 13U,
PDB_TRIGGER_14 = 14U,
PDB_SOFTWARE_TRIGGER = 15U
} |
| Defines the type of trigger source mode for the PDB. More...
|
|
enum | pdb_clk_prescaler_mult_factor_t { PDB_CLK_PREMULT_FACT_AS_1 = 0U,
PDB_CLK_PREMULT_FACT_AS_10 = 1U,
PDB_CLK_PREMULT_FACT_AS_20 = 2U,
PDB_CLK_PREMULT_FACT_AS_40 = 3U
} |
| Defines the type of the multiplication source mode for PDB. More...
|
|
|
void | PDB_HAL_Init (PDB_Type *const base) |
| Resets the PDB registers to a known state. More...
|
|
void | PDB_HAL_ConfigTimer (PDB_Type *const base, const pdb_timer_config_t *const configPtr) |
| Configure the PDB timer. More...
|
|
static void | PDB_HAL_SetSoftTriggerCmd (PDB_Type *const base) |
| Triggers the PDB by software if enabled. More...
|
|
static void | PDB_HAL_Enable (PDB_Type *const base) |
| Switches on to enable the PDB module. More...
|
|
static void | PDB_HAL_Disable (PDB_Type *const base) |
| Switches to disable the PDB module. More...
|
|
static bool | PDB_HAL_GetTimerIntFlag (PDB_Type const *const base) |
| Gets the PDB delay interrupt flag. More...
|
|
static void | PDB_HAL_ClearTimerIntFlag (PDB_Type *const base) |
| Clears the PDB delay interrupt flag. More...
|
|
static void | PDB_HAL_SetLoadValuesCmd (PDB_Type *const base) |
| Loads the delay registers value for the PDB module. More...
|
|
static void | PDB_HAL_SetTimerModulusValue (PDB_Type *const base, uint32_t value) |
| Sets the modulus value for the PDB module. More...
|
|
static uint32_t | PDB_HAL_GetTimerValue (PDB_Type const *const base) |
| Gets the PDB counter value of PDB timer. More...
|
|
static void | PDB_HAL_SetValueForTimerInterrupt (PDB_Type *const base, uint32_t value) |
| Sets the interrupt delay milestone of the PDB counter. More...
|
|
void | PDB_HAL_SetAdcPreTriggerBackToBackEnable (PDB_Type *const base, uint32_t chn, uint32_t preChnMask, bool enable) |
| Switches to enable the pre-trigger back-to-back mode. More...
|
|
void | PDB_HAL_SetAdcPreTriggerOutputEnable (PDB_Type *const base, uint32_t chn, uint32_t preChnMask, bool enable) |
| Switches to enable the pre-trigger output. More...
|
|
void | PDB_HAL_SetAdcPreTriggerEnable (PDB_Type *const base, uint32_t chn, uint32_t preChnMask, bool enable) |
| Switches to enable the pre-trigger. More...
|
|
static uint32_t | PDB_HAL_GetAdcPreTriggerFlags (PDB_Type const *const base, uint32_t chn, uint32_t preChnMask) |
| Gets the flag which indicates whether the PDB counter has reached the pre-trigger delay value. More...
|
|
void | PDB_HAL_ClearAdcPreTriggerFlags (PDB_Type *const base, uint32_t chn, uint32_t preChnMask) |
| Clears the flag which indicates that the PDB counter has reached the pre-trigger delay value. More...
|
|
static uint32_t | PDB_HAL_GetAdcPreTriggerSeqErrFlags (PDB_Type const *const base, uint32_t chn, uint32_t preChnMask) |
| Gets the flag which indicates whether a sequence error is detected. More...
|
|
void | PDB_HAL_ClearAdcPreTriggerSeqErrFlags (PDB_Type *const base, uint32_t chn, uint32_t preChnMask) |
| Clears the flag which indicates that a sequence error has been detected. More...
|
|
void | PDB_HAL_SetAdcPreTriggerDelayValue (PDB_Type *const base, uint32_t chn, uint32_t preChn, uint32_t value) |
| Sets the pre-trigger delay value. More...
|
|
void | PDB_HAL_SetCmpPulseOutEnable (PDB_Type *const base, uint32_t pulseChnMask, bool enable) |
| Switches to enable the pulse-out trigger. More...
|
|
static void | PDB_HAL_SetCmpPulseOutDelayForHigh (PDB_Type *const base, uint32_t pulseChn, uint32_t value) |
| Sets the counter delay value for the pulse-out goes high. More...
|
|
static void | PDB_HAL_SetCmpPulseOutDelayForLow (PDB_Type *const base, uint32_t pulseChn, uint32_t value) |
| Sets the counter delay value for the pulse-out goes low. More...
|
|
Defines the type of value load mode for the PDB module.
Some timing related registers, such as the MOD, IDLY, CHnDLYm, INTx and POyDLY, buffer the setting values. Only the load operation is triggered. The setting value is loaded from a buffer and takes effect. There are four loading modes to fit different applications. Implements : pdb_load_value_mode_t_Class
Enumerator |
---|
PDB_LOAD_VAL_IMMEDIATELY |
Loaded immediately after load operation.
|
PDB_LOAD_VAL_AT_MODULO_COUNTER |
Loaded when counter hits the modulo after load operation.
|
PDB_LOAD_VAL_AT_NEXT_TRIGGER |
Loaded when detecting an input trigger after load operation.
|
PDB_LOAD_VAL_AT_MODULO_COUNTER_OR_NEXT_TRIGGER |
Loaded when counter hits the modulo or detecting an input trigger after load operation.
|
Definition at line 70 of file pdb_hal.h.
static void PDB_HAL_SetLoadValuesCmd |
( |
PDB_Type *const |
base | ) |
|
|
inlinestatic |
Loads the delay registers value for the PDB module.
This function sets the LDOK bit and loads the delay registers value. Writing one to this bit updates the internal registers MOD, IDLY, CHnDLYm and POyDLY with the values written to their buffers. The MOD, IDLY, CHnDLYm and POyDLY take effect according to the load mode settings.
After one is written to the LDOK bit, the values in the buffers of above mentioned registers are not effective and cannot be written until the values in the buffers are loaded into their internal registers. The LDOK can be written only when the the PDB is enabled or as alone with it. It is automatically cleared either when the values in the buffers are loaded into the internal registers or when the PDB is disabled.
- Parameters
-
base | Register base address for the module. Implements : PDB_HAL_SetLoadValuesCmd_Activity |
Definition at line 279 of file pdb_hal.h.