S32 SDK
pdb_driver.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 - 2015, Freescale Semiconductor, Inc.
3  * Copyright 2016 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 #ifndef PDB_DRIVER_H
20 #define PDB_DRIVER_H
21 
22 #include "pdb_hal.h"
23 #include "clock_manager.h"
24 
32 /*******************************************************************************
33  * Definitions
34  ******************************************************************************/
40 typedef struct
41 {
42  uint32_t adcPreTriggerIdx;
47 
48 #if defined(__cplusplus)
49 extern "C" {
50 #endif
51 
63 void PDB_DRV_Init(const uint32_t instance, const pdb_timer_config_t *userConfigPtr);
64 
73 void PDB_DRV_Deinit(const uint32_t instance);
74 
84 void PDB_DRV_SoftTriggerCmd(const uint32_t instance);
85 
94 uint32_t PDB_DRV_GetTimerValue(const uint32_t instance);
95 
104 bool PDB_DRV_GetTimerIntFlag(const uint32_t instance);
105 
113 void PDB_DRV_ClearTimerIntFlag(const uint32_t instance);
114 
122 void PDB_DRV_LoadValuesCmd(const uint32_t instance);
123 
132 void PDB_DRV_SetTimerModulusValue(const uint32_t instance, const uint32_t value);
133 
142 void PDB_DRV_SetValueForTimerInterrupt(const uint32_t instance, const uint32_t value);
143 
153 void PDB_DRV_ConfigAdcPreTrigger(const uint32_t instance, const uint32_t chn, const pdb_adc_pretrigger_config_t *configPtr);
154 
165 uint32_t PDB_DRV_GetAdcPreTriggerFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask);
166 
176 void PDB_DRV_ClearAdcPreTriggerFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask);
177 
188 uint32_t PDB_DRV_GetAdcPreTriggerSeqErrFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask);
189 
199 void PDB_DRV_ClearAdcPreTriggerSeqErrFlags(const uint32_t instance, const uint32_t chn, const uint32_t preChnMask);
200 
211 void PDB_DRV_SetAdcPreTriggerDelayValue(const uint32_t instance, const uint32_t chn, const uint32_t preChn, const uint32_t value);
212 
222 void PDB_DRV_SetCmpPulseOutEnable(const uint32_t instance, const uint32_t pulseChnMask, bool enable);
223 
233 void PDB_DRV_SetCmpPulseOutDelayForHigh(const uint32_t instance, const uint32_t pulseChn, const uint32_t value);
234 
244 void PDB_DRV_SetCmpPulseOutDelayForLow(const uint32_t instance, const uint32_t pulseChn, const uint32_t value);
245 
246 #if defined(__cplusplus)
247 }
248 #endif
249 
254 #endif /* PDB_DRIVER_H */
255 /*******************************************************************************
256  * EOF
257  ******************************************************************************/
258 
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, 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_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
void PDB_DRV_SetValueForTimerInterrupt(const uint32_t instance, const uint32_t value)
Sets the value for the timer interrupt.
Definition: pdb_driver.c:217
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
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
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_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
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
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
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
void PDB_DRV_Init(const uint32_t instance, const pdb_timer_config_t *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