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. More... | |
#define | ICU_RISING ((uint8)(1U)) |
Capture regsiter configuration for RISING edge. More... | |
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. More... | |
typedef uint32 | Icu_IndexType |
This type defines return value Icu_GetTimeStampIndex. More... | |
typedef uint32 | Icu_EdgeNumberType |
This type defines return value of Icu-Icu_GetEdgeNumbers. More... | |
typedef void(* | Icu_NotifyFuncType) (void) |
Notification callback function pointer. More... | |
typedef uint8 | Icu_ChannelType |
This type defines Channel type. More... | |
typedef uint32 | Icu_ChannelPrescalerType |
This type defines Prescaler type. More... | |
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. More... | |
#define | ICU_MODULE_ID ((uint16) 122U) |
ICU Driver Module ID. More... | |
#define | ICU_INSTANCE_ID ((uint8) 0U) |
ICU Driver Instance ID. More... | |
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. More... | |
#define | ICU_SW_MINOR_VERSION (0U) |
Driver Implementation Minor Version. More... | |
#define | ICU_SW_PATCH_VERSION (1U) |
Driver Implementation Patch Version. More... | |
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. More... | |
#define | ICU_AR_RELEASE_MINOR_VERSION (3U) |
AUTOSAR Minor version specification implemented by ICU Driver. More... | |
#define | ICU_AR_RELEASE_REVISION_VERSION (1U) |
AUTOSAR Patch version specification implemented by ICU Driver. More... | |
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. More... | |
#define | ICU_DEINIT_ID ((uint8) 0x01U) |
Icu_DeInit() API Service ID. More... | |
#define | ICU_SETMODE_ID ((uint8) 0x02U) |
Icu_SetMode() API Service ID. More... | |
#define | ICU_SETACTIVATIONCONDITION_ID ((uint8) 0x05U) |
Icu_SetActivationCondition() API Service ID. More... | |
#define | ICU_DISABLENOTIFICATION_ID ((uint8) 0x06U) |
Icu_DisableNotification() API Service ID. More... | |
#define | ICU_ENABLENOTIFICATION_ID ((uint8) 0x07U) |
Icu_EnableNotification() API Service ID. More... | |
#define | ICU_GETINPUTSTATE_ID ((uint8) 0x08U) |
Icu_GetInputState() API Service ID. More... | |
#define | ICU_STARTTIMESTAMP_ID ((uint8) 0x09U) |
Icu_StartTimestamp() API Service ID. More... | |
#define | ICU_STOPTIMESTAMP_ID ((uint8) 0x0AU) |
Icu_StopTimestamp() API Service ID. More... | |
#define | ICU_GETTIMESTAMPINDEX_ID ((uint8) 0x0BU) |
Icu_GetTimeStampIndex() API Service ID. More... | |
#define | ICU_RESETEDGECOUNT_ID ((uint8) 0x0CU) |
Icu_ResetEdgeCount() API Service ID. More... | |
#define | ICU_ENABLEEDGECOUNT_ID ((uint8) 0x0DU) |
Icu_EnableEdgeCount() API Service ID. More... | |
#define | ICU_ENABLEEDGEDETECTION_ID ((uint8) 0x16U) |
Icu_EnableEdgeDetection() API Service ID. More... | |
#define | ICU_DISABLEEDGEDETECTION_ID ((uint8) 0x17U) |
Icu_DisableEdgeDetection() API Service ID. More... | |
#define | ICU_DISABLEEDGECOUNT_ID ((uint8) 0x0EU) |
Icu_DisableEdgeCount() API Service ID. More... | |
#define | ICU_GETEDGENUMBERS_ID ((uint8) 0x0FU) |
Icu_GetEdgeNumbers() API Service ID. More... | |
#define | ICU_STARTSIGNALMEASUREMENT_ID ((uint8) 0x13U) |
Icu_StartSignalMeasurement() API Service ID. More... | |
#define | ICU_STOPSIGNALMEASUREMENT_ID ((uint8) 0x14U) |
Icu_StopSignalMeasurement() API Service ID. More... | |
#define | ICU_GETTIMEELAPSED_ID ((uint8) 0x10U) |
Icu_GetTimeElapsed() API Service ID. More... | |
#define | ICU_GETDUTYCYCLEVALUES_ID ((uint8) 0x11U) |
Icu_GetDutyCycleValues() API Service ID. More... | |
#define | ICU_GETVERSIONINFO_ID ((uint8) 0x12U) |
Icu_GetVersionInfo() API Service ID. More... | |
#define | ICU_SID_REGISTER_READBACK ((uint8) 0x18U) |
Icu_Regesterreadback() API Serviece ID. More... | |
ICU Error Codes | |
Error codes returned by ICU functions | |
#define | ICU_E_PARAM_POINTER ((uint8) 0x0AU) |
API service called with invalid pointer. More... | |
#define | ICU_E_PARAM_CHANNEL ((uint8) 0x0BU) |
API service called with invalid channel identifier or channel not configured. More... | |
#define | ICU_E_PARAM_ACTIVATION ((uint8) 0x0CU) |
API service calleed with an invalid or not feasible activation. More... | |
#define | ICU_E_INIT_FAILED ((uint8) 0x0DU) |
Init Function Failed. More... | |
#define | ICU_E_PARAM_BUFFER_SIZE ((uint8) 0x0EU) |
API service used with invalid Buffer size. More... | |
#define | ICU_E_PARAM_MODE ((uint8) 0x0FU) |
API service called with invalid mode. More... | |
#define | ICU_E_UNINIT ((uint8) 0x14U) |
API service calleed without module initialisation. More... | |
#define | ICU_E_NOT_STARTED ((uint8) 0x16U) |
Icu_StopTimestamp called on channel not started or already stopped. More... | |
#define | ICU_E_BUSY_OPERATION ((uint8) 0x16U) |
API service called while a running operation. More... | |
#define | ICU_E_ALREADY_INITIALIZED ((uint8) 0x17U) |
API service Icu_Init called when module already initialized. More... | |
#define | ICU_E_PARAM_NOTIFY_INTERVAL ((uint8) 0x18U) |
API service called when notify interval is invalid. More... | |
#define | ICU_E_PARAM_VINFO ((uint8) 0x19U) |
API service Icu_GetVersionInfo called and parameter is invalid. More... | |
ICU Driver State Values | |
The ICU Driver State Values | |
#define | ICU_STATUS_UNINIT ((uint8)(0U)) |
ICU driver Status uninitialized. More... | |
#define | ICU_STATUS_INIT ((uint8)(1U)) |
ICU driver Status Initialized. More... | |
Functions | |
void | Icu_Init (const Icu_ConfigType *ConfigPtr) |
Service for ICU initialization. More... | |
void | Icu_DeInit (void) |
Service for ICU de-initialization. More... | |
void | Icu_SetActivationCondition (Icu_ChannelType Channel, Icu_ActivationType Activation) |
Service for setting Activation Condition. More... | |
void | Icu_DisableNotification (Icu_ChannelType Channel) |
Service for disabling notification. More... | |
void | Icu_EnableNotification (Icu_ChannelType Channel) |
Service for enabling notification. More... | |
Icu_InputStateType | Icu_GetInputState (Icu_ChannelType Channel) |
Service for getting the ICU input status. More... | |
void | Icu_StartTimestamp (Icu_ChannelType Channel, Icu_ValueType *BufferPtr, uint16 BufferSize, uint16 NotifyInterval) |
Service for starts the captuing of timer values on the edges. More... | |
void | Icu_StopTimestamp (Icu_ChannelType Channel) |
Service for stopping the timestamp measurement. More... | |
Icu_IndexType | Icu_GetTimestampIndex (Icu_ChannelType Channel) |
Service for reading the timestamp index of a givem channel. More... | |
void | Icu_ResetEdgeCount (Icu_ChannelType Channel) |
Service for resets the value of the counted edges to zero. More... | |
void | Icu_EnableEdgeCount (Icu_ChannelType Channel) |
Service enabling the counting of edges of a given channel. More... | |
void | Icu_DisableEdgeCount (Icu_ChannelType Channel) |
Service for disabling the couting of edges of the given channel. More... | |
Icu_EdgeNumberType | Icu_GetEdgeNumbers (Icu_ChannelType Channel) |
Service for reading the number of counted edges. More... | |
void | Icu_EnableEdgeDetection (Icu_ChannelType Channel) |
Service for enabling/re-enabling the detection of edges of the given channel. More... | |
void | Icu_DisableEdgeDetection (Icu_ChannelType Channel) |
Service for disabling the detection of edges of the given channel. More... | |
void | Icu_StartSignalMeasurement (Icu_ChannelType Channel) |
Service for starting the measurement of signals. More... | |
void | Icu_StopSignalMeasurement (Icu_ChannelType Channel) |
Service for stopping the measurement of signals. More... | |
Icu_ValueType | Icu_GetTimeElapsed (Icu_ChannelType Channel) |
Service for reading the elasped time for the given channel. More... | |
void | Icu_GetDutyCycleValues (Icu_ChannelType Channel, Icu_DutyCycleType *DutyCycleValues) |
Service for reading the coherent active time and period time of given channel. More... | |
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. More... | |
void | Icu_DisableWakeup (Icu_ChannelType Channel) |
This function disables the wakeup capability of a single ICU channel. More... | |
void | Icu_EnableWakeup (Icu_ChannelType Channel) |
This function (re-)enables the wakeup capability of the given ICU channel. More... | |
void | Icu_SetMode (Icu_ModeType Mode) |
This function sets the ICU mode. More... | |
Std_ReturnType | Icu_RegisterReadback (Icu_ChannelType IcuChannel, Icu_RegisterReadbackType *RegRbPtr) |
Icu_IndexType | Icu_GetTimeStampIndex (Icu_ChannelType Channel) |