DEENESPTFRRUARHIKOZHNL

ICU Driver (Icu)

ModulIcu (ICU Driver)
BSW-Modul-ID122
Standard-Header#include "Icu.h"
SWS-SpezifikationAUTOSAR_CP_SWS_ICUDriver.pdf, AUTOSAR_SWS_ICUDriver.pdf, AUTOSAR_SWS_ICU_Driver.pdf
Umfang75 Records · 13 Snippets
ClusterMikrocontroller-Abstraktion (MCAL & I/O)

ICU Driver (Icu)

AUTOSAR Classic I/O Drivers-Modul ICU Driver (Icu, Spezifikation: AUTOSAR_CP_SWS_ICUDriver.pdf, AUTOSAR_SWS_ICUDriver.pdf, AUTOSAR_SWS_ICU_Driver.pdf).

Funktionen — Übersicht

Typen — Übersicht

Anforderungen — Übersicht

Funktionen & Typen — Detailansicht

फ़ंक्शन Icu_Init [SWS_Icu_00191] 📄 PDF

void Icu_Init(const Icu_ConfigType* ConfigPtr);

This function initializes the driver.

फ़ंक्शन Icu_DeInit [SWS_Icu_00193] 📄 PDF

void Icu_DeInit(void);

This function de - initializes the ICU module.

फ़ंक्शन Icu_SetMode [SWS_Icu_00194] 📄 PDF

void Icu_SetMode(Icu_ModeType Mode);

This function sets the ICU mode.

फ़ंक्शन Icu_DisableWakeup [SWS_Icu_00195] 📄 PDF

void Icu_DisableWakeup(Icu_ChannelType Channel);

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

फ़ंक्शन Icu_EnableWakeup [SWS_Icu_00196] 📄 PDF

void Icu_EnableWakeup(Icu_ChannelType Channel);

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

फ़ंक्शन Icu_SetActivationCondition [SWS_Icu_00197] 📄 PDF

void Icu_SetActivationCondition(Icu_ChannelType Channel, Icu_ActivationType Activation);

This function sets the activation - edge for the given channel.

फ़ंक्शन Icu_DisableNotification [SWS_Icu_00198] 📄 PDF

void Icu_DisableNotification(Icu_ChannelType Channel);

This function disables the notification of a channel.

फ़ंक्शन Icu_EnableNotification [SWS_Icu_00199] 📄 PDF

void Icu_EnableNotification(Icu_ChannelType Channel);

This function enables the notification on the given channel.

फ़ंक्शन Icu_GetInputState [SWS_Icu_00200] 📄 PDF

Icu_InputStateType Icu_GetInputState(Icu_ChannelType Channel);

This function returns the status of the ICU input.

फ़ंक्शन Icu_StartTimestamp [SWS_Icu_00201] 📄 PDF

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

This function starts the capturing of timer values on the edges.

फ़ंक्शन Icu_StopTimestamp [SWS_Icu_00202] 📄 PDF

void Icu_StopTimestamp(Icu_ChannelType Channel);

This function stops the timestamp measurement of the given channel.

फ़ंक्शन Icu_GetTimestampIndex [SWS_Icu_00203] 📄 PDF

Icu_IndexType Icu_GetTimestampIndex(Icu_ChannelType Channel);

This function reads the timestamp index of the given channel.

फ़ंक्शन Icu_ResetEdgeCount [SWS_Icu_00204] 📄 PDF

void Icu_ResetEdgeCount(Icu_ChannelType Channel);

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

फ़ंक्शन Icu_EnableEdgeCount [SWS_Icu_00205] 📄 PDF

void Icu_EnableEdgeCount(Icu_ChannelType Channel);

This function enables the counting of edges of the given channel.

फ़ंक्शन Icu_DisableEdgeCount [SWS_Icu_00206] 📄 PDF

void Icu_DisableEdgeCount(Icu_ChannelType Channel);

This function disables the counting of edges of the given channel.

फ़ंक्शन Icu_GetEdgeNumbers [SWS_Icu_00207] 📄 PDF

Icu_EdgeNumberType Icu_GetEdgeNumbers(Icu_ChannelType Channel);

This function reads the number of counted edges.

फ़ंक्शन Icu_StartSignalMeasurement [SWS_Icu_00208] 📄 PDF

void Icu_StartSignalMeasurement(Icu_ChannelType Channel);

This function starts the measurement of signals.

फ़ंक्शन Icu_StopSignalMeasurement [SWS_Icu_00209] 📄 PDF

void Icu_StopSignalMeasurement(Icu_ChannelType Channel);

This function stops the measurement of signals of the given channel.

फ़ंक्शन Icu_GetTimeElapsed [SWS_Icu_00210] 📄 PDF

Icu_ValueType Icu_GetTimeElapsed(Icu_ChannelType Channel);

Description This function reads the elapsed Signal Low Time for the given channel.

फ़ंक्शन Icu_GetDutyCycleValues [SWS_Icu_00211] 📄 PDF

void Icu_GetDutyCycleValues(Icu_ChannelType Channel, Icu_DutyCycleType* DutyCycleValues);

This function reads the coherent active time and period time for the given ICU Channel.

फ़ंक्शन Icu_SignalNotification_<Channel> [SWS_Icu_00214] 📄 PDF

void Icu_SignalNotification_<Channel>(void);

According to the last call of Icu_ Enable Notification, this notification function to be called if the requested signal edge (rising / falling / both edges) occurs (once per edge).

फ़ंक्शन Icu_TimestampNotification_<Channel> [SWS_Icu_00215] 📄 PDF

void Icu_TimestampNotification_<Channel>(void);

This notification to be called if the number of requested timestamps (Notification interval > 0) are acquired and if the notification has been enabled by the call of Icu_ Enable Notification().

फ़ंक्शन Icu_CheckWakeup [SWS_Icu_00358] 📄 PDF

void Icu_CheckWakeup(EcuM_WakeupSourceType WakeupSource);

Checks if a wakeup capable ICU channel is the source for a wakeup event and calls the ECU state manager service Ecu M_ Set Wakeup Event in case of a valid ICU channel wakeup event.

फ़ंक्शन Icu_EnableEdgeDetection [SWS_Icu_00364] 📄 PDF

void Icu_EnableEdgeDetection(Icu_ChannelType Channel);

This function enables / re - enables the detection of edges of the given channel.

फ़ंक्शन Icu_DisableEdgeDetection [SWS_Icu_00377] 📄 PDF

void Icu_DisableEdgeDetection(Icu_ChannelType Channel);

This function disables the detection of edges of the given channel.

फ़ंक्शन Icu_DisableNotificationAsync [SWS_Icu_91002] 📄 PDF

void Icu_DisableNotificationAsync(Icu_ChannelType Channel);

This function disables the notification of a channel.

फ़ंक्शन Icu_EnableNotificationAsync [SWS_Icu_91003] 📄 PDF

void Icu_EnableNotificationAsync(Icu_ChannelType Channel);

This function enables the notification on the given channel.

टाइप Icu_ModeType [SWS_Icu_00277] 📄 PDF

Allow enabling / disabling of all interrupts which are not required for the ECU wakeup.

टाइप Icu_ValueType [SWS_Icu_00290] 📄 PDF

Width of the buffer for timestamp ticks and measured elapsed timeticks.

टाइप Icu_DutyCycleType [SWS_Icu_00291] 📄 PDF

Type which shall contain the values, needed for calculating duty cycles.

टाइप Icu_IndexType [SWS_Icu_00292] 📄 PDF

Type, to abstract the return value of the service Icu_ Get Timestamp Index().Since circular buffer handling is supported and Icu_ Get Timestamp Index can return '0' as a legally true value ( not as an error according to ICU107 and ICU135), Icu_ Index Type may be implemented to have values 1..xyz.

टाइप Icu_EdgeNumberType [SWS_Icu_00293] 📄 PDF

Type, to abstract the return value of the service Icu_ Get Edge Numbers().

टाइप Icu_SignalMeasurementPropertyType [SWS_Icu_00295] 📄 PDF

Def inition of the measurement property type

टाइप Icu_TimestampBufferType [SWS_Icu_00296] 📄 PDF

Definition of the timestamp measurement property type

requirement SWS_Icu_00018 [SWS_Icu_00018] 📄 PDF

[SWS_Icu_00018] Upstream requirements: SRS_SPAL_12056 ⌈The Icu notification functions shall be configurable as function pointers within the ini- tialization data structure (Icu_ConfigType).⌋

requirement SWS_Icu_00021 [SWS_Icu_00021] 📄 PDF

[SWS_Icu_00021] Upstream requirements: SRS_SPAL_00157, SRS_Icu_12369 ⌈According to the last call of Icu_EnableNotification, the Icu module shall call the notification function Icu_SignalNotification_<Channel> if the requested signal edge (rising / falling / both edges) occurs (once per edge).⌋

requirement SWS_Icu_00042 [SWS_Icu_00042] 📄 PDF

[SWS_Icu_00042] Upstream requirements: SRS_Icu_12305 ⌈After a call of Icu_DisableNotification, the Icu module shall not call the notifi- cation function Icu_SignalNotification_<Channel>.⌋

requirement SWS_Icu_00044 [SWS_Icu_00044] 📄 PDF

[SWS_Icu_00044] Upstream requirements: SRS_Icu_12305 ⌈Only those edge notifications shall be provided, which are supported by hardware.⌋

requirement SWS_Icu_00055 [SWS_Icu_00055] 📄 PDF

[SWS_Icu_00055] Upstream requirements: SRS_SPAL_12069, SRS_BSW_00410 ⌈The static configuration parameter IcuReportWakeupSource is set to "ON"⌋ • [SWS_Icu_00056] Upstream requirements: SRS_SPAL_12069 ⌈The module is in mode ICU_MODE_SLEEP⌋ • [SWS_Icu_00057] Upstream requirements: SRS_SPAL_12069 ⌈A wakeup event occurs on a wakeup capable ICU channel.⌋

requirement SWS_Icu_00056 [SWS_Icu_00056] 📄 PDF

[SWS_Icu_00056] Upstream requirements: SRS_SPAL_12069 ⌈The module is in mode ICU_MODE_SLEEP⌋ • [SWS_Icu_00057] Upstream requirements: SRS_SPAL_12069 ⌈A wakeup event occurs on a wakeup capable ICU channel.⌋

requirement SWS_Icu_00057 [SWS_Icu_00057] 📄 PDF

[SWS_Icu_00057] Upstream requirements: SRS_SPAL_12069 ⌈A wakeup event occurs on a wakeup capable ICU channel.⌋

requirement SWS_Icu_00119 [SWS_Icu_00119] 📄 PDF

[SWS_Icu_00119] Upstream requirements: SRS_SPAL_12129 ⌈The ISRs shall reset the interrupt flags (if needed by hardware) and call the corre- sponding notification functions.⌋

requirement SWS_Icu_00187 [SWS_Icu_00187] 📄 PDF

[SWS_Icu_00187] Upstream requirements: SRS_BSW_00359 ⌈The Icu module’s notification functions shall have no parameters and no return value.⌋

requirement SWS_Icu_00213 [SWS_Icu_00213] 📄 PDF

Det _ Report - Error Det.h Service to report development errors. Ecu M _ - Check - Wakeup Ecu M.h This function can be called to check the given wakeup sources. It will pass the argument to the integrator function Ecu M_ Check Wakeup Hook. It can also be called by the ISR of a wakeup s ource to set up the PLL and check other wakeup sources that may be connected to the same interrupt. Ecu M _ Set - Wakeup - Event Ecu M.h Sets the wakeup event.

requirement SWS_Icu_00216 [SWS_Icu_00216] 📄 PDF

[SWS_Icu_00216] ⌈The Icu module shall call the notification Icu_TimestampNotification_<Channel> if the number of requested timestamps (Notification interval > 0) are acquired and if the notification has been enabled by the call of Icu_EnableNotification.⌋

requirement SWS_Icu_00217 [SWS_Icu_00217] 📄 PDF

[SWS_Icu_00217] ⌈After a call of Icu_DisableNotification the Icu module shall NOT call the notification Icu_TimestampNotification_<Channel>.⌋

requirement SWS_Icu_00218 [SWS_Icu_00218] 📄 PDF

[SWS_Icu_00218] ⌈The Icu module’s notification Icu_TimestampNotification_<Channel> depends on pre-processor switch IcuTimestampApi.⌋

requirement SWS_Icu_00228 [SWS_Icu_00228] 📄 PDF

[SWS_Icu_00228] ⌈EcuM_CheckWakeup shall be called within the Interrupt Service Routine servicing the ICU channel wakeup event on wakeup-capable channel.⌋

requirement SWS_Icu_00229 [SWS_Icu_00229] 📄 PDF

[SWS_Icu_00229] ⌈The ISR’s, providing the wakeup events, shall be responsible for resetting the interrupt flags if required by hardware.⌋

requirement SWS_Icu_00276 [SWS_Icu_00276] 📄 PDF

Module Header File Imported Type Ecu M Ecu M.h Ecu M _ Wakeup Source Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type

requirement SWS_Icu_00348 [SWS_Icu_00348] 📄 PDF

[SWS_Icu_00348] ⌈Re-entrancy of operation Icu_SignalNotification_<Channel> is not relevant for this module (In general it is in this case not re-entrant).⌋

requirement SWS_Icu_00349 [SWS_Icu_00349] 📄 PDF

[SWS_Icu_00349] ⌈Re-entrancy of the Icu_TimestampNotification_<Channel> is not relevant for this module (in general it is in this case not re-entrant).⌋

requirement SWS_Icu_00356 [SWS_Icu_00356] 📄 PDF

[SWS_Icu_00356] ⌈If development error detection for the Icu module is enabled: The function Icu_GetVersionInfo shall check the parameter versioninfo for not being NULL and shall raise the development error code ICU_E_PARAM_VINFO if the check fails.⌋

requirement SWS_Icu_00359 [SWS_Icu_00359] 📄 PDF

[SWS_Icu_00359] ⌈The function Icu_CheckWakeup shall check if a wakeup capable ICU channel is the source for a wakeup event and call EcuM_SetWakeupEvent to indicate a valid timer wakeup event to the ECU State Manager.⌋

requirement SWS_Icu_00360 [SWS_Icu_00360] 📄 PDF

[SWS_Icu_00360] ⌈The function Icu_CheckWakeup is only feasible, if IcuReport- WakeupSource is statically configured available.⌋

requirement SWS_Icu_00361 [SWS_Icu_00361] 📄 PDF

[SWS_Icu_00361] ⌈The ICU module’s environment shall only use the re-entrant capa- bility of the function Icu_CheckWakeup if the ICU module’s environment takes care that there is no simultaneous usage of the same channel.⌋

requirement SWS_Icu_00362 [SWS_Icu_00362] 📄 PDF

[SWS_Icu_00362] ⌈The function Icu_CheckWakeup shall be pre compile time con- figurable On/Off by the configuration parameter: IcuWakeupFunctionalityApi⌋

requirement SWS_Icu_00363 [SWS_Icu_00363] 📄 PDF

[SWS_Icu_00363] ⌈If development error detection for the ICU module is enabled: if the function Icu_CheckWakeup is called before the ICU module was initialized, the function Icu_CheckWakeup shall raise the development error ICU_E_UNINIT.⌋

requirement SWS_Icu_00382 [SWS_Icu_00382] 📄 PDF

Type of error Related error code Error value API IS called with invalid pointer. ICU_ E_ PARAM_ POINTER 0x0A API service used with an invalid channel identifier or channel was not configured for the functionality of the calling API. ICU_ E_ PARAM_ CHANNEL 0x0B API service used with an invalid or not feasible activation. ICU_ E_ PARAM_ ACTIVATION 0x0C Init funct ion failed. ICU_ E_ INIT_ FAILED 0x0D API service used with an invalid buffer size. ICU_ E_ PARAM_ BUFFER_ SIZE 0x0E API service Icu_ Set Mode used with an invalid mode. ICU_ E_ PARAM_ MODE 0x0F API service used without module initialization. ICU_ E_ UNINIT 0x14 API service Icu_ Set Mode is called while a running operation. ICU_ E_ BUSY_ OPERATION 0x16 API Icu_ Init service is called and when the ICU driver and the Hardware are already initialized. ICU_ E_ ALREADY_ INITIALIZED 0x17 API Icu_ Start Time Stamp is called and the parameter Notify Interval is invalid (e.g."0", Notify Interval < 1) ICU_ E_ PARAM_ NOTIFY_ INTERVAL 0x18 API Icu_ Get Version Info is called and the parameter versioninfo is is invalid ( e.g. NULL ) ICU_ E_ PARAM_ VINFO 0x19

requirement SWS_Icu_00384 [SWS_Icu_00384] 📄 PDF

The Icu module shall reject configurations with partition mappings which are not supported by the implementation.

requirement SWS_Icu_00389 [SWS_Icu_00389] 📄 PDF

If development error detection for the Icu module is enabled: This function shall raise development error ICU_E_UNINIT when the function Icu_Init has not been called .

requirement SWS_Icu_00391 [SWS_Icu_00391] 📄 PDF

If development error detection for the Icu module is enabled: This function shall raise development error ICU_E_U NINIT when the function Icu_Init has not been called .

requirement SWS_Icu_00395 [SWS_Icu_00395] 📄 PDF

If development error detection fo r the Icu module is enabled: This function shall raise development error ICU_E_UNINIT when the function Icu_Init has not been called .

requirement SWS_Icu_91001 [SWS_Icu_91001] 📄 PDF

File Det _ Report - Runtime Error Det.h Service to report runtime errors. If a callout has been configured then this callout shall be called.

requirement SWS_Icu_91004 [SWS_Icu_91004] 📄 PDF

Type of error Related error code Error value API service Icu_ Stop Timestamp called on a channel which was not started or already stopped ICU_ E_ NOT_ STARTED 0x15

requirement SWS_Icu_CONSTR_00001 [SWS_Icu_CONSTR_00001] 📄 PDF

The ECUC partitions referenced by IcuKernelEcucPar- titionRef shall be a subset of the ECUC partitions referenced by IcuEcucPartitionRef.

requirement SWS_Icu_CONSTR_00002 [SWS_Icu_CONSTR_00002] 📄 PDF

The ECUC partitions referenced by IcuChannelEcuc PartitionRef shall be a subset of the ECUC partitions referenced by IcuEcucPartition Ref.

requirement SWS_Icu_CONSTR_00003 [SWS_Icu_CONSTR_00003] 📄 PDF

If IcuEcucPartitionRef reference s one or more ECUC partitions, IcuKernelEcucPartitionRef shall have a multiplicity of one and reference one of these ECUC partitions as well.

requirement SWS_Icu_CONSTR_00004 [SWS_Icu_CONSTR_00004] 📄 PDF

If IcuEcucPartitionRef references one or more ECUC partitions, IcuChannelEcucPartitionRef shall have a multiplicity of greater than one and reference one or several of these ECUC partitions as well.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Icu
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Icu@rel:R20-11#698db1ea
Content hash
698db1ea
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_ICUDriver.pdf#nameddest=SWS_Icu_00191

विषय मानचित्र

विवरण दृश्य

रूपरेखा में कोई प्रविष्टि चुनें।

आरंभीकरण और स्थिति

Icu_DeInit फ़ंक्शन

This function de - initializes the ICU module.

void Icu_DeInit(void);
Icu_GetVersionInfo फ़ंक्शन

This function returns the version information of this module.

void Icu_GetVersionInfo(Std_VersionInfoType* versioninfo);
Icu_Init फ़ंक्शन

This function initializes the driver.

void Icu_Init(const Icu_ConfigType* ConfigPtr);

सेवाएँ

Icu_CheckWakeup फ़ंक्शन

Checks if a wakeup capable ICU channel is the source for a wakeup event and calls the ECU state manager service Ecu M_ Set Wakeup Event in case of a valid ICU channel wakeup event.

void Icu_CheckWakeup(EcuM_WakeupSourceType WakeupSource);
Icu_DisableEdgeCount फ़ंक्शन

This function disables the counting of edges of the given channel.

void Icu_DisableEdgeCount(Icu_ChannelType Channel);
Icu_DisableEdgeDetection फ़ंक्शन

This function disables the detection of edges of the given channel.

void Icu_DisableEdgeDetection(Icu_ChannelType Channel);
Icu_DisableNotification फ़ंक्शन

This function disables the notification of a channel.

void Icu_DisableNotification(Icu_ChannelType Channel);
Icu_DisableNotificationAsync फ़ंक्शन

This function disables the notification of a channel.

void Icu_DisableNotificationAsync(Icu_ChannelType Channel);
Icu_DisableWakeup फ़ंक्शन

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

void Icu_DisableWakeup(Icu_ChannelType Channel);
Icu_EnableEdgeCount फ़ंक्शन

This function enables the counting of edges of the given channel.

void Icu_EnableEdgeCount(Icu_ChannelType Channel);
Icu_EnableEdgeDetection फ़ंक्शन

This function enables / re - enables the detection of edges of the given channel.

void Icu_EnableEdgeDetection(Icu_ChannelType Channel);
Icu_EnableNotification फ़ंक्शन

This function enables the notification on the given channel.

void Icu_EnableNotification(Icu_ChannelType Channel);
Icu_EnableNotificationAsync फ़ंक्शन

This function enables the notification on the given channel.

void Icu_EnableNotificationAsync(Icu_ChannelType Channel);
Icu_EnableWakeup फ़ंक्शन

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

void Icu_EnableWakeup(Icu_ChannelType Channel);
Icu_GetDutyCycleValues फ़ंक्शन

This function reads the coherent active time and period time for the given ICU Channel.

void Icu_GetDutyCycleValues(Icu_ChannelType Channel, Icu_DutyCycleType* DutyCycleValues);
Icu_GetInputState फ़ंक्शन

This function returns the status of the ICU input.

Icu_InputStateType Icu_GetInputState(Icu_ChannelType Channel);
Icu_GetTimeElapsed फ़ंक्शन

Description This function reads the elapsed Signal Low Time for the given channel.

Icu_ValueType Icu_GetTimeElapsed(Icu_ChannelType Channel);
Icu_GetTimestampIndex फ़ंक्शन

This function reads the timestamp index of the given channel.

Icu_IndexType Icu_GetTimestampIndex(Icu_ChannelType Channel);
Icu_ResetEdgeCount फ़ंक्शन

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

void Icu_ResetEdgeCount(Icu_ChannelType Channel);
Icu_SetActivationCondition फ़ंक्शन

This function sets the activation - edge for the given channel.

void Icu_SetActivationCondition(Icu_ChannelType Channel, Icu_ActivationType Activation);
Icu_SetMode फ़ंक्शन

This function sets the ICU mode.

void Icu_SetMode(Icu_ModeType Mode);
Icu_SignalNotification_Channel फ़ंक्शन

According to the last call of Icu_ Enable Notification, this notification function to be called if the requested signal edge (rising / falling / both edges) occurs (once per edge).

void Icu_SignalNotification_<Channel>(void);
Icu_StartSignalMeasurement फ़ंक्शन

This function starts the measurement of signals.

void Icu_StartSignalMeasurement(Icu_ChannelType Channel);
Icu_StartTimestamp फ़ंक्शन

This function starts the capturing of timer values on the edges.

void Icu_StartTimestamp(Icu_ChannelType Channel, Icu_ValueType* BufferPtr, uint16 BufferSize, uint16 NotifyInterval);
Icu_StopSignalMeasurement फ़ंक्शन

This function stops the measurement of signals of the given channel.

void Icu_StopSignalMeasurement(Icu_ChannelType Channel);
Icu_StopTimestamp फ़ंक्शन

This function stops the timestamp measurement of the given channel.

void Icu_StopTimestamp(Icu_ChannelType Channel);
Icu_TimestampNotification_Channel फ़ंक्शन

This notification to be called if the number of requested timestamps (Notification interval > 0) are acquired and if the notification has been enabled by the call of Icu_ Enable Notification().

void Icu_TimestampNotification_<Channel>(void);
NumberTypeIcu_GetEdgeNumbers फ़ंक्शन

This function reads the number of counted edges.

Icu_EdgeNumberType Icu_GetEdgeNumbers(Icu_ChannelType Channel);

टाइप

Icu_ActivationType टाइप

Definition of the type of activation of an ICU channel.

Icu_ChannelType टाइप

Numeric identifier of an ICU channel Avail able via Icu.h

Icu_ConfigType टाइप

This type contains initialization data.

Icu_DutyCycleType टाइप

Type which shall contain the values, needed for calculating duty cycles.

Icu_EdgeNumberType टाइप

Type, to abstract the return value of the service Icu_ Get Edge Numbers().

Icu_IndexType टाइप

Type, to abstract the return value of the service Icu_ Get Timestamp Index().Since circular buffer handling is supported and Icu_ Get Timestamp Index can return '0' as a legally true value ( not as an error according to ICU107 and ICU135), Icu_ Index Type may be implemented to have values 1..xyz.

Icu_InputStateType टाइप

Input state of an ICU channel

Definition of the measurement mode type

Icu_ModeType टाइप

Allow enabling / disabling of all interrupts which are not required for the ECU wakeup.

Def inition of the measurement property type

Definition of the timestamp measurement property type

Icu_ValueType टाइप

Width of the buffer for timestamp ticks and measured elapsed timeticks.

आवश्यकताएँ

SWS_Icu_00018 requirement

[SWS_Icu_00018] Upstream requirements: SRS_SPAL_12056 ⌈The Icu notification functions shall be configurable as function pointers within the ini- tialization data structure (Icu_ConfigType).⌋

SWS_Icu_00021 requirement

[SWS_Icu_00021] Upstream requirements: SRS_SPAL_00157, SRS_Icu_12369 ⌈According to the last call of Icu_EnableNotification, the Icu module shall call the notification function Icu_SignalNotification_<Channel> if the requested signal edge (rising / falling / both edges) occurs (once per edge).⌋

SWS_Icu_00042 requirement

[SWS_Icu_00042] Upstream requirements: SRS_Icu_12305 ⌈After a call of Icu_DisableNotification, the Icu module shall not call the notifi- cation function Icu_SignalNotification_<Channel>.⌋

SWS_Icu_00044 requirement

[SWS_Icu_00044] Upstream requirements: SRS_Icu_12305 ⌈Only those edge notifications shall be provided, which are supported by hardware.⌋

SWS_Icu_00055 requirement

[SWS_Icu_00055] Upstream requirements: SRS_SPAL_12069, SRS_BSW_00410 ⌈The static configuration parameter IcuReportWakeupSource is set to "ON"⌋ • [SWS_Icu_00056] Upstream requirements: SRS_SPAL_12069 ⌈The module is in mode ICU_MODE_SLEEP⌋ • [SWS_Icu_00057] Upstream requirements: SRS_SPAL_12069 ⌈A wakeup event occurs on a wakeup capable ICU channel.⌋

SWS_Icu_00056 requirement

[SWS_Icu_00056] Upstream requirements: SRS_SPAL_12069 ⌈The module is in mode ICU_MODE_SLEEP⌋ • [SWS_Icu_00057] Upstream requirements: SRS_SPAL_12069 ⌈A wakeup event occurs on a wakeup capable ICU channel.⌋

SWS_Icu_00057 requirement

[SWS_Icu_00057] Upstream requirements: SRS_SPAL_12069 ⌈A wakeup event occurs on a wakeup capable ICU channel.⌋

SWS_Icu_00119 requirement

[SWS_Icu_00119] Upstream requirements: SRS_SPAL_12129 ⌈The ISRs shall reset the interrupt flags (if needed by hardware) and call the corre- sponding notification functions.⌋

SWS_Icu_00187 requirement

[SWS_Icu_00187] Upstream requirements: SRS_BSW_00359 ⌈The Icu module’s notification functions shall have no parameters and no return value.⌋

SWS_Icu_00213 requirement

Det _ Report - Error Det.h Service to report development errors. Ecu M _ - Check - Wakeup Ecu M.h This function can be called to check the given wakeup sources. It will pass the argument to the integrator function Ecu M_ Check Wakeup Hook. It can also be called by the ISR of a wakeup s ource to set up the PLL and check other wakeup sources that may be connected to the same interrupt. Ecu M _ Set - Wakeup - Event Ecu M.h Sets the wakeup event.

SWS_Icu_00216 requirement

[SWS_Icu_00216] ⌈The Icu module shall call the notification Icu_TimestampNotification_<Channel> if the number of requested timestamps (Notification interval > 0) are acquired and if the notification has been enabled by the call of Icu_EnableNotification.⌋

SWS_Icu_00217 requirement

[SWS_Icu_00217] ⌈After a call of Icu_DisableNotification the Icu module shall NOT call the notification Icu_TimestampNotification_<Channel>.⌋

SWS_Icu_00218 requirement

[SWS_Icu_00218] ⌈The Icu module’s notification Icu_TimestampNotification_<Channel> depends on pre-processor switch IcuTimestampApi.⌋

SWS_Icu_00228 requirement

[SWS_Icu_00228] ⌈EcuM_CheckWakeup shall be called within the Interrupt Service Routine servicing the ICU channel wakeup event on wakeup-capable channel.⌋

SWS_Icu_00229 requirement

[SWS_Icu_00229] ⌈The ISR’s, providing the wakeup events, shall be responsible for resetting the interrupt flags if required by hardware.⌋

SWS_Icu_00276 requirement

Module Header File Imported Type Ecu M Ecu M.h Ecu M _ Wakeup Source Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type

SWS_Icu_00348 requirement

[SWS_Icu_00348] ⌈Re-entrancy of operation Icu_SignalNotification_<Channel> is not relevant for this module (In general it is in this case not re-entrant).⌋

SWS_Icu_00349 requirement

[SWS_Icu_00349] ⌈Re-entrancy of the Icu_TimestampNotification_<Channel> is not relevant for this module (in general it is in this case not re-entrant).⌋

SWS_Icu_00356 requirement

[SWS_Icu_00356] ⌈If development error detection for the Icu module is enabled: The function Icu_GetVersionInfo shall check the parameter versioninfo for not being NULL and shall raise the development error code ICU_E_PARAM_VINFO if the check fails.⌋

SWS_Icu_00359 requirement

[SWS_Icu_00359] ⌈The function Icu_CheckWakeup shall check if a wakeup capable ICU channel is the source for a wakeup event and call EcuM_SetWakeupEvent to indicate a valid timer wakeup event to the ECU State Manager.⌋

SWS_Icu_00360 requirement

[SWS_Icu_00360] ⌈The function Icu_CheckWakeup is only feasible, if IcuReport- WakeupSource is statically configured available.⌋

SWS_Icu_00361 requirement

[SWS_Icu_00361] ⌈The ICU module’s environment shall only use the re-entrant capa- bility of the function Icu_CheckWakeup if the ICU module’s environment takes care that there is no simultaneous usage of the same channel.⌋

SWS_Icu_00362 requirement

[SWS_Icu_00362] ⌈The function Icu_CheckWakeup shall be pre compile time con- figurable On/Off by the configuration parameter: IcuWakeupFunctionalityApi⌋

SWS_Icu_00363 requirement

[SWS_Icu_00363] ⌈If development error detection for the ICU module is enabled: if the function Icu_CheckWakeup is called before the ICU module was initialized, the function Icu_CheckWakeup shall raise the development error ICU_E_UNINIT.⌋

SWS_Icu_00382 requirement

Type of error Related error code Error value API IS called with invalid pointer. ICU_ E_ PARAM_ POINTER 0x0A API service used with an invalid channel identifier or channel was not configured for the functionality of the calling API. ICU_ E_ PARAM_ CHANNEL 0x0B API service used with an invalid or not feasible activation. ICU_ E_ PARAM_ ACTIVATION 0x0C Init funct ion failed. ICU_ E_ INIT_ FAILED 0x0D API service used with an invalid buffer size. ICU_ E_ PARAM_ BUFFER_ SIZE 0x0E API service Icu_ Set Mode used with an invalid mode. ICU_ E_ PARAM_ MODE 0x0F API service used without module initialization. ICU_ E_ UNINIT 0x14 API service Icu_ Set Mode is called while a running operation. ICU_ E_ BUSY_ OPERATION 0x16 API Icu_ Init service is called and when the ICU driver and the Hardware are already initialized. ICU_ E_ ALREADY_ INITIALIZED 0x17 API Icu_ Start Time Stamp is called and the parameter Notify Interval is invalid (e.g."0", Notify Interval < 1) ICU_ E_ PARAM_ NOTIFY_ INTERVAL 0x18 API Icu_ Get Version Info is called and the parameter versioninfo is is invalid ( e.g. NULL ) ICU_ E_ PARAM_ VINFO 0x19

SWS_Icu_00384 requirement

The Icu module shall reject configurations with partition mappings which are not supported by the implementation.

SWS_Icu_00389 requirement

If development error detection for the Icu module is enabled: This function shall raise development error ICU_E_UNINIT when the function Icu_Init has not been called .

SWS_Icu_00391 requirement

If development error detection for the Icu module is enabled: This function shall raise development error ICU_E_U NINIT when the function Icu_Init has not been called .

SWS_Icu_00395 requirement

If development error detection fo r the Icu module is enabled: This function shall raise development error ICU_E_UNINIT when the function Icu_Init has not been called .

SWS_Icu_91001 requirement

File Det _ Report - Runtime Error Det.h Service to report runtime errors. If a callout has been configured then this callout shall be called.

SWS_Icu_91004 requirement

Type of error Related error code Error value API service Icu_ Stop Timestamp called on a channel which was not started or already stopped ICU_ E_ NOT_ STARTED 0x15

The ECUC partitions referenced by IcuKernelEcucPar- titionRef shall be a subset of the ECUC partitions referenced by IcuEcucPartitionRef.

The ECUC partitions referenced by IcuChannelEcuc PartitionRef shall be a subset of the ECUC partitions referenced by IcuEcucPartition Ref.

If IcuEcucPartitionRef reference s one or more ECUC partitions, IcuKernelEcucPartitionRef shall have a multiplicity of one and reference one of these ECUC partitions as well.

If IcuEcucPartitionRef references one or more ECUC partitions, IcuChannelEcucPartitionRef shall have a multiplicity of greater than one and reference one or several of these ECUC partitions as well.