MCUSW
GPT Configuration

Introduction

This files defines GPT MCAL configuration structures

Data Structures

struct  Gpt_ChannelConfigType
 Configuration per channel. More...
 
struct  Gpt_ChannelConfigType_PC
 SPI sequence config structure parameters Pre-Compile only. More...
 
struct  Gpt_ConfigType
 global configuration of the driver More...
 
struct  Gpt_RegisterReadbackType
 GPT register readback structure. More...
 

Functions

void Gpt_Ch12Isr (void)
 GPT Channel ISR. More...
 
void Gpt_Ch7Isr (void)
 
void Gpt_Ch10Isr (void)
 
void Gpt_Ch16Isr (void)
 
void Gpt_Ch30Isr (void)
 

Variables

const struct Gpt_ConfigType_s GptChannelConfigSet
 GPT Configuration. More...
 
const uint32 Gpt_TimerBaseAddr [GPT_CH_GPTIMER_MAX]
 Base Address of the timer peripherals. More...
 

Typedefs

typedef uint32 Gpt_ChannelType
 Type describing the Gpt channel. More...
 
typedef uint32 Gpt_ValueType
 Type describing the timeout value. More...
 
typedef void(* Gpt_NotifyType) (void)
 Notification callback function pointer. More...
 

Enumerations

enum  Gpt_ModeType { GPT_MODE_NORMAL = 0U, GPT_MODE_SLEEP = 1U, GPT_MODE_INVALID = 0xFFU }
 List of process modes. More...
 
enum  Gpt_PrescaleValueType {
  GPT_PRESCALER_CLK_DIV_BY_2 = 0x0U, GPT_PRESCALER_CLK_DIV_BY_4 = 0x1U, GPT_PRESCALER_CLK_DIV_BY_8 = 0x2U, GPT_PRESCALER_CLK_DIV_BY_16 = 0x3U,
  GPT_PRESCALER_CLK_DIV_BY_32 = 0x4U, GPT_PRESCALER_CLK_DIV_BY_64 = 0x5U, GPT_PRESCALER_CLK_DIV_BY_128 = 0x6U, GPT_PRESCALER_CLK_DIV_BY_256 = 0x7U,
  GPT_PRESCALER_NO_PRESCALE = 0xFFU
}
 List of Prescale values for General purpose timer channels The timer counter is prescaled with the value 2^(PTV+1). Example: PTV = 3, counter increases value (if started) after 16 functional clock periods Note: Not applicable to GPT Predef timers. More...
 
enum  Gpt_ChannelMode { GPT_CH_MODE_CONTINUOUS = 0U, GPT_CH_MODE_ONESHOT }
 GPT channel mode macros. More...
 
enum  Gpt_ChannelStateType {
  GPT_UNINITIALIZED = 0U, GPT_INITIALIZED, GPT_RUNNING, GPT_STOPPED,
  GPT_EXPIRED
}
 GPT channel state GPT will be in one of this state during its lifetime. More...
 

Macros

#define GPT_CH_GPTIMER1   (0U)
 GP timer 1 instance. More...
 
#define GPT_CH_GPTIMER2   (1U)
 GP timer 2 instance. More...
 
#define GPT_CH_GPTIMER3   (2U)
 GP timer 3 instance. More...
 
#define GPT_CH_GPTIMER4   (3U)
 GP timer 4 instance. More...
 
#define GPT_CH_GPTIMER5   (4U)
 GP timer 5 instance. More...
 
#define GPT_CH_GPTIMER6   (5U)
 GP timer 6 instance. More...
 
#define GPT_CH_GPTIMER7   (6U)
 GP timer 7 instance. More...
 
#define GPT_CH_GPTIMER8   (7U)
 GP timer 8 instance. More...
 
#define GPT_CH_GPTIMER9   (8U)
 GP timer 9 instance. More...
 
#define GPT_CH_GPTIMER10   (9U)
 GP timer 10 instance. More...
 
#define GPT_CH_GPTIMER11   (10U)
 GP timer 11 instance. More...
 
#define GPT_CH_GPTIMER12   (11U)
 GP timer 12 instance. More...
 
#define GPT_CH_GPTIMER13   (12U)
 GP timer 13 instance. More...
 
#define GPT_CH_GPTIMER14   (13U)
 GP timer 14 instance. More...
 
#define GPT_CH_GPTIMER15   (14U)
 GP timer 15 instance. More...
 
#define GPT_CH_GPTIMER16   (15U)
 GP timer 16 instance. More...
 
#define GPT_CH_GPTIMER17   (16U)
 GP timer 17 instance. More...
 
#define GPT_CH_GPTIMER18   (17U)
 GP timer 18 instance. More...
 
#define GPT_CH_GPTIMER19   (18U)
 GP timer 19 instance. More...
 
#define GPT_CH_GPTIMER20   (19U)
 GP timer 20 instance. More...
 
#define GPT_CH_GPTIMER21   (20U)
 GP timer 21 instance. More...
 
#define GPT_CH_GPTIMER22   (21U)
 GP timer 22 instance. More...
 
#define GPT_CH_GPTIMER23   (22U)
 GP timer 23 instance. More...
 
#define GPT_CH_GPTIMER24   (23U)
 GP timer 24 instance. More...
 
#define GPT_CH_GPTIMER25   (24U)
 GP timer 25 instance. More...
 
#define GPT_CH_GPTIMER26   (25U)
 GP timer 26 instance. More...
 
#define GPT_CH_GPTIMER27   (26U)
 GP timer 27 instance. More...
 
#define GPT_CH_GPTIMER28   (27U)
 GP timer 28 instance. More...
 
#define GPT_CH_GPTIMER29   (28U)
 GP timer 29 instance. More...
 
#define GPT_CH_GPTIMER30   (29U)
 GP timer 30 instance. More...
 
#define GPT_CH_GPTIMER_MAX   (30U)
 maximum GP timer channels available More...
 
#define GPT_PRE_COMPILE_VARIANT   (STD_OFF)
 GPT Pre-Compile Build Variant flag. STD_ON for VariantPreCompile / STD_OFF for VariantPostBuild. More...
 
#define GPT_DEV_ERROR_DETECT   (STD_ON)
 Enable/disable GPT dev detect error. More...
 
#define GPT_ISR_TYPE   (GPT_ISR_CAT1)
 ISR type. More...
 
#define GPT_REPORT_WAKEUP_SOURCE   (STD_ON)
 Enable/disable wakeup source in wakeup related APIs. More...
 
#define GPT_MAX_CHANNELS   (5U)
 No. of channels configured for GPT driver. More...
 
#define GPT_PREDEF_TIMER_TYPE   (GPT_PREDEF_TIMER_DISABLED)
 Macro for enabling predefined timers This is in case to disable GPT Predef Timers if timers can not be supported by hardware reasons. More...
 
#define GPT_PREDEF_TIMER_1US_ENABLING_GRADE   (GPT_PREDEF_TIMER_1US_DISABLED)
 : Specifies the grade of enabling the GPT Predef Timers with 1us tick duration More...
 
#define GPT_OS_COUNTER_ID   ((CounterType)OsCounter_0)
 Counter ID for counter used to count wait ticks. More...
 
#define GPT_TIMEOUT_DURATION   (32000U)
 ETH timeout. Each tick is 31.25us (for 32K Counter). Wait for 5s which comes to below value. More...
 
#define GPT_REGISTER_READBACK_API   (STD_ON)
 Enable/disable GPT register read back API. More...
 
#define GptConf_GptChannelConfiguration_TIMER1   (11U)
 Channel ID Configured channel ID(s) More...
 
#define GptConf_GptChannelConfiguration_MCU_TIMER6   (6U)
 
#define GptConf_GptChannelConfiguration_MCU_TIMER9   (9U)
 
#define GptConf_GptChannelConfiguration_TIMER5   (15U)
 
#define GptConf_GptChannelConfiguration_TIMER19   (29U)
 

Pre-Compile Switches for API Services

#define GPT_VERSION_INFO_API   (STD_ON)
 Enable/disable GPT get version info API. More...
 
#define GPT_DEINIT_API   (STD_ON)
 Enable/disable GPT deinit API. More...
 
#define GPT_TIME_ELAPSED_API   (STD_ON)
 Enable/disable GPT get time elapsed API. More...
 
#define GPT_TIME_REMAINING_API   (STD_ON)
 Enable/disable GPT time remaining API. More...
 
#define GPT_ENABLE_DISABLE_NOTIFICATION_API   (STD_ON)
 Enable/disable GPT enable/disable GPT API. More...
 
#define GPT_WAKEUP_FUNCTIONALITY_API   (STD_ON)
 Enable/disable GPT wakeup functionality API. More...
 

GPT DEM Error codes to report

Pre-compile switches for enabling/disabling DEM events

#define DemConf_DemEventParameter_GPT_DEM_NO_EVENT   (0xFFFFU)
 
#define GPT_DEM_NO_EVENT   DemConf_DemEventParameter_GPT_DEM_NO_EVENT
 
#define GPT_E_HARDWARE_ERROR   (DemConf_DemEventParameter_GPT_E_HARDWARE_ERROR)
 Hardware failed. More...
 

Macro Definition Documentation

◆ GPT_CH_GPTIMER1

#define GPT_CH_GPTIMER1   (0U)

GP timer 1 instance.

◆ GPT_CH_GPTIMER2

#define GPT_CH_GPTIMER2   (1U)

GP timer 2 instance.

◆ GPT_CH_GPTIMER3

#define GPT_CH_GPTIMER3   (2U)

GP timer 3 instance.

◆ GPT_CH_GPTIMER4

#define GPT_CH_GPTIMER4   (3U)

GP timer 4 instance.

◆ GPT_CH_GPTIMER5

#define GPT_CH_GPTIMER5   (4U)

GP timer 5 instance.

◆ GPT_CH_GPTIMER6

#define GPT_CH_GPTIMER6   (5U)

GP timer 6 instance.

◆ GPT_CH_GPTIMER7

#define GPT_CH_GPTIMER7   (6U)

GP timer 7 instance.

◆ GPT_CH_GPTIMER8

#define GPT_CH_GPTIMER8   (7U)

GP timer 8 instance.

◆ GPT_CH_GPTIMER9

#define GPT_CH_GPTIMER9   (8U)

GP timer 9 instance.

◆ GPT_CH_GPTIMER10

#define GPT_CH_GPTIMER10   (9U)

GP timer 10 instance.

◆ GPT_CH_GPTIMER11

#define GPT_CH_GPTIMER11   (10U)

GP timer 11 instance.

◆ GPT_CH_GPTIMER12

#define GPT_CH_GPTIMER12   (11U)

GP timer 12 instance.

◆ GPT_CH_GPTIMER13

#define GPT_CH_GPTIMER13   (12U)

GP timer 13 instance.

◆ GPT_CH_GPTIMER14

#define GPT_CH_GPTIMER14   (13U)

GP timer 14 instance.

◆ GPT_CH_GPTIMER15

#define GPT_CH_GPTIMER15   (14U)

GP timer 15 instance.

◆ GPT_CH_GPTIMER16

#define GPT_CH_GPTIMER16   (15U)

GP timer 16 instance.

◆ GPT_CH_GPTIMER17

#define GPT_CH_GPTIMER17   (16U)

GP timer 17 instance.

◆ GPT_CH_GPTIMER18

#define GPT_CH_GPTIMER18   (17U)

GP timer 18 instance.

◆ GPT_CH_GPTIMER19

#define GPT_CH_GPTIMER19   (18U)

GP timer 19 instance.

◆ GPT_CH_GPTIMER20

#define GPT_CH_GPTIMER20   (19U)

GP timer 20 instance.

◆ GPT_CH_GPTIMER21

#define GPT_CH_GPTIMER21   (20U)

GP timer 21 instance.

◆ GPT_CH_GPTIMER22

#define GPT_CH_GPTIMER22   (21U)

GP timer 22 instance.

◆ GPT_CH_GPTIMER23

#define GPT_CH_GPTIMER23   (22U)

GP timer 23 instance.

◆ GPT_CH_GPTIMER24

#define GPT_CH_GPTIMER24   (23U)

GP timer 24 instance.

◆ GPT_CH_GPTIMER25

#define GPT_CH_GPTIMER25   (24U)

GP timer 25 instance.

◆ GPT_CH_GPTIMER26

#define GPT_CH_GPTIMER26   (25U)

GP timer 26 instance.

◆ GPT_CH_GPTIMER27

#define GPT_CH_GPTIMER27   (26U)

GP timer 27 instance.

◆ GPT_CH_GPTIMER28

#define GPT_CH_GPTIMER28   (27U)

GP timer 28 instance.

◆ GPT_CH_GPTIMER29

#define GPT_CH_GPTIMER29   (28U)

GP timer 29 instance.

◆ GPT_CH_GPTIMER30

#define GPT_CH_GPTIMER30   (29U)

GP timer 30 instance.

◆ GPT_CH_GPTIMER_MAX

#define GPT_CH_GPTIMER_MAX   (30U)

maximum GP timer channels available

◆ GPT_PRE_COMPILE_VARIANT

#define GPT_PRE_COMPILE_VARIANT   (STD_OFF)

GPT Pre-Compile Build Variant flag. STD_ON for VariantPreCompile / STD_OFF for VariantPostBuild.

◆ GPT_DEV_ERROR_DETECT

#define GPT_DEV_ERROR_DETECT   (STD_ON)

Enable/disable GPT dev detect error.

◆ GPT_ISR_TYPE

#define GPT_ISR_TYPE   (GPT_ISR_CAT1)

ISR type.

◆ GPT_REPORT_WAKEUP_SOURCE

#define GPT_REPORT_WAKEUP_SOURCE   (STD_ON)

Enable/disable wakeup source in wakeup related APIs.

◆ GPT_VERSION_INFO_API

#define GPT_VERSION_INFO_API   (STD_ON)

Enable/disable GPT get version info API.

◆ GPT_DEINIT_API

#define GPT_DEINIT_API   (STD_ON)

Enable/disable GPT deinit API.

◆ GPT_TIME_ELAPSED_API

#define GPT_TIME_ELAPSED_API   (STD_ON)

Enable/disable GPT get time elapsed API.

◆ GPT_TIME_REMAINING_API

#define GPT_TIME_REMAINING_API   (STD_ON)

Enable/disable GPT time remaining API.

◆ GPT_ENABLE_DISABLE_NOTIFICATION_API

#define GPT_ENABLE_DISABLE_NOTIFICATION_API   (STD_ON)

Enable/disable GPT enable/disable GPT API.

◆ GPT_WAKEUP_FUNCTIONALITY_API

#define GPT_WAKEUP_FUNCTIONALITY_API   (STD_ON)

Enable/disable GPT wakeup functionality API.

◆ GPT_MAX_CHANNELS

#define GPT_MAX_CHANNELS   (5U)

No. of channels configured for GPT driver.

◆ GPT_PREDEF_TIMER_TYPE

#define GPT_PREDEF_TIMER_TYPE   (GPT_PREDEF_TIMER_DISABLED)

Macro for enabling predefined timers This is in case to disable GPT Predef Timers if timers can not be supported by hardware reasons.

◆ GPT_PREDEF_TIMER_1US_ENABLING_GRADE

#define GPT_PREDEF_TIMER_1US_ENABLING_GRADE   (GPT_PREDEF_TIMER_1US_DISABLED)

: Specifies the grade of enabling the GPT Predef Timers with 1us tick duration

◆ GPT_OS_COUNTER_ID

#define GPT_OS_COUNTER_ID   ((CounterType)OsCounter_0)

Counter ID for counter used to count wait ticks.

◆ GPT_TIMEOUT_DURATION

#define GPT_TIMEOUT_DURATION   (32000U)

ETH timeout. Each tick is 31.25us (for 32K Counter). Wait for 5s which comes to below value.

◆ DemConf_DemEventParameter_GPT_DEM_NO_EVENT

#define DemConf_DemEventParameter_GPT_DEM_NO_EVENT   (0xFFFFU)

◆ GPT_DEM_NO_EVENT

#define GPT_DEM_NO_EVENT   DemConf_DemEventParameter_GPT_DEM_NO_EVENT

◆ GPT_E_HARDWARE_ERROR

#define GPT_E_HARDWARE_ERROR   (DemConf_DemEventParameter_GPT_E_HARDWARE_ERROR)

Hardware failed.

◆ GPT_REGISTER_READBACK_API

#define GPT_REGISTER_READBACK_API   (STD_ON)

Enable/disable GPT register read back API.

◆ GptConf_GptChannelConfiguration_TIMER1

#define GptConf_GptChannelConfiguration_TIMER1   (11U)

Channel ID Configured channel ID(s)

Channel identifiers

◆ GptConf_GptChannelConfiguration_MCU_TIMER6

#define GptConf_GptChannelConfiguration_MCU_TIMER6   (6U)

Channel identifiers

◆ GptConf_GptChannelConfiguration_MCU_TIMER9

#define GptConf_GptChannelConfiguration_MCU_TIMER9   (9U)

Channel identifiers

◆ GptConf_GptChannelConfiguration_TIMER5

#define GptConf_GptChannelConfiguration_TIMER5   (15U)

Channel identifiers

◆ GptConf_GptChannelConfiguration_TIMER19

#define GptConf_GptChannelConfiguration_TIMER19   (29U)

Channel identifiers

Typedef Documentation

◆ Gpt_ChannelType

typedef uint32 Gpt_ChannelType

Type describing the Gpt channel.

◆ Gpt_ValueType

typedef uint32 Gpt_ValueType

Type describing the timeout value.

◆ Gpt_NotifyType

typedef void(* Gpt_NotifyType) (void)

Notification callback function pointer.

Enumeration Type Documentation

◆ Gpt_ModeType

List of process modes.

Enumerator
GPT_MODE_NORMAL 

Normal operation mode of the GPT

GPT_MODE_SLEEP 

Operation for reduced power operation mode. In sleep mode only wakeup capable channels are available.

GPT_MODE_INVALID 

Mode end marker

◆ Gpt_PrescaleValueType

List of Prescale values for General purpose timer channels The timer counter is prescaled with the value 2^(PTV+1). Example: PTV = 3, counter increases value (if started) after 16 functional clock periods Note: Not applicable to GPT Predef timers.

Enumerator
GPT_PRESCALER_CLK_DIV_BY_2 

Value used to divide timer clock by 2

GPT_PRESCALER_CLK_DIV_BY_4 

Value used to divide timer clock by 4

GPT_PRESCALER_CLK_DIV_BY_8 

Value used to divide timer clock by 8

GPT_PRESCALER_CLK_DIV_BY_16 

Value used to divide timer clock by 16

GPT_PRESCALER_CLK_DIV_BY_32 

Value used to divide timer clock by 32

GPT_PRESCALER_CLK_DIV_BY_64 

Value used to divide timer clock by 64

GPT_PRESCALER_CLK_DIV_BY_128 

Value used to divide timer clock by 128

GPT_PRESCALER_CLK_DIV_BY_256 

Value used to divide timer clock by 256

GPT_PRESCALER_NO_PRESCALE 

Prescale disabled

◆ Gpt_ChannelMode

GPT channel mode macros.

Enumerator
GPT_CH_MODE_CONTINUOUS 

GPT initialized

GPT_CH_MODE_ONESHOT 

Normal operation mode of the GPT

◆ Gpt_ChannelStateType

GPT channel state GPT will be in one of this state during its lifetime.

Enumerator
GPT_UNINITIALIZED 

GPT is uninitialized

GPT_INITIALIZED 

GPT is initialized

GPT_RUNNING 

GPT is running

GPT_STOPPED 

GPT is stopped

GPT_EXPIRED 

GPT is expired

Function Documentation

◆ Gpt_Ch12Isr()

void Gpt_Ch12Isr ( void  )

GPT Channel ISR.

Channel ISR

◆ Gpt_Ch7Isr()

void Gpt_Ch7Isr ( void  )

Channel ISR

◆ Gpt_Ch10Isr()

void Gpt_Ch10Isr ( void  )

Channel ISR

◆ Gpt_Ch16Isr()

void Gpt_Ch16Isr ( void  )

Channel ISR

◆ Gpt_Ch30Isr()

void Gpt_Ch30Isr ( void  )

Channel ISR

Variable Documentation

◆ GptChannelConfigSet

const struct Gpt_ConfigType_s GptChannelConfigSet

GPT Configuration.

◆ Gpt_TimerBaseAddr

const uint32 Gpt_TimerBaseAddr[GPT_CH_GPTIMER_MAX]

Base Address of the timer peripherals.