123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- #ifndef FTM_GPT_IP_H
- #define FTM_GPT_IP_H
- #ifdef __cplusplus
- extern "C"{
- #endif
- #include "Ftm_Gpt_Ip_Types.h"
- #include "Ftm_Gpt_Ip_Cfg.h"
- #include "OsIf.h"
- #include "Mcal.h"
- #include "SchM_Gpt.h"
- #if FTM_GPT_IP_DEV_ERROR_DETECT == STD_ON
- #include "Devassert.h"
- #endif
- #if (FTM_GPT_IP_ENABLE_USER_MODE_SUPPORT == STD_ON)
- #include "Reg_eSys.h"
- #endif
- #define FTM_GPT_IP_VENDOR_ID 43
- #define FTM_GPT_IP_AR_RELEASE_MAJOR_VERSION 4
- #define FTM_GPT_IP_AR_RELEASE_MINOR_VERSION 4
- #define FTM_GPT_IP_AR_RELEASE_REVISION_VERSION 0
- #define FTM_GPT_IP_SW_MAJOR_VERSION 1
- #define FTM_GPT_IP_SW_MINOR_VERSION 0
- #define FTM_GPT_IP_SW_PATCH_VERSION 0
- #if (FTM_GPT_IP_VENDOR_ID != FTM_GPT_IP_TYPES_VENDOR_ID)
- #error "Ftm_Gpt_Ip.h and Ftm_Gpt_Ip_Types.h have different vendor ids"
- #endif
- #if ((FTM_GPT_IP_AR_RELEASE_MAJOR_VERSION != FTM_GPT_IP_TYPES_AR_RELEASE_MAJOR_VERSION) || \
- (FTM_GPT_IP_AR_RELEASE_MINOR_VERSION != FTM_GPT_IP_TYPES_AR_RELEASE_MINOR_VERSION) || \
- (FTM_GPT_IP_AR_RELEASE_REVISION_VERSION != FTM_GPT_IP_TYPES_AR_RELEASE_REVISION_VERSION) \
- )
- #error "AutoSar Version Numbers of Ftm_Gpt_Ip.h and Ftm_Gpt_Ip_Types.h are different"
- #endif
- #if ((FTM_GPT_IP_SW_MAJOR_VERSION != FTM_GPT_IP_TYPES_SW_MAJOR_VERSION) || \
- (FTM_GPT_IP_SW_MINOR_VERSION != FTM_GPT_IP_TYPES_SW_MINOR_VERSION) || \
- (FTM_GPT_IP_SW_PATCH_VERSION != FTM_GPT_IP_TYPES_SW_PATCH_VERSION) \
- )
- #error "Software Version Numbers of Ftm_Gpt_Ip.h and Ftm_Gpt_Ip_Types.h are different"
- #endif
- #if (FTM_GPT_IP_VENDOR_ID != FTM_GPT_IP_VENDOR_ID_CFG)
- #error "Ftm_Gpt_Ip.h and Ftm_Gpt_Ip_Cfg.h have different vendor ids"
- #endif
- #if ((FTM_GPT_IP_AR_RELEASE_MAJOR_VERSION != FTM_GPT_IP_AR_RELEASE_MAJOR_VERSION_CFG) || \
- (FTM_GPT_IP_AR_RELEASE_MINOR_VERSION != FTM_GPT_IP_AR_RELEASE_MINOR_VERSION_CFG) || \
- (FTM_GPT_IP_AR_RELEASE_REVISION_VERSION != FTM_GPT_IP_AR_RELEASE_REVISION_VERSION_CFG) \
- )
- #error "AutoSar Version Numbers of Ftm_Gpt_Ip.h and Ftm_Gpt_Ip_Cfg.h are different"
- #endif
- #if ((FTM_GPT_IP_SW_MAJOR_VERSION != FTM_GPT_IP_SW_MAJOR_VERSION_CFG) || \
- (FTM_GPT_IP_SW_MINOR_VERSION != FTM_GPT_IP_SW_MINOR_VERSION_CFG) || \
- (FTM_GPT_IP_SW_PATCH_VERSION != FTM_GPT_IP_SW_PATCH_VERSION_CFG) \
- )
- #error "Software Version Numbers of Ftm_Gpt_Ip.h and Ftm_Gpt_Ip_Cfg.h are different"
- #endif
- #if (FTM_GPT_IP_ENABLE_USER_MODE_SUPPORT == STD_ON)
-
- #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
- #if ((FTM_GPT_IP_AR_RELEASE_MAJOR_VERSION != REG_ESYS_AR_RELEASE_MAJOR_VERSION) || \
- (FTM_GPT_IP_AR_RELEASE_MINOR_VERSION != REG_ESYS_AR_RELEASE_MINOR_VERSION))
- #error "AutoSar Version Numbers of Ftm_Gpt_Ip.h and Reg_eSys.h are different"
- #endif
- #endif
- #endif
- #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
- #if ((FTM_GPT_IP_AR_RELEASE_MAJOR_VERSION != SCHM_GPT_AR_RELEASE_MAJOR_VERSION) || \
- (FTM_GPT_IP_AR_RELEASE_MINOR_VERSION != SCHM_GPT_AR_RELEASE_MINOR_VERSION))
- #error "AutoSar Version Numbers of Ftm_Gpt_Ip.h and SchM_Gpt.h are different"
- #endif
-
- #if ((FTM_GPT_IP_AR_RELEASE_MAJOR_VERSION != OSIF_AR_RELEASE_MAJOR_VERSION) || \
- (FTM_GPT_IP_AR_RELEASE_MINOR_VERSION != OSIF_AR_RELEASE_MINOR_VERSION))
- #error "AutoSar Version Numbers of Ftm_Gpt_Ip.h and OsIf.h are different"
- #endif
- #endif
- #if FTM_GPT_IP_DEV_ERROR_DETECT == STD_ON
- #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK
- #if ((FTM_GPT_IP_AR_RELEASE_MAJOR_VERSION != DEVASSERT_AR_RELEASE_MAJOR_VERSION) || \
- (FTM_GPT_IP_AR_RELEASE_MINOR_VERSION != DEVASSERT_AR_RELEASE_MINOR_VERSION))
- #error "AutoSar Version Numbers of Ftm_Gpt_Ip.h and Devassert.h are different"
- #endif
- #endif
- #endif
- #if (FTM_GPT_IP_USED == STD_ON)
- #define FTM_CHANNEL_COUNT FTM_CONTROLS_COUNT
- #define FTM_CNT_MAX_VALUE 0x0000FFFFU
- #define GPT_START_SEC_VAR_CLEARED_32
- #include "Gpt_MemMap.h"
- extern uint32 Ftm_Gpt_Ip_u32TargetValue[FTM_INSTANCE_COUNT][FTM_CONTROLS_COUNT];
- #define GPT_STOP_SEC_VAR_CLEARED_32
- #include "Gpt_MemMap.h"
- #define GPT_START_SEC_CODE
- #include "Gpt_MemMap.h"
- uint32 Ftm_Gpt_Ip_GetCounter(uint8 instance);
- uint32 Ftm_Gpt_Ip_GetCompareValue(uint8 instance, uint8 channel);
- uint32 Ftm_Gpt_Ip_GetInterruptFlag(uint8 instance, uint8 channel);
- extern FTM_Type * const ftmGptBase[FTM_INSTANCE_COUNT];
- void Ftm_Gpt_Ip_Init(uint8 instance, const Ftm_Gpt_Ip_InstanceConfigType *configPtr);
- void Ftm_Gpt_Ip_InitChannel(uint8 instance, const Ftm_Gpt_Ip_ChannelConfigType *configPtr);
- void Ftm_Gpt_Ip_Deinit(uint8 instance);
- void Ftm_Gpt_Ip_StartCounting(uint8 instance, uint8 channel, uint16 compareValue);
- void Ftm_Gpt_Ip_StartTimer(uint8 instance, uint16 counterValue);
- void Ftm_Gpt_Ip_StopTimer(uint8 instance);
- void Ftm_Gpt_Ip_EnableChannelInterrupt(uint8 instance, uint8 channel);
- void Ftm_Gpt_Ip_DisableChannelInterrupt(uint8 instance, uint8 channel);
- void Ftm_Gpt_Ip_SetHalfCycleReloadPoint(uint8 instance, uint16 reloadPoint);
- #if (FTM_GPT_IP_CHANGE_NEXT_TIMEOUT_VALUE == STD_ON)
- void Ftm_Gpt_Ip_ChangeNextTimeoutValue(uint8 instance, uint8 channel, uint16 value);
- #endif
- #if (FTM_GPT_IP_SET_CLOCK_MODE == STD_ON)
- void Ftm_Gpt_Ip_SetClockMode(uint8 instance, Ftm_Gpt_Ip_ClockModeType prescalerMode);
- #endif
- #if(FTM_GPT_IP_PREDEFTIMER_FUNCTIONALITY_API == STD_ON)
- void Ftm_Gpt_Ip_StartPredefTimer (uint8 instance,uint8 channel, uint8 uPrescaler, uint8 clocksource, boolean bFreezeEnable);
- void Ftm_Gpt_Ip_StopPredefTimer (uint8 instance, uint8 channel);
- #endif
- #define GPT_STOP_SEC_CODE
- #include "Gpt_MemMap.h"
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
|