S32 SDK
pdb_driver.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 - 2015, Freescale Semiconductor, Inc.
3  * Copyright 2016-2017 NXP
4  * All rights reserved.
5  *
6  * THIS SOFTWARE IS PROVIDED BY NXP "AS IS" AND ANY EXPRESSED OR
7  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
8  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
9  * IN NO EVENT SHALL NXP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
10  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
11  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
12  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
13  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
14  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
15  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
16  * THE POSSIBILITY OF SUCH DAMAGE.
17  */
18 
19 #include "pdb_driver.h"
20 #include "interrupt_manager.h"
21 #include <stddef.h>
22 
42 /*******************************************************************************
43  * Variables
44  ******************************************************************************/
45 
46 /* Table of base addresses for PDB instances. */
48 
49 /* Table to save PDB IRQ enum numbers. */
51 
52 /*FUNCTION*********************************************************************
53  *
54  * Function Name : PDB_DRV_Init
55  * Description : Initialize the PDB counter and trigger input for PDB module.
56  * It resets PDB registers and enables the clock for PDB. So it should be
57  * called before any operation to PDB module. After initialized, the PDB can
58  * ack as a triggered timer, which lays the foundation for other features in
59  * PDB module.
60  *
61  * Implements : PDB_DRV_Init_Activity
62  *END*************************************************************************/
63 void PDB_DRV_Init(const uint32_t instance, const pdb_timer_config_t * const userConfigPtr)
64 {
65  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
66  DEV_ASSERT(userConfigPtr != NULL);
67  /* Table of PDB clock names as defined in clock manager. */
68  static const clock_names_t s_pdbClkNames[PDB_INSTANCE_COUNT] = {PCC_PDB0_CLOCK, PCC_PDB1_CLOCK};
69 
70  status_t clkStatus;
71 
72  PDB_Type * base = s_pdbBase[instance];
73 
74  clock_names_t instanceClkName = s_pdbClkNames[instance];
75 
76  /* Get the PDB clock as configured in the clock manager */
77  clkStatus = CLOCK_SYS_GetFreq(instanceClkName, NULL);
78 
79  /* Exit if clock is not enabled for current instance. */
80  DEV_ASSERT(clkStatus == STATUS_SUCCESS);
81  (void)clkStatus;
82 
83  /* Reset the registers for PDB module to reset state. */
84  PDB_HAL_Init(base);
85  PDB_HAL_Enable(base);
86  PDB_HAL_ConfigTimer(base, userConfigPtr);
87 
88  /* Configure NVIC. */
89  if (userConfigPtr->intEnable || userConfigPtr->seqErrIntEnable)
90  {
91  INT_SYS_EnableIRQ(s_pdbIrqId[instance] );/* Enable PDB interrupt in NVIC level.*/
92  } else
93  {
94  INT_SYS_DisableIRQ(s_pdbIrqId[instance] );/* Disable PDB interrupt in NVIC level.*/
95  }
96 }
97 
98 
99 /*FUNCTION*********************************************************************
100  *
101  * Function Name : PDB_DRV_Deinit
102  * Description : De-initialize the PDB module.
103  * When the PDB module is not used. Calling this function would shutdown the
104  * PDB module and reduce the power consumption.
105  *
106  * Implements : PDB_DRV_Deinit_Activity
107  *END*************************************************************************/
108 void PDB_DRV_Deinit(const uint32_t instance)
109 {
110  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
111  PDB_Type * base = s_pdbBase[instance];
112 
113  INT_SYS_DisableIRQ( s_pdbIrqId[instance] );
114  PDB_HAL_Disable(base);
115 }
116 
117 /*FUNCTION*********************************************************************
118  *
119  * Function Name : PDB_DRV_SoftTriggerCmd
120  * Description : Trigger PDB by software trigger.
121  * When the PDB is set to use software trigger as input, Calling this function
122  * would trigger the PDB.
123  *
124  * Implements : PDB_DRV_SoftTriggerCmd_Activity
125  *END*************************************************************************/
126 void PDB_DRV_SoftTriggerCmd(const uint32_t instance)
127 {
128  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
129  PDB_Type * base = s_pdbBase[instance];
130 
132 }
133 
134 /*FUNCTION*********************************************************************
135  *
136  * Function Name : PDB_DRV_GetTimerValue
137  * Description : Get the current counter value in PDB module.
138  *
139  * Implements : PDB_DRV_GetTimerValue_Activity
140  *END*************************************************************************/
141 uint32_t PDB_DRV_GetTimerValue(const uint32_t instance)
142 {
143  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
144  PDB_Type const * base = s_pdbBase[instance];
145 
146  return PDB_HAL_GetTimerValue(base);
147 }
148 
149 /*FUNCTION*********************************************************************
150  *
151  * Function Name : PDB_DRV_GetTimerIntFlag
152  * Description : Get the interrupt flag for PDB module. It will be
153  * asserted if the PDB interrupt occurs.
154  *
155  * Implements : PDB_DRV_GetTimerIntFlag_Activity
156  *END*************************************************************************/
157 bool PDB_DRV_GetTimerIntFlag(const uint32_t instance)
158 {
159  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
160  PDB_Type const * base = s_pdbBase[instance];
161 
162  return PDB_HAL_GetTimerIntFlag(base);
163 }
164 
165 /*FUNCTION*********************************************************************
166  *
167  * Function Name : PDB_DRV_ClearTimerIntFlag
168  * Description : Clear the interrupt flag for PDB module.
169  *
170  * Implements : PDB_DRV_ClearTimerIntFlag_Activity
171  *END*************************************************************************/
172 void PDB_DRV_ClearTimerIntFlag(const uint32_t instance)
173 {
174  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
175  PDB_Type * base = s_pdbBase[instance];
176 
178 }
179 
180 /*FUNCTION*********************************************************************
181  *
182  * Function Name : PDB_DRV_LoadValuesCmd
183  * Description : Execute the command of loading values.
184  *
185  * Implements : PDB_DRV_LoadValuesCmd_Activity
186  *END*************************************************************************/
187 void PDB_DRV_LoadValuesCmd(const uint32_t instance)
188 {
189  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
190  PDB_Type * base = s_pdbBase[instance];
191 
193 }
194 
195 /*FUNCTION*********************************************************************
196  *
197  * Function Name : PDB_DRV_SetTimerModulusValue
198  * Description : Set the value of timer modulus.
199  *
200  * Implements : PDB_DRV_SetTimerModulusValue_Activity
201  *END*************************************************************************/
202 void PDB_DRV_SetTimerModulusValue(const uint32_t instance, const uint32_t value)
203 {
204  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
205  PDB_Type * base = s_pdbBase[instance];
206 
207  PDB_HAL_SetTimerModulusValue(base, value);
208 }
209 
210 /*FUNCTION*********************************************************************
211  *
212  * Function Name : PDB_DRV_SetValueForTimerInterrupt
213  * Description : Set the value for the timer interrupt.
214  *
215  * Implements : PDB_DRV_SetValueForTimerInterrupt_Activity
216  *END*************************************************************************/
217 void PDB_DRV_SetValueForTimerInterrupt(const uint32_t instance, const uint32_t value)
218 {
219  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
220  PDB_Type * base = s_pdbBase[instance];
221 
223 }
224 
225 /*FUNCTION*********************************************************************
226  *
227  * Function Name : PDB_DRV_ConfigAdcPreTrigger
228  * Description : Configure the ADC pre_trigger in the PDB module.
229  *
230  * Implements : PDB_DRV_ConfigAdcPreTrigger_Activity
231  *END*************************************************************************/
232 void PDB_DRV_ConfigAdcPreTrigger(const uint32_t instance, const uint32_t chn, const pdb_adc_pretrigger_config_t *configPtr)
233 {
234  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
236  DEV_ASSERT(configPtr != NULL);
237  PDB_Type * base = s_pdbBase[instance];
238 
239  PDB_HAL_SetAdcPreTriggerEnable(base, chn, ((uint32_t)1U << (configPtr->adcPreTriggerIdx)), configPtr->preTriggerEnable);
240  PDB_HAL_SetAdcPreTriggerOutputEnable(base, chn, ((uint32_t)1U << (configPtr->adcPreTriggerIdx)), configPtr->preTriggerOutputEnable);
241  PDB_HAL_SetAdcPreTriggerBackToBackEnable(base, chn, ((uint32_t)1U << (configPtr->adcPreTriggerIdx)), configPtr->preTriggerBackToBackEnable);
242 }
243 
244 /*FUNCTION*********************************************************************
245  *
246  * Function Name : PDB_DRV_GetAdcPreTriggerFlags
247  * Description : Get the ADC pre_trigger flag in the PDB module.
248  *
249  * Implements : PDB_DRV_GetAdcPreTriggerFlags_Activity
250  *END*************************************************************************/
251 uint32_t PDB_DRV_GetAdcPreTriggerFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask)
252 {
253  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
255  PDB_Type const * base = s_pdbBase[instance];
256 
257  return PDB_HAL_GetAdcPreTriggerFlags(base, chn, preChnMask);
258 }
259 
260 /*FUNCTION*********************************************************************
261  *
262  * Function Name : PDB_DRV_ClearAdcPreTriggerFlags
263  * Description : Clear the ADC pre_trigger flag in the PDB module.
264  *
265  * Implements : PDB_DRV_ClearAdcPreTriggerFlags_Activity
266  *END*************************************************************************/
267 void PDB_DRV_ClearAdcPreTriggerFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask)
268 {
269  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
271  PDB_Type * base = s_pdbBase[instance];
272 
273  PDB_HAL_ClearAdcPreTriggerFlags(base, chn, preChnMask);
274 }
275 
276 /*FUNCTION*********************************************************************
277  *
278  * Function Name : PDB_DRV_GetAdcPreTriggerSeqErrFlags
279  * Description : Get the ADC pre_trigger flag in the PDB module.
280  *
281  * Implements : PDB_DRV_GetAdcPreTriggerSeqErrFlags_Activity
282  *END*************************************************************************/
283 uint32_t PDB_DRV_GetAdcPreTriggerSeqErrFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask)
284 {
285  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
287  PDB_Type const * base = s_pdbBase[instance];
288 
289  return PDB_HAL_GetAdcPreTriggerSeqErrFlags(base, chn, preChnMask);
290 }
291 
292 /*FUNCTION*********************************************************************
293  *
294  * Function Name : PDB_DRV_ClearAdcPreTriggerSeqErrFlags
295  * Description : Clear the ADC pre_trigger flag in the PDB module.
296  *
297  * Implements : PDB_DRV_ClearAdcPreTriggerSeqErrFlags_Activity
298  *END*************************************************************************/
299 void PDB_DRV_ClearAdcPreTriggerSeqErrFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask)
300 {
301  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
303  PDB_Type * base = s_pdbBase[instance];
304 
305  PDB_HAL_ClearAdcPreTriggerSeqErrFlags(base, chn, preChnMask);
306 }
307 
308 /*FUNCTION*********************************************************************
309  *
310  * Function Name : PDB_DRV_SetAdcPreTriggerDelayValue
311  * Description : Set the ADC pre_trigger delay value in the PDB module.
312  *
313  * Implements : PDB_DRV_SetAdcPreTriggerDelayValue_Activity
314  *END*************************************************************************/
315 void PDB_DRV_SetAdcPreTriggerDelayValue(const uint32_t instance, const uint32_t chn, const uint32_t preChn, const uint32_t value)
316 {
317  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
319  PDB_Type * base = s_pdbBase[instance];
320 
321  PDB_HAL_SetAdcPreTriggerDelayValue(base, chn, preChn, value);
322 }
323 
324 /*FUNCTION*********************************************************************
325  *
326  * Function Name : PDB_DRV_SetCmpPulseOutEnable
327  * Description : Switch on/off the CMP pulse out in the PDB module.
328  *
329  * Implements : PDB_DRV_SetCmpPulseOutEnable_Activity
330  *END*************************************************************************/
331 void PDB_DRV_SetCmpPulseOutEnable(const uint32_t instance, const uint32_t pulseChnMask, const bool enable)
332 {
333  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
334  PDB_Type * base = s_pdbBase[instance];
335 
336  PDB_HAL_SetCmpPulseOutEnable(base, pulseChnMask, enable);
337 }
338 
339 /*FUNCTION*********************************************************************
340  *
341  * Function Name : PDB_DRV_SetCmpPulseOutDelayForHigh
342  * Description : Set the CMP pulse out delay value for high in the PDB module.
343  *
344  * Implements : PDB_DRV_SetCmpPulseOutDelayForHigh_Activity
345  *END*************************************************************************/
346 void PDB_DRV_SetCmpPulseOutDelayForHigh(const uint32_t instance, const uint32_t pulseChn, const uint32_t value)
347 {
348  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
350  PDB_Type * base = s_pdbBase[instance];
351 
352  PDB_HAL_SetCmpPulseOutDelayForHigh(base, pulseChn, value);
353 }
354 
355 /*FUNCTION*********************************************************************
356  *
357  * Function Name : PDB_DRV_SetCmpPulseOutDelayForLow
358  * Description : Set the CMP pulse out delay value for low in the PDB module.
359  *
360  * Implements : PDB_DRV_SetCmpPulseOutDelayForLow_Activity
361  *END*************************************************************************/
362 void PDB_DRV_SetCmpPulseOutDelayForLow(const uint32_t instance, const uint32_t pulseChn, const uint32_t value)
363 {
364  DEV_ASSERT(instance < PDB_INSTANCE_COUNT);
366  PDB_Type * base = s_pdbBase[instance];
367 
368  PDB_HAL_SetCmpPulseOutDelayForLow(base, pulseChn, value);
369 }
370 
371 /*******************************************************************************
372  * EOF
373  ******************************************************************************/
void PDB_DRV_ClearTimerIntFlag(const uint32_t instance)
Clears the interrupt flag.
Definition: pdb_driver.c:172
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.
Definition: pdb_driver.c:331
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.
Definition: pdb_driver.c:315
void PDB_DRV_SetTimerModulusValue(const uint32_t instance, const uint32_t value)
Sets the value of timer modulus.
Definition: pdb_driver.c:202
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...
Definition: pdb_hal.c:196
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.
Definition: pdb_driver.c:232
static void PDB_HAL_Disable(PDB_Type *const base)
Switches to disable the PDB module.
Definition: pdb_hal.h:220
void PDB_DRV_SetValueForTimerInterrupt(const uint32_t instance, const uint32_t value)
Sets the value for the timer interrupt.
Definition: pdb_driver.c:217
bool seqErrIntEnable
Definition: pdb_hal.h:148
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.
Definition: pdb_hal.c:215
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.
Definition: pdb_driver.c:283
IRQn_Type
Defines the Interrupt Numbers definitions.
Definition: S32K144.h:269
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.
Definition: pdb_driver.c:251
Defines the type of structure for basic timer in PDB.
Definition: pdb_hal.h:145
bool PDB_DRV_GetTimerIntFlag(const uint32_t instance)
Gets the PDB interrupt flag.
Definition: pdb_driver.c:157
static uint32_t PDB_HAL_GetTimerValue(PDB_Type const *const base)
Gets the PDB counter value of PDB timer.
Definition: pdb_hal.h:312
void INT_SYS_DisableIRQ(IRQn_Type irqNumber)
Disables an interrupt for a given IRQ number.
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.
Definition: pdb_hal.h:413
#define PDB_IRQS
Definition: S32K144.h:8281
#define DEV_ASSERT(x)
Definition: devassert.h:78
#define FEATURE_PDB_ADC_CHANNEL_COUNT
uint32_t PDB_DRV_GetTimerValue(const uint32_t instance)
Gets the current counter value in the PDB module.
Definition: pdb_driver.c:141
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.
Definition: pdb_driver.c:362
void PDB_HAL_Init(PDB_Type *const base)
Resets the PDB registers to a known state.
Definition: pdb_hal.c:39
#define PDB_BASE_PTRS
Definition: S32K144.h:8275
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.
Definition: pdb_driver.c:299
status_t CLOCK_SYS_GetFreq(clock_names_t clockName, uint32_t *frequency)
Gets the clock frequency for a specific clock name.
static void PDB_HAL_SetTimerModulusValue(PDB_Type *const base, uint32_t value)
Sets the modulus value for the PDB module.
Definition: pdb_hal.h:297
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.
Definition: pdb_driver.c:267
static void PDB_HAL_ClearTimerIntFlag(PDB_Type *const base)
Clears the PDB delay interrupt flag.
Definition: pdb_hal.h:249
status_t
Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all ...
Definition: status.h:31
void PDB_DRV_SoftTriggerCmd(const uint32_t instance)
Triggers the PDB with a software trigger.
Definition: pdb_driver.c:126
void PDB_DRV_LoadValuesCmd(const uint32_t instance)
Executes the command of loading values.
Definition: pdb_driver.c:187
void PDB_DRV_Deinit(const uint32_t instance)
De-initializes the PDB module.
Definition: pdb_driver.c:108
#define FEATURE_PDB_PODLY_COUNT
void PDB_HAL_SetAdcPreTriggerDelayValue(PDB_Type *const base, uint32_t chn, uint32_t preChn, uint32_t value)
Sets the pre-trigger delay value.
Definition: pdb_hal.c:240
void PDB_HAL_SetAdcPreTriggerOutputEnable(PDB_Type *const base, uint32_t chn, uint32_t preChnMask, bool enable)
Switches to enable the pre-trigger output.
Definition: pdb_hal.c:147
void PDB_HAL_ConfigTimer(PDB_Type *const base, const pdb_timer_config_t *const configPtr)
Configure the PDB timer.
Definition: pdb_hal.c:76
static const IRQn_Type s_pdbIrqId[PDB_INSTANCE_COUNT]
Definition: pdb_driver.c:50
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.
Definition: pdb_hal.h:481
void PDB_HAL_SetCmpPulseOutEnable(PDB_Type *const base, uint32_t pulseChnMask, bool enable)
Switches to enable the pulse-out trigger.
Definition: pdb_hal.c:255
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.
Definition: pdb_driver.c:346
clock_names_t
Clock names.
static void PDB_HAL_SetLoadValuesCmd(PDB_Type *const base)
Loads the delay registers value for the PDB module.
Definition: pdb_hal.h:279
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...
Definition: pdb_hal.h:383
static PDB_Type *const s_pdbBase[PDB_INSTANCE_COUNT]
Definition: pdb_driver.c:47
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.
Definition: pdb_hal.h:464
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.
Definition: pdb_hal.c:123
static bool PDB_HAL_GetTimerIntFlag(PDB_Type const *const base)
Gets the PDB delay interrupt flag.
Definition: pdb_hal.h:235
void INT_SYS_EnableIRQ(IRQn_Type irqNumber)
Enables an interrupt for a given IRQ number.
void PDB_HAL_SetAdcPreTriggerEnable(PDB_Type *const base, uint32_t chn, uint32_t preChnMask, bool enable)
Switches to enable the pre-trigger.
Definition: pdb_hal.c:171
void PDB_DRV_Init(const uint32_t instance, const pdb_timer_config_t *const userConfigPtr)
Initializes the PDB counter and triggers input.
Definition: pdb_driver.c:63
Defines the type of structure for configuring ADC's pre_trigger.
Definition: pdb_driver.h:40
static void PDB_HAL_Enable(PDB_Type *const base)
Switches on to enable the PDB module.
Definition: pdb_hal.h:207
static void PDB_HAL_SetSoftTriggerCmd(PDB_Type *const base)
Triggers the PDB by software if enabled.
Definition: pdb_hal.h:193
#define PDB_INSTANCE_COUNT
Definition: S32K144.h:8260
static void PDB_HAL_SetValueForTimerInterrupt(PDB_Type *const base, uint32_t value)
Sets the interrupt delay milestone of the PDB counter.
Definition: pdb_hal.h:329