S32 SDK
pdb_hal.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include "device_registers.h"

Go to the source code of this file.

Data Structures

struct  pdb_timer_config_t
 Defines the type of structure for basic timer in PDB. More...
 

Enumerations

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...
 

Functions

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...