|  | MCUSW
    | 
This file contains interface header for ICU MCAL driver to be used by other AUTOSAR MCAL Layers.
Go to the source code of this file.
| Macros to define Rising and Falling edge config for capture registers | |
| #define | ICU_FALLING ((uint8)(0U)) | 
| Capture regsiter configuration for FALLING edge | |
| #define | ICU_RISING ((uint8)(1U)) | 
| Capture regsiter configuration for RISING edge | |
| enum | Icu_ModeType { ICU_MODE_NORMAL , ICU_MODE_SLEEP } | 
| This type defines a range of mode type.  More... | |
| enum | Icu_InputStateType { ICU_ACTIVE , ICU_IDLE } | 
| This type defines a input state of ICU driver.  More... | |
| enum | Icu_ActivationType { ICU_RISING_EDGE , ICU_FALLING_EDGE , ICU_BOTH_EDGES } | 
| This type defines Activation range.  More... | |
| enum | Icu_MeasurementModeType { ICU_MODE_SIGNAL_EDGE_DETECT , ICU_MODE_SIGNAL_MEASUREMENT , ICU_MODE_TIMESTAMP , ICU_MODE_EDGE_COUNTER } | 
| This type defines available measurement modes.  More... | |
| enum | Icu_SignalMeasurementPropertyType { ICU_LOW_TIME , ICU_HIGH_TIME , ICU_PERIOD_TIME , ICU_DUTY_CYCLE } | 
| This type defines Signal Measurement Property range.  More... | |
| enum | Icu_TimestampBufferType { ICU_LINEAR_BUFFER , ICU_CIRCULAR_BUFFER } | 
| This type defines TimeStamp Property range.  More... | |
| typedef uint32 | Icu_ValueType | 
| This type defines Value type. | |
| typedef uint32 | Icu_IndexType | 
| This type defines return value Icu_GetTimeStampIndex. | |
| typedef uint32 | Icu_EdgeNumberType | 
| This type defines return value of Icu-Icu_GetEdgeNumbers. | |
| typedef void(* | Icu_NotifyFuncType) (void) | 
| Notification callback function pointer | |
| typedef uint8 | Icu_ChannelType | 
| This type defines Channel type. | |
| typedef uint32 | Icu_ChannelPrescalerType | 
| This type defines Prescaler type. | |
| void | Icu_Init (const Icu_ConfigType *ConfigPtr) | 
| Service for ICU initialization. | |
| void | Icu_DeInit (void) | 
| Service for ICU de-initialization. | |
| void | Icu_SetActivationCondition (Icu_ChannelType Channel, Icu_ActivationType Activation) | 
| Service for setting Activation Condition. | |
| void | Icu_DisableNotification (Icu_ChannelType Channel) | 
| Service for disabling notification. | |
| void | Icu_EnableNotification (Icu_ChannelType Channel) | 
| Service for enabling notification. | |
| Icu_InputStateType | Icu_GetInputState (Icu_ChannelType Channel) | 
| Service for getting the ICU input status. | |
| void | Icu_StartTimestamp (Icu_ChannelType Channel, Icu_ValueType *BufferPtr, uint16 BufferSize, uint16 NotifyInterval) | 
| Service for starts the captuing of timer values on the edges. | |
| void | Icu_StopTimestamp (Icu_ChannelType Channel) | 
| Service for stopping the timestamp measurement. | |
| Icu_IndexType | Icu_GetTimestampIndex (Icu_ChannelType Channel) | 
| Service for reading the timestamp index of a givem channel. | |
| void | Icu_ResetEdgeCount (Icu_ChannelType Channel) | 
| Service for resets the value of the counted edges to zero. | |
| void | Icu_EnableEdgeCount (Icu_ChannelType Channel) | 
| Service enabling the counting of edges of a given channel. | |
| void | Icu_DisableEdgeCount (Icu_ChannelType Channel) | 
| Service for disabling the couting of edges of the given channel. | |
| Icu_EdgeNumberType | Icu_GetEdgeNumbers (Icu_ChannelType Channel) | 
| Service for reading the number of counted edges. | |
| void | Icu_EnableEdgeDetection (Icu_ChannelType Channel) | 
| Service for enabling/re-enabling the detection of edges of the given channel. | |
| void | Icu_DisableEdgeDetection (Icu_ChannelType Channel) | 
| Service for disabling the detection of edges of the given channel. | |
| void | Icu_StartSignalMeasurement (Icu_ChannelType Channel) | 
| Service for starting the measurement of signals. | |
| void | Icu_StopSignalMeasurement (Icu_ChannelType Channel) | 
| Service for stopping the measurement of signals. | |
| Icu_ValueType | Icu_GetTimeElapsed (Icu_ChannelType Channel) | 
| Service for reading the elasped time for the given channel. | |
| void | Icu_GetDutyCycleValues (Icu_ChannelType Channel, Icu_DutyCycleType *DutyCycleValues) | 
| Service for reading the coherent active time and period time of given channel. | |
| void | Icu_CheckWakeup (EcuM_WakeupSourceType WakeupSource) | 
| This function checks if a wakeup capable ICU channel is the source for a wakeup event and calls the ECU state manager service EcuM_SetWakeupEvent in case of a valid ICU channel wakeup event. | |
| void | Icu_DisableWakeup (Icu_ChannelType Channel) | 
| This function disables the wakeup capability of a single ICU channel. | |
| void | Icu_EnableWakeup (Icu_ChannelType Channel) | 
| This function (re-)enables the wakeup capability of the given ICU channel. | |
| void | Icu_SetMode (Icu_ModeType Mode) | 
| This function sets the ICU mode. | |
| Std_ReturnType | Icu_RegisterReadback (Icu_ChannelType IcuChannel, Icu_RegisterReadbackType *RegRbPtr) | 
| Icu_IndexType | Icu_GetTimeStampIndex (Icu_ChannelType Channel) | 
| Data Structures | |
| struct | Icu_DutyCycleType | 
| This type defines Duty Cycle struct.  More... | |
| struct | Icu_ChannelConfigType_PC | 
| ICU Channel Config Structure of Pre-Compile only.  More... | |
| struct | Icu_ConfigType_PC | 
| ICU Config Structure of Pre-Compile only.  More... | |
| struct | Icu_ChannelConfigType | 
| ICU Channel Config Structure.  More... | |
| struct | Icu_ConfigType | 
| ICU Config Structure.  More... | |
| struct | Icu_RegisterReadbackType | 
| Icu register readback structure.  More... | |
| Macros | |
| ICU Driver ID Info | |
| #define | ICU_VENDOR_ID ((uint16) 44U) | 
| Texas Instruments Vendor ID. | |
| #define | ICU_MODULE_ID ((uint16) 122U) | 
| ICU Driver Module ID. | |
| #define | ICU_INSTANCE_ID ((uint8) 0U) | 
| ICU Driver Instance ID. | |
| ICU Driver Module SW Version Info | |
| Defines for ICU Driver version used for compatibility checks | |
| #define | ICU_SW_MAJOR_VERSION (9U) | 
| Driver Implementation Major Version. | |
| #define | ICU_SW_MINOR_VERSION (1U) | 
| Driver Implementation Minor Version. | |
| #define | ICU_SW_PATCH_VERSION (0U) | 
| Driver Implementation Patch Version. | |
| ICU Driver Module AUTOSAR Version Info | |
| Defines for ICU Driver AUTOSAR version used for compatibility checks | |
| #define | ICU_AR_RELEASE_MAJOR_VERSION (4U) | 
| AUTOSAR Major version specification implemented by ICU Driver. | |
| #define | ICU_AR_RELEASE_MINOR_VERSION (3U) | 
| AUTOSAR Minor version specification implemented by ICU Driver. | |
| #define | ICU_AR_RELEASE_REVISION_VERSION (1U) | 
| AUTOSAR Patch version specification implemented by ICU Driver. | |
| ICU Service IDs | |
| The Service Id is one of the argument to Det_ReportError function and is used to identify the source of the error | |
| #define | ICU_INIT_ID ((uint8) 0x00U) | 
| Icu_Init() API Service ID. | |
| #define | ICU_DEINIT_ID ((uint8) 0x01U) | 
| Icu_DeInit() API Service ID. | |
| #define | ICU_SETMODE_ID ((uint8) 0x02U) | 
| Icu_SetMode() API Service ID. | |
| #define | ICU_SETACTIVATIONCONDITION_ID ((uint8) 0x05U) | 
| Icu_SetActivationCondition() API Service ID. | |
| #define | ICU_DISABLENOTIFICATION_ID ((uint8) 0x06U) | 
| Icu_DisableNotification() API Service ID. | |
| #define | ICU_ENABLENOTIFICATION_ID ((uint8) 0x07U) | 
| Icu_EnableNotification() API Service ID. | |
| #define | ICU_GETINPUTSTATE_ID ((uint8) 0x08U) | 
| Icu_GetInputState() API Service ID. | |
| #define | ICU_STARTTIMESTAMP_ID ((uint8) 0x09U) | 
| Icu_StartTimestamp() API Service ID. | |
| #define | ICU_STOPTIMESTAMP_ID ((uint8) 0x0AU) | 
| Icu_StopTimestamp() API Service ID. | |
| #define | ICU_GETTIMESTAMPINDEX_ID ((uint8) 0x0BU) | 
| Icu_GetTimeStampIndex() API Service ID. | |
| #define | ICU_RESETEDGECOUNT_ID ((uint8) 0x0CU) | 
| Icu_ResetEdgeCount() API Service ID. | |
| #define | ICU_ENABLEEDGECOUNT_ID ((uint8) 0x0DU) | 
| Icu_EnableEdgeCount() API Service ID. | |
| #define | ICU_ENABLEEDGEDETECTION_ID ((uint8) 0x16U) | 
| Icu_EnableEdgeDetection() API Service ID. | |
| #define | ICU_DISABLEEDGEDETECTION_ID ((uint8) 0x17U) | 
| Icu_DisableEdgeDetection() API Service ID. | |
| #define | ICU_DISABLEEDGECOUNT_ID ((uint8) 0x0EU) | 
| Icu_DisableEdgeCount() API Service ID. | |
| #define | ICU_GETEDGENUMBERS_ID ((uint8) 0x0FU) | 
| Icu_GetEdgeNumbers() API Service ID. | |
| #define | ICU_STARTSIGNALMEASUREMENT_ID ((uint8) 0x13U) | 
| Icu_StartSignalMeasurement() API Service ID. | |
| #define | ICU_STOPSIGNALMEASUREMENT_ID ((uint8) 0x14U) | 
| Icu_StopSignalMeasurement() API Service ID. | |
| #define | ICU_GETTIMEELAPSED_ID ((uint8) 0x10U) | 
| Icu_GetTimeElapsed() API Service ID. | |
| #define | ICU_GETDUTYCYCLEVALUES_ID ((uint8) 0x11U) | 
| Icu_GetDutyCycleValues() API Service ID. | |
| #define | ICU_GETVERSIONINFO_ID ((uint8) 0x12U) | 
| Icu_GetVersionInfo() API Service ID. | |
| #define | ICU_SID_REGISTER_READBACK ((uint8) 0x18U) | 
| Icu_Regesterreadback() API Serviece ID. | |
| ICU Error Codes | |
| Error codes returned by ICU functions | |
| #define | ICU_E_PARAM_POINTER ((uint8) 0x0AU) | 
| API service called with invalid pointer. | |
| #define | ICU_E_PARAM_CHANNEL ((uint8) 0x0BU) | 
| API service called with invalid channel identifier or channel not configured. | |
| #define | ICU_E_PARAM_ACTIVATION ((uint8) 0x0CU) | 
| API service calleed with an invalid or not feasible activation. | |
| #define | ICU_E_INIT_FAILED ((uint8) 0x0DU) | 
| Init Function Failed. | |
| #define | ICU_E_PARAM_BUFFER_SIZE ((uint8) 0x0EU) | 
| API service used with invalid Buffer size. | |
| #define | ICU_E_PARAM_MODE ((uint8) 0x0FU) | 
| API service called with invalid mode. | |
| #define | ICU_E_UNINIT ((uint8) 0x14U) | 
| API service calleed without module initialisation. | |
| #define | ICU_E_NOT_STARTED ((uint8) 0x16U) | 
| Icu_StopTimestamp called on channel not started or already stopped. | |
| #define | ICU_E_BUSY_OPERATION ((uint8) 0x16U) | 
| API service called while a running operation. | |
| #define | ICU_E_ALREADY_INITIALIZED ((uint8) 0x17U) | 
| API service Icu_Init called when module already initialized. | |
| #define | ICU_E_PARAM_NOTIFY_INTERVAL ((uint8) 0x18U) | 
| API service called when notify interval is invalid. | |
| #define | ICU_E_PARAM_VINFO ((uint8) 0x19U) | 
| API service Icu_GetVersionInfo called and parameter is invalid. | |
| ICU Driver State Values | |
| The ICU Driver State Values | |
| #define | ICU_STATUS_UNINIT ((uint8)(0U)) | 
| ICU driver Status uninitialized. | |
| #define | ICU_STATUS_INIT ((uint8)(1U)) | 
| ICU driver Status Initialized. | |