MCUSW
Loading...
Searching...
No Matches
ICU Driver API

Introduction

This component provides services for initialization and control of the ICU unit. The ICU module captures and measures signals. signal period time.

See also
ICU Configuration
ICU Driver Interrupt Handlers

Sub Modules

 ICU Configuration
 
 ICU Driver Interrupt Handlers
 

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.
 

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)
 

Macro Definition Documentation

◆ ICU_VENDOR_ID

#define ICU_VENDOR_ID   ((uint16) 44U)

Texas Instruments Vendor ID.

◆ ICU_MODULE_ID

#define ICU_MODULE_ID   ((uint16) 122U)

ICU Driver Module ID.

◆ ICU_INSTANCE_ID

#define ICU_INSTANCE_ID   ((uint8) 0U)

ICU Driver Instance ID.

◆ ICU_SW_MAJOR_VERSION

#define ICU_SW_MAJOR_VERSION   (9U)

Driver Implementation Major Version.

◆ ICU_SW_MINOR_VERSION

#define ICU_SW_MINOR_VERSION   (1U)

Driver Implementation Minor Version.

◆ ICU_SW_PATCH_VERSION

#define ICU_SW_PATCH_VERSION   (0U)

Driver Implementation Patch Version.

◆ ICU_AR_RELEASE_MAJOR_VERSION

#define ICU_AR_RELEASE_MAJOR_VERSION   (4U)

AUTOSAR Major version specification implemented by ICU Driver.

◆ ICU_AR_RELEASE_MINOR_VERSION

#define ICU_AR_RELEASE_MINOR_VERSION   (3U)

AUTOSAR Minor version specification implemented by ICU Driver.

◆ ICU_AR_RELEASE_REVISION_VERSION

#define ICU_AR_RELEASE_REVISION_VERSION   (1U)

AUTOSAR Patch version specification implemented by ICU Driver.

◆ ICU_INIT_ID

#define ICU_INIT_ID   ((uint8) 0x00U)

Icu_Init() API Service ID.

◆ ICU_DEINIT_ID

#define ICU_DEINIT_ID   ((uint8) 0x01U)

Icu_DeInit() API Service ID.

◆ ICU_SETMODE_ID

#define ICU_SETMODE_ID   ((uint8) 0x02U)

Icu_SetMode() API Service ID.

◆ ICU_SETACTIVATIONCONDITION_ID

#define ICU_SETACTIVATIONCONDITION_ID   ((uint8) 0x05U)

◆ ICU_DISABLENOTIFICATION_ID

#define ICU_DISABLENOTIFICATION_ID   ((uint8) 0x06U)

Icu_DisableNotification() API Service ID.

◆ ICU_ENABLENOTIFICATION_ID

#define ICU_ENABLENOTIFICATION_ID   ((uint8) 0x07U)

Icu_EnableNotification() API Service ID.

◆ ICU_GETINPUTSTATE_ID

#define ICU_GETINPUTSTATE_ID   ((uint8) 0x08U)

Icu_GetInputState() API Service ID.

◆ ICU_STARTTIMESTAMP_ID

#define ICU_STARTTIMESTAMP_ID   ((uint8) 0x09U)

Icu_StartTimestamp() API Service ID.

◆ ICU_STOPTIMESTAMP_ID

#define ICU_STOPTIMESTAMP_ID   ((uint8) 0x0AU)

Icu_StopTimestamp() API Service ID.

◆ ICU_GETTIMESTAMPINDEX_ID

#define ICU_GETTIMESTAMPINDEX_ID   ((uint8) 0x0BU)

Icu_GetTimeStampIndex() API Service ID.

◆ ICU_RESETEDGECOUNT_ID

#define ICU_RESETEDGECOUNT_ID   ((uint8) 0x0CU)

Icu_ResetEdgeCount() API Service ID.

◆ ICU_ENABLEEDGECOUNT_ID

#define ICU_ENABLEEDGECOUNT_ID   ((uint8) 0x0DU)

Icu_EnableEdgeCount() API Service ID.

◆ ICU_ENABLEEDGEDETECTION_ID

#define ICU_ENABLEEDGEDETECTION_ID   ((uint8) 0x16U)

Icu_EnableEdgeDetection() API Service ID.

◆ ICU_DISABLEEDGEDETECTION_ID

#define ICU_DISABLEEDGEDETECTION_ID   ((uint8) 0x17U)

Icu_DisableEdgeDetection() API Service ID.

◆ ICU_DISABLEEDGECOUNT_ID

#define ICU_DISABLEEDGECOUNT_ID   ((uint8) 0x0EU)

Icu_DisableEdgeCount() API Service ID.

◆ ICU_GETEDGENUMBERS_ID

#define ICU_GETEDGENUMBERS_ID   ((uint8) 0x0FU)

Icu_GetEdgeNumbers() API Service ID.

◆ ICU_STARTSIGNALMEASUREMENT_ID

#define ICU_STARTSIGNALMEASUREMENT_ID   ((uint8) 0x13U)

◆ ICU_STOPSIGNALMEASUREMENT_ID

#define ICU_STOPSIGNALMEASUREMENT_ID   ((uint8) 0x14U)

Icu_StopSignalMeasurement() API Service ID.

◆ ICU_GETTIMEELAPSED_ID

#define ICU_GETTIMEELAPSED_ID   ((uint8) 0x10U)

Icu_GetTimeElapsed() API Service ID.

◆ ICU_GETDUTYCYCLEVALUES_ID

#define ICU_GETDUTYCYCLEVALUES_ID   ((uint8) 0x11U)

Icu_GetDutyCycleValues() API Service ID.

◆ ICU_GETVERSIONINFO_ID

#define ICU_GETVERSIONINFO_ID   ((uint8) 0x12U)

Icu_GetVersionInfo() API Service ID.

◆ ICU_SID_REGISTER_READBACK

#define ICU_SID_REGISTER_READBACK   ((uint8) 0x18U)

Icu_Regesterreadback() API Serviece ID.

◆ ICU_E_PARAM_POINTER

#define ICU_E_PARAM_POINTER   ((uint8) 0x0AU)

API service called with invalid pointer.

◆ ICU_E_PARAM_CHANNEL

#define ICU_E_PARAM_CHANNEL   ((uint8) 0x0BU)

API service called with invalid channel identifier or channel not configured.

◆ ICU_E_PARAM_ACTIVATION

#define ICU_E_PARAM_ACTIVATION   ((uint8) 0x0CU)

API service calleed with an invalid or not feasible activation.

◆ ICU_E_INIT_FAILED

#define ICU_E_INIT_FAILED   ((uint8) 0x0DU)

Init Function Failed.

◆ ICU_E_PARAM_BUFFER_SIZE

#define ICU_E_PARAM_BUFFER_SIZE   ((uint8) 0x0EU)

API service used with invalid Buffer size.

◆ ICU_E_PARAM_MODE

#define ICU_E_PARAM_MODE   ((uint8) 0x0FU)

API service called with invalid mode.

◆ ICU_E_UNINIT

#define ICU_E_UNINIT   ((uint8) 0x14U)

API service calleed without module initialisation.

◆ ICU_E_NOT_STARTED

#define ICU_E_NOT_STARTED   ((uint8) 0x16U)

Icu_StopTimestamp called on channel not started or already stopped.

◆ ICU_E_BUSY_OPERATION

#define ICU_E_BUSY_OPERATION   ((uint8) 0x16U)

API service called while a running operation.

◆ ICU_E_ALREADY_INITIALIZED

#define ICU_E_ALREADY_INITIALIZED   ((uint8) 0x17U)

API service Icu_Init called when module already initialized.

◆ ICU_E_PARAM_NOTIFY_INTERVAL

#define ICU_E_PARAM_NOTIFY_INTERVAL   ((uint8) 0x18U)

API service called when notify interval is invalid.

◆ ICU_E_PARAM_VINFO

#define ICU_E_PARAM_VINFO   ((uint8) 0x19U)

API service Icu_GetVersionInfo called and parameter is invalid.

◆ ICU_STATUS_UNINIT

#define ICU_STATUS_UNINIT   ((uint8)(0U))

ICU driver Status uninitialized.

◆ ICU_STATUS_INIT

#define ICU_STATUS_INIT   ((uint8)(1U))

ICU driver Status Initialized.

◆ ICU_FALLING

#define ICU_FALLING   ((uint8)(0U))

Capture regsiter configuration for FALLING edge

◆ ICU_RISING

#define ICU_RISING   ((uint8)(1U))

Capture regsiter configuration for RISING edge

Typedef Documentation

◆ Icu_ValueType

typedef uint32 Icu_ValueType

This type defines Value type.

◆ Icu_IndexType

typedef uint32 Icu_IndexType

This type defines return value Icu_GetTimeStampIndex.

◆ Icu_EdgeNumberType

typedef uint32 Icu_EdgeNumberType

This type defines return value of Icu-Icu_GetEdgeNumbers.

◆ Icu_NotifyFuncType

typedef void(* Icu_NotifyFuncType) (void)

Notification callback function pointer

◆ Icu_ChannelType

typedef uint8 Icu_ChannelType

This type defines Channel type.

◆ Icu_ChannelPrescalerType

typedef uint32 Icu_ChannelPrescalerType

This type defines Prescaler type.

Enumeration Type Documentation

◆ Icu_ModeType

This type defines a range of mode type.

Enumerator
ICU_MODE_NORMAL 

Normal Mode

ICU_MODE_SLEEP 

Sleep Mode

◆ Icu_InputStateType

This type defines a input state of ICU driver.

Enumerator
ICU_ACTIVE 

Module is in active state

ICU_IDLE 

Module is in idle state

◆ Icu_ActivationType

This type defines Activation range.

Enumerator
ICU_RISING_EDGE 

Rising Edge Activation type

ICU_FALLING_EDGE 

Falling Edge Activation type

ICU_BOTH_EDGES 

Both Edge Activation type

◆ Icu_MeasurementModeType

This type defines available measurement modes.

Enumerator
ICU_MODE_SIGNAL_EDGE_DETECT 

Signal Edge Detect Mode

ICU_MODE_SIGNAL_MEASUREMENT 

Signal measurement Mode

ICU_MODE_TIMESTAMP 

Signal Timestamp Mode

ICU_MODE_EDGE_COUNTER 

Signal Edge counter Mode

◆ Icu_SignalMeasurementPropertyType

This type defines Signal Measurement Property range.

Enumerator
ICU_LOW_TIME 

Signal Low time

ICU_HIGH_TIME 

Signal High time

ICU_PERIOD_TIME 

Signal Period time

ICU_DUTY_CYCLE 

Signal Duty Cycle time

◆ Icu_TimestampBufferType

This type defines TimeStamp Property range.

Enumerator
ICU_LINEAR_BUFFER 

Linear Buffer to be used in Timestamp

ICU_CIRCULAR_BUFFER 

Circular Buffer to be used in Timestamp

Function Documentation

◆ Icu_Init()

void Icu_Init ( const Icu_ConfigType * ConfigPtr)

Service for ICU initialization.

*  Service name        : Icu_Init
*  Syntax              : Icu_Init(const Icu_ConfigType* ConfigPtr)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x00
*  Sync/Async          : Synchronous
*  Reentrancy          : Non Reentrant
*  Parameters (in)     : Pointer to the configuration
*  Parameters (out)    : None
*  Return value        : void
*  Description         : Initializes internal variables
*                        and the ECAP unit of the micro controller.
*                        The function can be called on task level.
*  

◆ Icu_DeInit()

void Icu_DeInit ( void )

Service for ICU de-initialization.

*  Service name        : Icu_DeInit
*  Syntax              : Icu_DeInit(void)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x01
*  Sync/Async          : Synchronous
*  Reentrancy          : Non Reentrant
*  Parameters (in)     : None
*  Parameters (out)    : None
*  Return value        : void
*  Description         :  DeInit ECAP module
*  

◆ Icu_SetActivationCondition()

void Icu_SetActivationCondition ( Icu_ChannelType Channel,
Icu_ActivationType Activation )

Service for setting Activation Condition.

*  Service name        : Icu_SetActivationCondition
*  Syntax              : Icu_SetActivationCondition(Icu_ChannelType Channel,
*                                              Icu_ActivationType Activation)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x05
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (in)     : Icu_ActivationType Activation
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service sets the Activation edge for channel
*                          Type of activation (if supported by hardware)
*                          ICU_RISING_EDGE, ICU_FALLING_EDGE, ICU_BOTH_EDGES
*  

◆ Icu_DisableNotification()

void Icu_DisableNotification ( Icu_ChannelType Channel)

Service for disabling notification.

*  Service name        : Icu_DisableNotification
*  Syntax              : Icu_DisableNotification(Icu_ChannelType Channel)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x06
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service disables the notificaiton of a channel
*  

◆ Icu_EnableNotification()

void Icu_EnableNotification ( Icu_ChannelType Channel)

Service for enabling notification.

*  Service name        : Icu_EnableNotification
*  Syntax              : Icu_EnableNotification(Icu_ChannelType Channel)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x07
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service enables the notificaiton of a channel
*  

◆ Icu_GetInputState()

Icu_InputStateType Icu_GetInputState ( Icu_ChannelType Channel)

Service for getting the ICU input status.

*  Service name        : Icu_GetInputState
*  Syntax              : Icu_GetInputState(Icu_ChannelType Channel)
*  Mode                : User Mode (Non-Privileged Mode)
*  Service ID[hex]     : 0x08
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service returns the status of the ICU input
*  

◆ Icu_StartTimestamp()

void Icu_StartTimestamp ( Icu_ChannelType Channel,
Icu_ValueType * BufferPtr,
uint16 BufferSize,
uint16 NotifyInterval )

Service for starts the captuing of timer values on the edges.

*  Service name        : Icu_StartTimestamp
*  Syntax              : Icu_StartTimestamp(Icu_ChannelType Channel,
*                                          Icu_ValueType* BufferPtr,
*                                          uint16 BufferSize,
*                                          uint16 NotifyInterval)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x09
*  Sync/Async          : Asynchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (in)     : uint16 BufferSize
*  Parameters (in)     : uint16 NotifyInterval
*  Parameters (out)    : Icu_ValueType* BufferPtr
*  Return value        : void
*  Description         : This service starts the capturing of timer values on the edges
*  

◆ Icu_StopTimestamp()

void Icu_StopTimestamp ( Icu_ChannelType Channel)

Service for stopping the timestamp measurement.

*  Service name        : Icu_StopTimestamp
*  Syntax              : Icu_StopTimestamp(Icu_ChannelType Channel)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x0A
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service stops timestamp measurement of the given channel.
*  

◆ Icu_GetTimestampIndex()

Icu_IndexType Icu_GetTimestampIndex ( Icu_ChannelType Channel)

Service for reading the timestamp index of a givem channel.

*  Service name        : Icu_GetTimestampIndex
*  Syntax              : Icu_GetTimestampIndex(Icu_ChannelType Channel)
*  Mode                : User Mode (Non-Privileged Mode)
*  Service ID[hex]     : 0x0B
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service reads the timestamp index of a given channel.
*  

◆ Icu_ResetEdgeCount()

void Icu_ResetEdgeCount ( Icu_ChannelType Channel)

Service for resets the value of the counted edges to zero.

*  Service name        : Icu_ResetEdgeCount
*  Syntax              : Icu_ResetEdgeCount(Icu_ChannelType Channel)
*  Mode                : User Mode (Non-Privileged Mode)
*  Service ID[hex]     : 0x0C
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service resets the value of the counted edges to zero.
*  

◆ Icu_EnableEdgeCount()

void Icu_EnableEdgeCount ( Icu_ChannelType Channel)

Service enabling the counting of edges of a given channel.

*  Service name        : Icu_EnableEdgeCount
*  Syntax              : Icu_EnableEdgeCount(Icu_ChannelType Channel)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x0D
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service enables the couting of edges of the given channel.
*  

◆ Icu_DisableEdgeCount()

void Icu_DisableEdgeCount ( Icu_ChannelType Channel)

Service for disabling the couting of edges of the given channel.

*  Service name        : Icu_DisableEdgeCount
*  Syntax              : Icu_DisableEdgeCount(Icu_ChannelType Channel)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x0E
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service disables the couting of edges of a given channel.
*  

◆ Icu_GetEdgeNumbers()

Icu_EdgeNumberType Icu_GetEdgeNumbers ( Icu_ChannelType Channel)

Service for reading the number of counted edges.

*  Service name        : Icu_GetEdgeNumbers
*  Syntax              : Icu_GetEdgeNumbers(Icu_ChannelType Channel)
*  Mode                : User Mode (Non-Privileged Mode)
*  Service ID[hex]     : 0x0F
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service reads the number of counted edges.
*  

◆ Icu_EnableEdgeDetection()

void Icu_EnableEdgeDetection ( Icu_ChannelType Channel)

Service for enabling/re-enabling the detection of edges of the given channel.

*  Service name        : Icu_EnableEdgeDetection
*  Syntax              : Icu_EnableEdgeDetection(Icu_ChannelType Channel)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x16
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service enables/re-enables the detection of edges of a channel.
*  

◆ Icu_DisableEdgeDetection()

void Icu_DisableEdgeDetection ( Icu_ChannelType Channel)

Service for disabling the detection of edges of the given channel.

*  Service name        : Icu_EnableEdgeDetection
*  Syntax              : Icu_EnableEdgeDetection(Icu_ChannelType Channel)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x17
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service disables the detection of edges of a channel.
*  

◆ Icu_StartSignalMeasurement()

void Icu_StartSignalMeasurement ( Icu_ChannelType Channel)

Service for starting the measurement of signals.

*  Service name        : Icu_StartSignalMeasurement
*  Syntax              : Icu_StartSignalMeasurement(Icu_ChannelType Channel)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x13
*  Sync/Async          : Asynchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service starts the measurement of signals of a given channel.
*  

◆ Icu_StopSignalMeasurement()

void Icu_StopSignalMeasurement ( Icu_ChannelType Channel)

Service for stopping the measurement of signals.

*  Service name        : Icu_StopSignalMeasurement
*  Syntax              : Icu_StopSignalMeasurement(Icu_ChannelType Channel)
*  Mode                : Supervisor Mode (Privileged Mode)
*  Service ID[hex]     : 0x14
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service stops the measurement of signals of a given channel.
*  

◆ Icu_GetTimeElapsed()

Icu_ValueType Icu_GetTimeElapsed ( Icu_ChannelType Channel)

Service for reading the elasped time for the given channel.

*  Service name        : Icu_GetTimeElapsed
*  Syntax              : Icu_GetTimeElapsed(Icu_ChannelType Channel)
*  Mode                : User Mode (Non-Privileged Mode)
*  Service ID[hex]     : 0x10
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : None
*  Return value        : void
*  Description         : This service reads elasped time for a given channel.
*  

◆ Icu_GetDutyCycleValues()

void Icu_GetDutyCycleValues ( Icu_ChannelType Channel,
Icu_DutyCycleType * DutyCycleValues )

Service for reading the coherent active time and period time of given channel.

*  Service name        : Icu_GetTimeElapsed
*  Syntax              : Icu_GetTimeElapsed(Icu_ChannelType Channel,
*                                           Icu_DutyCycleType* DutyCycleValues)
*  Mode                : User Mode (Non-Privileged Mode)
*  Service ID[hex]     : 0x11
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant
*  Parameters (in)     : Icu_ChannelType Channel
*  Parameters (out)    : Icu_DutyCycleType* DutyCycleValues
*  Return value        : void
*  Description         : This service reads active time and period of given channel.
*  

◆ Icu_CheckWakeup()

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.

*  Service name        : Icu_CheckWakeup
*  Syntax              : void Icu_CheckWakeup(EcuM_WakeupSourceType WakeupSource)
*  Service ID[hex]     : 0x19
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant(limited according to ICU050)
*  Parameters (in)     : WakeupSource
*                        Informatin on wakeup source to be checked.
                         The associated ICU channel can be determined from configuration data
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : None
*  Description         : 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.
*  

◆ Icu_DisableWakeup()

void Icu_DisableWakeup ( Icu_ChannelType Channel)

This function disables the wakeup capability of a single ICU channel.

*  Service name        : Icu_DisableWakeup
*  Syntax              : void Icu_DisableWakeup(Icu_ChannelType Channel)
*  Service ID[hex]     : 0x20
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant(limited according to ICU050)
*  Parameters (in)     : Channel
*                        Numeric identifier of the ICU channel
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : None
*  Description         : This function disables the wakeup capability of a single ICU channel.
*  

◆ Icu_EnableWakeup()

void Icu_EnableWakeup ( Icu_ChannelType Channel)

This function (re-)enables the wakeup capability of the given ICU channel.

*  Service name        : Icu_EnableWakeup
*  Syntax              : void Icu_EnableWakeup(Icu_ChannelType Channel)
*  Service ID[hex]     : 0x21
*  Sync/Async          : Synchronous
*  Reentrancy          : Reentrant(limited according to ICU050)
*  Parameters (in)     : Channel
*                        Numeric identifier of the ICU channel
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : None
*  Description         : This function (re-)enables the wakeup capability of the given ICU channel.
*  

◆ Icu_SetMode()

void Icu_SetMode ( Icu_ModeType Mode)

This function sets the ICU mode.

*  Service name        : Icu_SetMode
*  Syntax              : void  Icu_SetMode(Icu_ModeType Mode)
*  Service ID[hex]     : 0x22
*  Sync/Async          : Synchronous
*  Reentrancy          : Non Reentrant
*  Parameters (in)     : Mode
*                        ICU_MODE_NORMAL: Normal operation, all used interrupts are enabled 
*                        according to the notification requests.
*                        ICU_MODE_SLEEP: Reduced power mode. In sleep mode only those 
*                        notifications are available which are configured as wakeup capable.
*  Parameters (inout)  : None
*  Parameters (out)    : None
*  Return value        : None
*  Description         : This function sets the ICU mode.
*  

◆ Icu_RegisterReadback()

Std_ReturnType Icu_RegisterReadback ( Icu_ChannelType IcuChannel,
Icu_RegisterReadbackType * RegRbPtr )

◆ Icu_GetTimeStampIndex()

Icu_IndexType Icu_GetTimeStampIndex ( Icu_ChannelType Channel)