S32 SDK
lptmr_driver.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include "status.h"

Go to the source code of this file.

Data Structures

struct  lptmr_config_t
 Defines the configuration structure for LPTMR. More...
 

Enumerations

enum  lptmr_pinselect_t { LPTMR_PINSELECT_TRGMUX = 0x00u, LPTMR_PINSELECT_ALT1 = 0x01u, LPTMR_PINSELECT_ALT2 = 0x02u, LPTMR_PINSELECT_ALT3 = 0x03u }
 Pulse Counter Input selection Implements : lptmr_pinselect_t_Class. More...
 
enum  lptmr_pinpolarity_t { LPTMR_PINPOLARITY_RISING = 0u, LPTMR_PINPOLARITY_FALLING = 1u }
 Pulse Counter input polarity Implements : lptmr_pinpolarity_t_Class. More...
 
enum  lptmr_workmode_t { LPTMR_WORKMODE_TIMER = 0u, LPTMR_WORKMODE_PULSECOUNTER = 1u }
 Work Mode Implements : lptmr_workmode_t_Class. More...
 
enum  lptmr_prescaler_t {
  LPTMR_PRESCALE_2 = 0x00u, LPTMR_PRESCALE_4_GLITCHFILTER_2 = 0x01u, LPTMR_PRESCALE_8_GLITCHFILTER_4 = 0x02u, LPTMR_PRESCALE_16_GLITCHFILTER_8 = 0x03u,
  LPTMR_PRESCALE_32_GLITCHFILTER_16 = 0x04u, LPTMR_PRESCALE_64_GLITCHFILTER_32 = 0x05u, LPTMR_PRESCALE_128_GLITCHFILTER_64 = 0x06u, LPTMR_PRESCALE_256_GLITCHFILTER_128 = 0x07u,
  LPTMR_PRESCALE_512_GLITCHFILTER_256 = 0x08u, LPTMR_PRESCALE_1024_GLITCHFILTER_512 = 0x09u, LPTMR_PRESCALE_2048_GLITCHFILTER_1024 = 0x0Au, LPTMR_PRESCALE_4096_GLITCHFILTER_2048 = 0x0Bu,
  LPTMR_PRESCALE_8192_GLITCHFILTER_4096 = 0x0Cu, LPTMR_PRESCALE_16384_GLITCHFILTER_8192 = 0x0Du, LPTMR_PRESCALE_32768_GLITCHFILTER_16384 = 0x0Eu, LPTMR_PRESCALE_65536_GLITCHFILTER_32768 = 0x0Fu
}
 Prescaler Selection Implements : lptmr_prescaler_t_Class. More...
 
enum  lptmr_clocksource_t { LPTMR_CLOCKSOURCE_SIRCDIV2 = 0x00u, LPTMR_CLOCKSOURCE_1KHZ_LPO = 0x01u, LPTMR_CLOCKSOURCE_RTC = 0x02u, LPTMR_CLOCKSOURCE_PCC = 0x03u }
 Clock Source selection Implements : lptmr_clocksource_t_Class. More...
 
enum  lptmr_counter_units_t { LPTMR_COUNTER_UNITS_TICKS = 0x00U, LPTMR_COUNTER_UNITS_MICROSECONDS = 0x01U }
 Defines the LPTMR counter units available for configuring or reading the timer compare value. More...
 

Functions

LPTMR Driver Functions
void LPTMR_DRV_InitConfigStruct (lptmr_config_t *const config)
 Initialize a configuration structure with default values. More...
 
void LPTMR_DRV_Init (const uint32_t instance, const lptmr_config_t *const config, const bool startCounter)
 Initialize a LPTMR instance with values from an input configuration structure. More...
 
void LPTMR_DRV_SetConfig (const uint32_t instance, const lptmr_config_t *const config)
 Configure a LPTMR instance. More...
 
void LPTMR_DRV_GetConfig (const uint32_t instance, lptmr_config_t *const config)
 Get the current configuration of a LPTMR instance. More...
 
void LPTMR_DRV_Deinit (const uint32_t instance)
 De-initialize a LPTMR instance. More...
 
status_t LPTMR_DRV_SetCompareValueByCount (const uint32_t instance, const uint16_t compareValueByCount)
 Set the compare value in counter tick units, for a LPTMR instance. More...
 
void LPTMR_DRV_GetCompareValueByCount (const uint32_t instance, uint16_t *const compareValueByCount)
 Get the compare value in counter tick units, of a LPTMR instance. More...
 
status_t LPTMR_DRV_SetCompareValueByUs (const uint32_t instance, const uint32_t compareValueUs)
 Set the compare value for Timer Mode in microseconds, for a LPTMR instance. More...
 
void LPTMR_DRV_GetCompareValueByUs (const uint32_t instance, uint32_t *const compareValueUs)
 Get the compare value in microseconds, of a LPTMR instance. More...
 
bool LPTMR_DRV_GetCompareFlag (const uint32_t instance)
 Get the current state of the Compare Flag of a LPTMR instance. More...
 
void LPTMR_DRV_ClearCompareFlag (const uint32_t instance)
 Clear the Compare Flag of a LPTMR instance. More...
 
bool LPTMR_DRV_IsRunning (const uint32_t instance)
 Get the run state of a LPTMR instance. More...
 
void LPTMR_DRV_SetInterrupt (const uint32_t instance, const bool enableInterrupt)
 Enable/disable the LPTMR interrupt. More...
 
uint16_t LPTMR_DRV_GetCounterValueByCount (const uint32_t instance)
 Get the current counter value in counter tick units. More...
 
void LPTMR_DRV_StartCounter (const uint32_t instance)
 Enable the LPTMR / Start the counter. More...
 
void LPTMR_DRV_StopCounter (const uint32_t instance)
 Disable the LPTMR / Stop the counter. More...
 
void LPTMR_DRV_SetPinConfiguration (const uint32_t instance, const lptmr_pinselect_t pinSelect, const lptmr_pinpolarity_t pinPolarity)
 Set the Input Pin configuration for Pulse Counter mode. More...