5.14. ICU

5.14.1. Types

Base type

Type Name

Brief

enum

Icu_ModeType

This type defines a range of mode type.

enum

Icu_InputStateType

This type defines a input state of ICU driver.

enum

Icu_ActivationType

This type defines Activation range.

enum

Icu_XbarSelect

This type defines Input XBAR.

enum

Icu_IntrCapSelect

This type defines ECAP selection.

enum

Icu_MeasurementModeType

This type defines available measurement modes.

enum

Icu_SignalMeasurementPropertyType

This type defines Signal Measurement Property range.

enum

Icu_TimestampBufferType

This type defines TimeStamp Property range.

typedef uint16

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(*)(void)

Icu_NotifyFuncType

Notification callback function pointer

typedef uint8

Icu_ChannelType

This type defines Channel type.

typedef uint8

Icu_ChannelPrescalerType

This type defines Prescaler type.

5.14.1.1. enum Icu_ModeType

Enumerator

Value

Description

ICU_MODE_NORMAL

Normal Mode.

ICU_MODE_SLEEP

Sleep Mode.

Brief: This type defines a range of mode type.

5.14.1.2. enum Icu_InputStateType

Enumerator

Value

Description

ICU_ACTIVE

Module is in active state.

ICU_IDLE

Module is in idle state.

Brief: This type defines a input state of ICU driver.

5.14.1.3. enum Icu_ActivationType

Enumerator

Value

Description

ICU_RISING_EDGE

Rising Edge Activation type.

ICU_FALLING_EDGE

Falling Edge Activation type.

ICU_BOTH_EDGES

Both Edge Activation type.

Brief: This type defines Activation range.

5.14.1.4. enum Icu_XbarSelect

Enumerator

Value

Description

INPUT_XBAR_0

=202

XBAR 0.

INPUT_XBAR_1

XBAR 1.

INPUT_XBAR_2

XBAR 2.

INPUT_XBAR_3

XBAR 3.

INPUT_XBAR_4

XBAR 4.

INPUT_XBAR_5

XBAR 5.

INPUT_XBAR_6

XBAR 6.

INPUT_XBAR_7

XBAR 7.

INPUT_XBAR_8

XBAR 8.

INPUT_XBAR_9

XBAR 9.

INPUT_XBAR_10

XBAR 10.

INPUT_XBAR_11

XBAR 11.

INPUT_XBAR_12

XBAR 12.

INPUT_XBAR_13

XBAR 13.

INPUT_XBAR_14

XBAR 14.

INPUT_XBAR_15

XBAR 15.

INPUT_XBAR_16

XBAR 16.

INPUT_XBAR_17

XBAR 17.

INPUT_XBAR_18

XBAR 18.

INPUT_XBAR_19

XBAR 19.

INPUT_XBAR_20

XBAR 20.

INPUT_XBAR_21

XBAR 21.

INPUT_XBAR_22

XBAR 22.

INPUT_XBAR_23

XBAR 23.

INPUT_XBAR_24

XBAR 24.

INPUT_XBAR_25

XBAR 25.

INPUT_XBAR_26

XBAR 26.

INPUT_XBAR_27

XBAR 27.

INPUT_XBAR_28

XBAR 28.

INPUT_XBAR_29

XBAR 29.

INPUT_XBAR_30

XBAR 30.

INPUT_XBAR_31

XBAR 31.

Brief: This type defines Input XBAR.

5.14.1.5. enum Icu_IntrCapSelect

Enumerator

Value

Description

ECAP_CEVT1_INT

CSL_ECAP_ECEINT_ECFLG_CEVT1_MASK

ECAP_CEVT2_INT

CSL_ECAP_ECEINT_ECFLG_CEVT2_MASK

ECAP_CEVT3_INT

CSL_ECAP_ECEINT_ECFLG_CEVT3_MASK

ECAP_CEVT4_INT

CSL_ECAP_ECEINT_ECFLG_CEVT4_MASK

ECAP_CEVT1_CEVT2_INT

CSL_ECAP_ECEINT_ECFLG_CEVT1_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT2_MASK

ECAP_CEVT1_CEVT3_INT

CSL_ECAP_ECEINT_ECFLG_CEVT1_MASK| CSL_ECAP_ECEINT_ECFLG_CEVT3_MASK

ECAP_CEVT1_CEVT4_INT

CSL_ECAP_ECEINT_ECFLG_CEVT1_MASK| CSL_ECAP_ECEINT_ECFLG_CEVT4_MASK

ECAP_CEVT2_CEVT3_INT

CSL_ECAP_ECEINT_ECFLG_CEVT2_MASK| CSL_ECAP_ECEINT_ECFLG_CEVT3_MASK

ECAP_CEVT2_CEVT4_INT

CSL_ECAP_ECEINT_ECFLG_CEVT2_MASK| CSL_ECAP_ECEINT_ECFLG_CEVT4_MASK

ECAP_CEVT3_CEVT4_INT

CSL_ECAP_ECEINT_ECFLG_CEVT3_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT4_MASK

ECAP_CEVT1_CEVT2_CEVT3_INT

CSL_ECAP_ECEINT_ECFLG_CEVT1_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT2_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT3_MASK

ECAP_CEVT1_CEVT2_CEVT4_INT

=CSL_ECAP_ECEINT_ECFLG_CEVT1_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT2_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT4_MASK

ECAP_CEVT1_CEVT3_CEVT4_INT

=CSL_ECAP_ECEINT_ECFLG_CEVT1_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT3_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT4_MASK

ECAP_CEVT2_CEVT3_CEVT4_INT

=CSL_ECAP_ECEINT_ECFLG_CEVT2_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT3_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT4_MASK

ECAP_INT_ALLCAPS

CSL_ECAP_ECEINT_ECFLG_CEVT1_MASK|CSL_ECAP_ECEINT_ECFLG_CEVT2_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT3_MASK | CSL_ECAP_ECEINT_ECFLG_CEVT4_MASK

Brief: This type defines ECAP selection.

5.14.1.6. enum Icu_MeasurementModeType

Enumerator

Value

Description

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.

Brief: This type defines available measurement modes.

5.14.1.7. enum Icu_SignalMeasurementPropertyType

Enumerator

Value

Description

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.

Brief: This type defines Signal Measurement Property range.

5.14.1.8. enum Icu_TimestampBufferType

Enumerator

Value

Description

ICU_LINEAR_BUFFER

Linear Buffer to be used in Timestamp.

ICU_CIRCULAR_BUFFER

Circular Buffer to be used in Timestamp.

Brief: This type defines TimeStamp Property range.

5.14.1.9. typedef Icu_ValueType

typedef uint16 Icu_ValueType;

Brief: This type defines Value type.

5.14.1.10. typedef Icu_IndexType

typedef uint32 Icu_IndexType;

Brief: This type defines return value Icu_GetTimeStampIndex.

5.14.1.11. typedef Icu_EdgeNumberType

typedef uint32 Icu_EdgeNumberType;

Brief: This type defines return value of Icu-Icu_GetEdgeNumbers.

5.14.1.12. typedef Icu_NotifyFuncType

typedef void(* Icu_NotifyFuncType) (void);

Brief: Notification callback function pointer

5.14.1.13. typedef Icu_ChannelType

typedef uint8 Icu_ChannelType;

Brief: This type defines Channel type.

5.14.1.14. typedef Icu_ChannelPrescalerType

typedef uint8 Icu_ChannelPrescalerType;

Brief: This type defines Prescaler type.

5.14.2. Structures

Name

Brief

Icu_DutyCycleType

This type defines Duty Cycle struct.

Icu_ChannelConfigType_PC

ICU Channel Config Structure of Pre-Compile only.

Icu_ConfigType_PC

ICU Config Structure of Pre-Compile only.

Icu_ChannelConfigType

ICU Channel Config Structure.

Icu_ConfigType

ICU Config Structure.

5.14.3. Defines

Name

Brief

ICU_VENDOR_ID

Texas Instruments Vendor ID.

ICU_MODULE_ID

ICU Driver Module ID.

ICU_INSTANCE_ID

ICU Driver Instance ID.

ICU_SW_MAJOR_VERSION

Driver Implementation Major Version.

ICU_SW_MINOR_VERSION

Driver Implementation Minor Version.

ICU_SW_PATCH_VERSION

Driver Implementation Patch Version.

ICU_AR_RELEASE_MAJOR_VERSION

AUTOSAR Major version specification implemented by ICU Driver.

ICU_AR_RELEASE_MINOR_VERSION

AUTOSAR Minor version specification implemented by ICU Driver.

ICU_AR_RELEASE_REVISION_VERSION

AUTOSAR Patch version specification implemented by ICU Driver.

ICU_ISR_VOID

void ISR type

ICU_ISR_CAT1

Category 1 ISR type.

ICU_ISR_CAT2

Category 2 ISR type.

ICU_INIT_ID

Icu_Init() API Service ID.

ICU_DEINIT_ID

Icu_DeInit() API Service ID.

ICU_SETMODE_ID

Icu_SetMode() API Service ID.

ICU_SETACTIVATIONCONDITION_ID

Icu_SetActivationCondition() API Service ID.

ICU_DISABLENOTIFICATION_ID

Icu_DisableNotification() API Service ID.

ICU_ENABLENOTIFICATION_ID

Icu_EnableNotification() API Service ID.

ICU_GETINPUTSTATE_ID

Icu_GetInputState() API Service ID.

ICU_STARTTIMESTAMP_ID

Icu_StartTimestamp() API Service ID.

ICU_STOPTIMESTAMP_ID

Icu_StopTimestamp() API Service ID.

ICU_GETTIMESTAMPINDEX_ID

Icu_GetTimeStampIndex() API Service ID.

ICU_RESETEDGECOUNT_ID

Icu_ResetEdgeCount() API Service ID.

ICU_ENABLEEDGECOUNT_ID

Icu_EnableEdgeCount() API Service ID.

ICU_ENABLEEDGEDETECTION_ID

Icu_EnableEdgeDetection() API Service ID.

ICU_DISABLEEDGEDETECTION_ID

Icu_DisableEdgeDetection() API Service ID.

ICU_DISABLEEDGECOUNT_ID

Icu_DisableEdgeCount() API Service ID.

ICU_GETEDGENUMBERS_ID

Icu_GetEdgeNumbers() API Service ID.

ICU_STARTSIGNALMEASUREMENT_ID

Icu_StartSignalMeasurement() API Service ID.

ICU_STOPSIGNALMEASUREMENT_ID

Icu_StopSignalMeasurement() API Service ID.

ICU_GETTIMEELAPSED_ID

Icu_GetTimeElapsed() API Service ID.

ICU_GETDUTYCYCLEVALUES_ID

Icu_GetDutyCycleValues() API Service ID.

ICU_GETVERSIONINFO_ID

Icu_GetVersionInfo() API Service ID.

ICU_REGISTERREADBACK_ID

Icu_RegisterReadback() API Service ID.

ICU_E_PARAM_POINTER

API service called with invalid pointer.

ICU_E_PARAM_CHANNEL

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

ICU_E_PARAM_ACTIVATION

API service calleed with an invalid or not feasible activation.

ICU_E_INIT_FAILED

Init Function Failed.

ICU_E_PARAM_BUFFER_SIZE

API service used with invalid Buffer size.

ICU_E_PARAM_MODE

API service called with invalid mode.

ICU_E_UNINIT

API service calleed without module initialisation.

ICU_E_NOT_STARTED

Icu_StopTimestamp called on channel not started or already stopped.

ICU_E_BUSY_OPERATION

API service called while a running operation.

ICU_E_ALREADY_INITIALIZED

API service Icu_Init called when module already initialized.

ICU_E_PARAM_NOTIFY_INTERVAL

API service called when notify interval is invalid.

ICU_E_PARAM_VINFO

API service Icu_GetVersionInfo called and parameter is invalid.

ICU_STATUS_UNINIT

ICU driver Status uninitialized.

ICU_STATUS_INIT

ICU driver Status Initialized.

ICU_FALLING

Capture regsiter configuration for FALLING edge

ICU_RISING

Capture regsiter configuration for RISING edge

5.14.4. Functions

Return type

Function Name

Brief

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 Channel, Icu_RegisterReadbackType * RegRbPtr)

This function reads the important registers of the hardware unit and returns the value in the structure.

5.14.4.1. function Icu_Init

void Icu_Init(
    const Icu_ConfigType * ConfigPtr
)

Brief: Service for ICU initialization.

Initializes internal variables and the ECAP unit of the micro controller. The function can be called on task level.

Service ID[hex] - 0x00

Sync/Async - Synchronous

Reentrancy - Non Reentrant

Parameters:

  • CfgPtr Pointer to configuration

Returns:

  • None

Return: None

5.14.4.2. function Icu_DeInit

void Icu_DeInit(
    void 
)

Brief: Service for ICU de-initialization.

DeInit ECAP module

Service ID[hex] - 0x01

Sync/Async - Synchronous

Reentrancy - Non Reentrant

Returns:

  • None

Return: None

5.14.4.3. function Icu_SetActivationCondition

void Icu_SetActivationCondition(
    Icu_ChannelType Channel,
    Icu_ActivationType Activation
)

Brief: Service for setting Activation Condition.

This service sets the Activation edge for channel Type of activation (if supported by hardware) ICU_RISING_EDGE, ICU_FALLING_EDGE, ICU_BOTH_EDGES.

Service ID[hex] - 0x05

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

  • Activation - activation edge to be used by ICU module

Returns:

  • None

Return: None

5.14.4.4. function Icu_DisableNotification

void Icu_DisableNotification(
    Icu_ChannelType Channel
)

Brief: Service for disabling notification.

This service disables the notificaiton of a channel

Service ID[hex] - 0x06

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.5. function Icu_EnableNotification

void Icu_EnableNotification(
    Icu_ChannelType Channel
)

Brief: Service for enabling notification.

This service enables the notificaiton of a channel

Service ID[hex] - 0x07

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.6. function Icu_GetInputState

Icu_InputStateType Icu_GetInputState(
    Icu_ChannelType Channel
)

Brief: Service for getting the ICU input status.

This service returns the status of the ICU input

Service ID[hex] - 0x08

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • ICU_ACTIVE - Module is in active state

  • ICU_IDLE - Module is in idle state

Return: Icu_InputStateType

5.14.4.7. function Icu_StartTimestamp

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

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

This service starts the capturing of timer values on the edges

Service ID[hex] - 0x09

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel

  • BufferSize

  • NotifyInterval

  • BufferPtr

Returns:

  • None

Return: None

5.14.4.8. function Icu_StopTimestamp

void Icu_StopTimestamp(
    Icu_ChannelType Channel
)

Brief: Service for stopping the timestamp measurement.

This service stops timestamp measurement of the given channel.

Service ID[hex] - 0x0A

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.9. function Icu_GetTimestampIndex

Icu_IndexType Icu_GetTimestampIndex(
    Icu_ChannelType Channel
)

Brief: Service for reading the timestamp index of a givem channel.

This service reads the timestamp index of a given channel.

Service ID[hex] - 0x0B

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • timestamp index value

Return: Icu_IndexType

5.14.4.10. function Icu_ResetEdgeCount

void Icu_ResetEdgeCount(
    Icu_ChannelType Channel
)

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

This service resets the value of the counted edges to zero.

Service ID[hex] - 0x0C

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.11. function Icu_EnableEdgeCount

void Icu_EnableEdgeCount(
    Icu_ChannelType Channel
)

Brief: Service enabling the counting of edges of a given channel.

This service enables the couting of edges of the given channel.

Service ID[hex] - 0x0D

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.12. function Icu_DisableEdgeCount

void Icu_DisableEdgeCount(
    Icu_ChannelType Channel
)

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

This service disables the couting of edges of a given channel.

Service ID[hex] - 0x0E

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.13. function Icu_GetEdgeNumbers

Icu_EdgeNumberType Icu_GetEdgeNumbers(
    Icu_ChannelType Channel
)

Brief: Service for reading the number of counted edges.

This service reads the number of counted edges.

Service ID[hex] - 0x0F

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • Number of counted edges

Return: Icu_EdgeNumberType

5.14.4.14. function Icu_EnableEdgeDetection

void Icu_EnableEdgeDetection(
    Icu_ChannelType Channel
)

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

This service enables/re-enables the detection of edges of a channel.

Service ID[hex] - 0x16

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.15. function Icu_DisableEdgeDetection

void Icu_DisableEdgeDetection(
    Icu_ChannelType Channel
)

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

This service disables the detection of edges of a channel.

Service ID[hex] - 0x17

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.16. function Icu_StartSignalMeasurement

void Icu_StartSignalMeasurement(
    Icu_ChannelType Channel
)

Brief: Service for starting the measurement of signals.

This service starts the measurement of signals of a given channel.

Service ID[hex] - 0x13

Sync/Async - Asynchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.17. function Icu_StopSignalMeasurement

void Icu_StopSignalMeasurement(
    Icu_ChannelType Channel
)

Brief: Service for stopping the measurement of signals.

This service stops the measurement of signals of a given channel.

Service ID[hex] - 0x14

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.18. function Icu_GetTimeElapsed

Icu_ValueType Icu_GetTimeElapsed(
    Icu_ChannelType Channel
)

Brief: Service for reading the elasped time for the given channel.

This service reads elasped time for a given channel.

Service ID[hex] - 0x10

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • Elapsed time for the given channel

Return: Icu_ValueType

5.14.4.19. function Icu_GetDutyCycleValues

void Icu_GetDutyCycleValues(
    Icu_ChannelType Channel,
    Icu_DutyCycleType * DutyCycleValues
)

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

This service reads active time and period of given channel.

Service ID[hex] - 0x11

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • Channel - Numeric identifier of the ICU channel

  • DutyCycleValues - pointer to store dutycycle

Returns:

  • None

Return: None

5.14.4.20. function Icu_CheckWakeup

void Icu_CheckWakeup(
    EcuM_WakeupSourceType WakeupSource
)

Brief: 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 ID[hex] - 0x15

Sync/Async - Synchronous

Reentrancy - Reentrant(limited according to ICU050)

Parameters:

  • WakeupSource - Informatin on wakeup source to be checked. The associated ICU channel can be determined from configuration data

Returns:

  • None

Return: None

5.14.4.21. function Icu_DisableWakeup

void Icu_DisableWakeup(
    Icu_ChannelType Channel
)

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

Service ID[hex] - 0x03

Sync/Async - Synchronous

Reentrancy - Reentrant(limited according to ICU050)

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.22. function Icu_EnableWakeup

void Icu_EnableWakeup(
    Icu_ChannelType Channel
)

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

Service ID[hex] - 0x04

Sync/Async - Synchronous

Reentrancy - Reentrant(limited according to ICU050)

Parameters:

  • Channel - Numeric identifier of the ICU channel

Returns:

  • None

Return: None

5.14.4.23. function Icu_SetMode

void Icu_SetMode(
    Icu_ModeType Mode
)

Brief: This function sets the ICU mode.

Service ID[hex] - 0x02

Sync/Async - Synchronous

Reentrancy - Non Reentrant

Parameters:

  • 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.

Returns:

  • None

Return: None

5.14.4.24. function Icu_RegisterReadback

Std_ReturnType Icu_RegisterReadback(
    Icu_ChannelType Channel,
    Icu_RegisterReadbackType * RegRbPtr
)

Brief: This function reads the important registers of the hardware unit and returns the value in the structure.

This API is used to check the status of critical registers which donot change during program execution.

Service ID[hex] - 0x15

Sync/Async - Synchronous

Reentrancy - Reentrant

Parameters:

  • ChannelNumber - Numeric identifier of the ICU channel

  • RegRbPtr - Pointer to where to store the readback values. If this pointer is NULL, then the API will return E_NOT_OK.

Returns:

  • E_OK - Register read back has been done successfully

  • E_NOT_OK - Register read back failed

Return: Std_ReturnType