Synchronized Time-Base Manager (StbM)
AUTOSAR Classic System Services-Modul Synchronized Time-Base Manager (StbM, Spezifikation: AUTOSAR_CP_SWS_SynchronizedTimeBaseManager.pdf, AUTOSAR_SWS_SynchronizedTimeBaseManager.pdf).
Funktionen — Übersicht
void StbM_Init (const StbM_ConfigType* ConfigPtr);Initializes the Synchronized Time - base Managervoid StbM_MainFunction (void);This function will be called cyclically by a task body provided by the BSW Schedule.void StbM_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType StbM_GetCurrentTime (StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeStampType* timeStamp, StbM_UserDataType* userData);Returns a time value (Local Time Base derived from Global Time Base) in standard format.Std_ReturnType StbM_GetCurrentTimeExtended (StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeStampExtendedType* timeStamp, StbM_UserDataType* userData);Returns a time value (Local Time Base derived from Global Time Base) in extended format.Std_ReturnType StbM_SetGlobalTime (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* timeStamp, const StbM_UserDataType* userData);Allows the Customers to set the new global time that has to be valid for the system, which will be sent to the busses.Std_ReturnType StbM_SetUserData (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_UserDataType* userData);Allows the Customers to set the new User Data that has to be valid for the system, which will be sent to the busses.Std_ReturnType StbM_SetOffset (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* timeStamp, const StbM_UserDataType* userData);Allows the Customers and the Timesync Modules to set the Offset Time and the User Data.Std_ReturnType StbM_GetOffset (StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeStampType* timeStamp, StbM_UserDataType* userData);Allows the Timesync Modules to get the current Offset Time and User Data.Std_ReturnType StbM_BusSetGlobalTime (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* globalTimePtr, const StbM_UserDataType* userDataPtr, const StbM_MeasurementType* measureDataPtr, const StbM_VirtualLocalTimeType* localTimePtr);Allows the Time Base Provider Modules to forward a new Global Time tuple (i.Std_ReturnType StbM_GetTimeBaseStatus (StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeBaseStatusType* syncTimeBaseStatus, StbM_TimeBaseStatusType* offsetTimeBaseStatus);Returns detailed status information for a Synchronized (or Pure Local) Time Base and, if called for an Offset Time Base, for...Std_ReturnType StbM_GetTimeLeap (StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeDiffType* timeJump);Returns value of Time Leap.Std_ReturnType StbM_StartTimer (StbM_SynchronizedTimeBaseType timeBaseId, StbM_CustomerIdType customerId, const StbM_TimeStampType* expireTime);Sets a time value, which the Time Base value is compared againstStd_ReturnType <Customer>_TimeNotificationCallback<Time Base> (StbM_TimeDiffType deviationTime);This callback notifies the , when a Time Base reaches the time value set by Stb M_ Start Timer for theStd_ReturnType StatusNotificationCallback<Time Base> (StbM_TimeBaseNotificationType eventNotification);The callback notifies the customers, when a related event occurs, which is enabled by the notification maskStd_ReturnType StbM_GetSyncTimeRecordHead (StbM_SynchronizedTimeBaseType timeBaseId, StbM_SyncRecordTableHeadType* syncRecordTableHead);Accesses to the recorded snapshot data Header of the table belonging to the Synchronized Time Base.Std_ReturnType SyncTimeRecordBlockCallback<Time Base> (const StbM_SyncRecordTableBlockType* syncRecordTableBlock);Provides a recorded snapshot data block of the measurement data table belonging to the Synchronized Time Base.Std_ReturnType StbM_GetOffsetTimeRecordHead (StbM_SynchronizedTimeBaseType timeBaseId, StbM_OffsetRecordTableHeadType* offsetRecordTableHead);Accesses to the recorded snapshot data Header of the table belonging to the Offset Time Base.Std_ReturnType OffsetTimeRecordBlockCallback<Time Base> (const StbM_OffsetRecordTableBlockType* offsetRecordTableBlock);Provides a recorded snapshot data block of the measurement data table belonging to the Offset Time Base.Std_ReturnType StbM_TriggerTimeTransmission (StbM_SynchronizedTimeBaseType timeBaseId);Called by the to force the Times ync Modules to transmit the current Time Base again due to an incremented time Base Update...uint8 StbM_GetTimeBaseUpdateCounter (StbM_SynchronizedTimeBaseType timeBaseId);Allows the Timesync Modules to detect, whether a Time Base should be transmitted immediately in the subsequent TSyn_ Main...Std_ReturnType StbM_GetRateDeviation (StbM_SynchronizedTimeBaseType timeBaseId, StbM_RateDeviationType* rateDeviation);Returns value of the current rate deviation of a Time BaseStd_ReturnType StbM_UpdateGlobalTime (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* timeStamp, const StbM_UserDataType* userData);Allows the Customers to set the Global Time that will be sent to the buses.Std_ReturnType StbM_SetRateCorrection (StbM_SynchronizedTimeBaseType timeBaseId, StbM_RateDeviationType rateDeviation);Allows to set the rate of a Synchronized Time Base (being either a Pure Local Time Base or not).Std_ReturnType StbM_CanSetSlaveTimingData (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_CanTimeSlaveMeasurementType* measureDataPtr);Allows the Can TSyn Module to forward CAN specific details to the Stb M.Std_ReturnType StbM_FrSetSlaveTimingData (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_FrTimeSlaveMeasurementType* measureDataPtr);Allows the Fr TSyn Module to forward Flexray specific details to the Stb M.Std_ReturnType StbM_EthSetSlaveTimingData (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_EthTimeSlaveMeasurementType* measureDataPtr);Allows the Eth TSyn Module to forward Ethernet specific details to the Stb M.Std_ReturnType StbM_CanSetMasterTimingData (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_CanTimeMasterMeasurementType* measureDataPtr);Provides CAN Timesyn module specific data for a Time Master to the Stb M.Std_ReturnType StbM_FrSetMasterTimingData (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_FrTimeMasterMeasurementType* measureDataPtr);Provides Flexray Timesyn module specific data for a Time Master to the Stb M.Std_ReturnType StbM_EthSetMasterTimingData (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_EthTimeMasterMeasurementType* measureDataPtr);Provides Ethernet Timesyn module specific data for a Time Master to the Stb M.Std_ReturnType StbM_EthSetPdelayInitiatorData (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_PdelayInitiatorMeasurementType* measureDataPtr);- Tags: atp.Std_ReturnType StbM_EthSetPdelayResponderData (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_PdelayResponderMeasurementType* measureDataPtr);- Tags: atp.Std_ReturnType StbM_GetMasterConfig (StbM_SynchronizedTimeBaseType timeBaseId, StbM_MasterConfigType* masterConfig);Indicates if the functionality for a system wide master (e.Std_ReturnType StbM_BusGetCurrentTime (StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeStampType* globalTimePtr, StbM_VirtualLocalTimeType* localTimePtr, StbM_UserDataType* userData);Returns the current Time Tuple, status and User Data of the Time Base.Std_ReturnType StbM_GetCurrentVirtualLocalTime (StbM_SynchronizedTimeBaseType timeBaseId, StbM_VirtualLocalTimeType* localTimePtr);Returns the Virtual Local Time of the referenced Time Base.Std_ReturnType StbM_GetBusProtocolParam (StbM_SynchronizedTimeBaseType timeBaseId, StbM_ProtocolParamType* protocolParam);This API is used to get bus specific parameters from received Follow_ Up messageStd_ReturnType StbM_SetBusProtocolParam (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_ProtocolParamType* protocolParam);This API is used to set bus specific parameters of a Time MasterStd_ReturnType StbM_CloneTimeBase (StbM_SynchronizedTimeBaseType timeBaseId, StbM_CloneConfigType cloneCfg, StbM_TimeBaseStatusType statusMask, StbM_TimeBaseStatusType statusValue);Copies Time Base data (current time, user data, rate corrction) from Source Time Base to Destination Time Base.Std_ReturnType StbM_GetTxFreshnessTruncData (uint16 StbMFreshnessValueId, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength, uint8* StbMTruncatedFreshnessValue, uint32* StbMTruncatedFreshnessValueLength);This interface is used by the StbM to obtain the current freshness value.Std_ReturnType StbM_GetRxFreshness (uint16 StbMFreshnessValueId, const uint8* StbMTruncatedFreshnessValue, uint32 StbMTruncatedFreshnessValueLength, uint16 StbMAuthVerifyAttempts, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength);This interface is used by the StbM to query the current freshness value.Std_ReturnType StbM_GetTxFreshness (uint16 StbMFreshnessValueId, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength);This API returns the freshness value from the Most Significant Bits in the first byte, of the Freshness array, in big endian...void SPduTxConfirmationFct (uint16 StbMFreshnessValueId);This interface is used by the StbM to indicate that the Secured Time Synchronization Message has been initiated for transmission.Std_ReturnType GetTxFreshnessTruncDataFct (uint16 StbMFreshnessValueId, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength, uint8* StbMTruncatedFreshnessValue, uint32* StbMTruncatedFreshnessValueLength);This interface is used by the StbM to obtain the current freshness value.Std_ReturnType GetTxFreshnessFct (uint16 StbMFreshnessValueId, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength);This API returns the freshness value from the Most Significant Bits in the first byte, of the Freshness array, in big endian...Std_ReturnType GetRxFreshnessFct (uint16 StbMFreshnessValueId, const uint8* StbMTruncatedFreshnessValue, uint32 StbMTruncatedFreshnessValueLength, uint16 StbMAuthVerifyAttempts, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength);This interface is used by the StbM to query the current freshness value.Std_ReturnType StbM_GetCurrentSafeTime (StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeTripleType* timeTriple, StbM_UserDataType* userData);Returns a time triple (Local Time, Fallback Local Time, Global time and timebase status) and user data details.Std_ReturnType StbM_GetFallbackVirtualLocalTime (StbM_SynchronizedTimeBaseType timeBaseId, StbM_VirtualLocalTimeType* localTimePtr);Returns the Fallback Virtual Local Time of the referenced Time Base.Std_ReturnType StbM_SetCloningOffset (StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* timeOffset);Sets an offset time that will be added to the synchronized time when cloning a Time Base.
Typen — Übersicht
struct StbM_SynchronizedTimeBaseTypeVariables of this type are used to represent the kind of synchronized time - base.struct StbM_TimeBaseStatusTypebit TIMEOUT 0x01 Bit 0 (LSB): 0x00: No Timeout on receiving Synchronisation Messages 0x01: Timeout on receiving...struct StbM_TimeStampTypeVariables of this type are used for expressing time stamps including relative time and absolute calendar time.struct StbM_TimeStampExtendedTypeVariables of this type are used for expressing time stamps including relative time and absolute calendar time.struct StbM_UserDataTypeCurrent user data of the Time Base Variation --struct StbM_ConfigTypeConfiguration data structure of the Stb M module.struct StbM_TimeBaseNotificationTypebit EV_ GLOBAL_ TIME 0x01 Bit 0 (LSB): 0: synchronization to global time master not changed 1: GLOBAL_ TIME_ BASE in Stb M_...struct StbM_CustomerIdTypeunique identifier of a notification customer Variation --struct StbM_TimeDiffTypeVariables of this type are used to express time differences / offsets as signed values in in nanoseconds Variation --struct StbM_RateDeviationTypeVariables of this type are used to express a rate deviation in ppm.struct StbM_SyncRecordTableHeadTypeSynchronized Time Base Record Table Header Variation --struct StbM_SyncRecordTableBlockTypeSynchronized Time Base Record Table Block Variation --struct StbM_OffsetRecordTableHeadTypeOffset Time Base Record Table Header Variation --struct StbM_OffsetRecordTableBlockTypeOffset Time Base Record Table Block Variation --struct StbM_MeasurementTypeStructure which contains additional measurement datastruct StbM_TimeStampShortTypeVariables of this type are used for expressing time stamps with a limited range including relative time and absolute calendar...struct StbM_PortIdTypeStructure which contains port identity data Variation ({ecuc(Eth TSyn/ Eth TSyn General/ Eth TSyn Time Validation Support)} ==...struct StbM_EthTimeMasterMeasurementTypeStructure with detailed data for Time Validation of the Time Master on Ethernet Variation ({ecuc(Eth TSyn/ Eth TSyn General/...struct StbM_FrTimeMasterMeasurementTypeStructure with detailed data for Time Validation of the Time Master on Flexray Variation ({ecuc(Fr TSyn/ Fr TSyn General/ Fr...struct StbM_EthTimeSlaveMeasurementTypeStructure with detailed data for Time Validation of the Time Slave on Ethernet Variation ({ecuc(Eth TSyn/ Eth TSyn General/...struct StbM_FrTimeSlaveMeasurementTypeStructure with detailed data for Time Validation of the Time Slave on Flexray Variation ({ecuc(Fr TSyn/ Fr TSyn General/ Fr...struct StbM_PdelayInitiatorMeasurementTypeStructure with detailed timing data for the p Delay Initiator Variation ({ecuc(Eth TSyn/ Eth TSyn General/ Eth TSyn Time...struct StbM_PdelayResponderMeasurementTypeStructure with detailed timing d ata for the p Delay Responder Variation ({ecuc(Eth TSyn/ Eth TSyn General/ Eth TSyn Time...struct StbM_CanTimeSlaveMeasurementTypeStructure with detailed timing data for the Time Slave on CAN Variation ({ecuc(Can TSyn/ Can TSyn General/ Can TSyn Time...struct StbM_CanTimeMasterMeasurementTypeStructure with detailed data for Time Validation of the Time Master on CAN Variation ({ecuc(Can TSyn/ Can TSyn General/ Can...struct StbM_MasterConfigTypeThis type indicates if an ECU is configured for a system wide master for a given Time Base is available or not.struct StbM_VirtualLocalTimeTypeVariables of this type store time stamps of the Virtual Local Time.enum StbM_TimeSyncTypeIndicates the underlying Time Sync module Variation --struct StbM_ProtocolParamTypeThis structure defines Time Sync protocol specific parameters relevant for the individual Time Sync modules (only Eth TSyn...struct StbM_CloneConfigTypebit DEFERRED_ COPY 0x01 True: copy of time information to destination is deferred until Source Time base is updated next time...
Anforderungen — Übersicht
SWS_StbM_00020The Synchronized Time - Base Manager must be able to interact w ith the OS as T riggered C ustome r.SWS_StbM_00022The Synchronized Time - Base Manager shall provide means to configure the T ime B ase to which the OS Sched uleTable should be...SWS_StbM_00031[SWS_StbM_00031] Upstream requirements: RS_TS_00025 ⌈If a Triggered Customer is configured (refer to StbMTriggeredCustomer),...SWS_StbM_00041Type of error Related error code Error value API called with invalid time base ID STBM_ E_ PARAM 0x0A API called while Stb M...SWS_StbM_00051Module Header File Imported Type Can Can_ General Types.SWS_StbM_00058Det _ Report - Error Det.SWS_StbM_00059Can If _ Get - Current Time (draft) Can If.SWS_StbM_00077[SWS_StbM_00077] Upstream requirements: RS_TS_00032 ⌈The Synchronized Time-Base Manager shall synchronize OS ScheduleTables...SWS_StbM_00084Customers of type T riggered C ustomer shall be invoked periodically by the Synchronized Time - Base Manager.SWS_StbM_00092[SWS_StbM_00092] Upstream requirements: SRS_BSW_00429, RS_TS_00032 ⌈The Synchronized Time-Base Manager shall check the OS for...SWS_StbM_00093The triggering period S tbM T riggered C ustomerPeriod (refer to ECUC_StbM_00020 : ) shall be configurable for each T riggered...SWS_StbM_00094[SWS_StbM_00094] Upstream requirements: SRS_BSW_00386, SRS_BSW_00337 ⌈If development error detection for the StbM module is...SWS_StbM_00100A static status variable denoting if the StbM is initialized shall be initialized with value 0 before any APIs of the StbM are...SWS_StbM_00107If OS is configured as triggered customer, t he function StbM_MainFunction shall synch r onize the referenced OS ScheduleTable.SWS_StbM_00121StbM_Init shall set the static status variable to a value not equa l to 0.SWS_StbM_00140These requirements are not applicabl e to this spec ification.SWS_StbM_00170On invocation of StbM _ Init() each configured Time Base (refer to StbMSynchronizedTimeBase , ECUC_StbM_00003 : ) shall be...SWS_StbM_00171For each Time Base configured to be stored non - volatile ( StbMStoreTimebaseNonVolatile == STORAGE_AT_SHUTDOWN ), the Time...SWS_StbM_00172For each Time Base configured to be stored non - volatile ( StbMStoreTimebaseNonVolatile == STORAGE_AT_SHUTDOWN ), the value...SWS_StbM_00173For Time Domains 0 to 15 StbM_GetCurrentTime() and StbM_GetCurrentTime Extended () shall return for the requested Time Domain...SWS_StbM_00177For Time Bases 16 t o 31 the StbM_GetCurrentTime() and StbM_GetCurrentTime Extended () shall return for the requested Time...SWS_StbM_00178If EthIfGlobalTimeSupport (referenced via StbMLocalTimeHardware ECUC_StbM_00053 : , if set to EthTSynGlobalTimeDomain ) is set...SWS_StbM_00179For Time Base s 0 to 15 each invocation of StbM_BusSetGlobalTime() shall update the corresponding Main Time Tuple and set the...SWS_StbM_00180After i nitialization t he StbM shall maintain the Local Time of each Time Base autonomously via a hardware reference clock (...SWS_StbM_00181On a valid invocation of StbM_SetGlobalTime() , StbM_UpdateGlobalTime() , or StbM_SetOffset() the StbM shall set the...SWS_StbM_00182For Sync hronized and Offset Time Bases for which the StbM is configured as Time Slave or Time Gateway , an invocation of...SWS_StbM_00183For Synchronized and Offset Time Bases for which the StbM is configu red as Time Slave or Time Gateway, the StbM shall observe...SWS_StbM_00184Every invocation of StbM_BusSetGlobalTime() shall set the SYNC_TO_GATEWAY bit within timeBaseStatus of the Time Base to the...SWS_StbM_00185For Synchronized and Offset Time Bases for which the StbM is configured as Time Slave or Time Gateway , an invocation of Stb...SWS_StbM_00187For Synchronized and Offset Time Bases for which the StbM is configured as Time Gateway, the StbM shall set the...SWS_StbM_00190Each valid invocation of StbM_SetOffset() shall update the M ain Time Tuple of the corresponding Offset Time Base.SWS_StbM_00191StbM_SetOffset() and StbM_GetOffset() shall only accept Offset Time Ba ses with a timeBaseId 16 to 31.SWS_StbM_00192Each invocation of StbM_GetOffset() shall return the Offset Time value and the U ser D at a of the corresponding Offset Time Base.SWS_StbM_00196If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetCur rentT ime() shall r eport to DET the...SWS_StbM_00197If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to T RUE , StbM_GetCurrentTime() shall r eport to DET the...SWS_StbM_00199For any S tbM API service other th a n StbM_Init() and StbM_GetVersion() all out parameters shall remain untouched, if an...SWS_StbM_00201If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to T RUE , StbM_GetCurrentTimeExtended() shall r eport to DET...SWS_StbM_00202If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetCurrentTimeExtended() sha ll r eport to DET...SWS_StbM_00214If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetGlobalTime() shall r eport to DET the...SWS_StbM_00215If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetGlobalTim e() shall r eport to DET the...SWS_StbM_00219If the switc h StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetUserData() shall r eport to DET the...SWS_StbM_00220If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetUserData( ) shall r eport to DET the...SWS_StbM_00224If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetOffset() shall r eport to DET the development...SWS_StbM_00225If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetOffset() shall r eport to DET the development...SWS_StbM_00229If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetOffset() shall r eport to DET the devel opment...SWS_StbM_00230If the switch StbMD evErr orDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetOffset() shall r eport to DET the...SWS_StbM_00234If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusSetGlobalTime() shall r eport to DET the...SWS_StbM_00235[SWS_StbM_00235] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE,...SWS_StbM_00240Name Global Time_ Master_{Name} Comment -- Is Service true Variation (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MIs...SWS_StbM_00244- Port Defined Argument Value(s) Type Stb M _ Synchronized Time Base Type Value {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb...SWS_StbM_00246If time stamping via Ethernet shall be supported (refer to EthIfGlobalTimeSupport , which is referenced via...SWS_StbM_00247Name Global Time_ Slave_{Name} Comment -- Is Service true Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb...SWS_StbM_00248- Port Defined Argument Value(s) Type Stb M _ Synchronized Time Base Type Value {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb...SWS_StbM_00261TIMEOUT Bit 0 (LSB) 0: No Timeout occurred - neither for Offset nor for referenced Synchronized Time Base 1: Timeout occurred...SWS_StbM_00262For Synchronized Time Bases StbM_GetTimeBaseStatus() shall return the status of the corresponding Synchronized Time Base via...SWS_StbM_00264If the switch StbMDevErrorDete ct ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTime Base Status() shall report to DET the...SWS_StbM_00268If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTimeLeap() shall report to DET the development...SWS_StbM_00269If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTimeLeap( ) shall report to DET the...SWS_StbM_00270On invocation of StbM_Start Time r for a Time Notification Customer of a Time Base the StbM shall calculate the time...SWS_StbM_00271Upon inv ocati on of StbM_TimerCallback , the StbM shall calculate the time difference between CustomerTimerExpireTime and the...SWS_StbM_00274The event notification callback functi o n shall be set by the parameter StbMTimeNotificationCallback ( ECUC_StbM_00064 :.SWS_StbM_00275Name Time Notification Comment Notification, which indicates, that the timer has expired, which has been set by Start Timer Is...SWS_StbM_00276- Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MNotification Customer/ Stb MTime Notification Callback)}==NULL)...SWS_StbM_00277For Synchronized, O ffset and Pure Local Time Bases: I f param eter StbMNotificationInt erface ( ECUC_StbM_00068 : ) is set...SWS_StbM_00278For Synchronized and Offset Time Bases the StbM shall use a variable NotificationEvents of type StbM_TimeBaseNotificationType...SWS_StbM_00279For each Time Base the StbM has a configurable mask StbMStat usNotificationMask ( ECUC_StbM_00045 : ) , which allows to mask...SWS_StbM_00280After reporting a status event via the St atusNotificationCallback API and the StatusNotification service interface the StbM...SWS_StbM_00282If any status event (refer to [SWS_StbM_00284] ) occurs and the corresponding bit in the NotificationMask mask is set, the Stb...SWS_StbM_00284The StbM shall detect the following status events: Status Eve nt Name Status Event Set Condition EV_ GLOBAL_TIME_BASE 1:...SWS_StbM_00286Name Status Notification Comment Notification about a Time Base related status change Is Service false Variation -- Data...SWS_StbM_00290- Variation (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MNotification Interface)} == SR_ INTERFACE || {ecuc(Stb M/ Stb...SWS_StbM_00296If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_S tart Time r () shall r eport to DET the...SWS_StbM_00298If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_S tartT ime r () shall r eport to DET the...SWS_StbM_00299The status notification callb a ck function shall be set by the parameter StbMStatusNotificationCallback ( ECUC_StbM_00046 : ).SWS_StbM_00302The StbM shall set the synchronization count of the OS ScheduleTable via SyncScheduleTable ().SWS_StbM_00303The StbM shall derive the synchronization count of the OS ScheduleTable in microseconds by calculating the modulus of the...SWS_StbM_00304On invocation of StbM_ SetGlobalTime() or StbM_UpdateGlobalTime() for Time Base s 16 to 31 the StbM shall check the GLOBAL...SWS_StbM_00306If StbMTimeRecording Support ( ECUC_StbM_00038 : ) is set to TRUE , the StbM shall initialize all Block Elements of the...SWS_StbM_00307The S tbM shall support the Global Time precision measurement for a Time Base , if StbMTimeRecording Support ( ECUC_StbM_00038...SWS_StbM_00308If Global Time Pr ecision Measurement is enabled ( refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base , t he...SWS_StbM_00309If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, StbMC...SWS_StbM_00310If Global Time Pr ecision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base,...SWS_StbM_00311If Global Tim e Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the StbM...SWS_StbM_00312If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] for the Time Base, on an invocation of...SWS_StbM_00313For Synchronized Time Bases, i f Global Time P recision Measureme nt is enabled (refer to [SWS_StbM_00428] and...SWS_StbM_00314For Synchronized Time Bases, i f Global Time P recision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307]...SWS_StbM_00315If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the a...SWS_StbM_00316If Global Time P recision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base , the a...SWS_StbM_00317If Global Time Pr ecision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the StbM...SWS_StbM_00318If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the StbM...SWS_StbM_00320The function StbM_GetSyncTimeRecordHead() shall be pre compile time configurable ON / OFF by the c onfiguration parameter:...SWS_StbM_00323The function SyncTimeRecordBlockCallback ( ) shall be set by the parameter StbMSyncTimeRecordBlo ck Callback (...SWS_StbM_00326The function StbM_GetOffsetTimeRecordHead() shall be pre compi le time configurable ON / OFF by the configuration parameter:...SWS_StbM_00327If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_Get Offs e tTim eRecordHead () shall report to...SWS_StbM_00329The function OffsetTimeRecordBlockCallback shall set by the parameter StbMOffsetTimeRecordBlock Callback ( ECUC_StbM_00061 : ).SWS_StbM_00335For currently active Time Notification Customers the StbM shall cyclically calculate an d mon itor in its StbM_MainFunction...SWS_StbM_00336A time interval StbMTimerStartThreshold ( ECUC_StbM_00063 : ) before a Customer Timer expires, the StbM shall calculate the...SWS_StbM_00337If multiple Customer Timers run and expire within the same interval StbMTimerStar tThreshold , the StbM sha ll calculate all...SWS_StbM_00339Name Measurement Notification_{TB_ Name} Comment Notifies about the availability of a new recorded measurement data block...SWS_StbM_00340If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_UpdateGlobalTime() shall r eport to DET the...SWS_StbM_00341If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_UpdateGlobal Time() shall r eport to DET the...SWS_StbM_00342On a valid invocation of StbM_SetGlobalTime() or StbM_UpdateGlobalT ime() the StbM shall update the Main Time Tuple of the...SWS_StbM_00344For each Time Base the StbM shall initialize the corresponding update counter timeBas eUpdateCounter with 0.SWS_StbM_00345For each Time Base the StbM shall initialize the corresponding event status NotificationEvents with 0.SWS_StbM_00348I f the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTimeBaseUpdateCounter () shall report t o DET...SWS_StbM_00349I f the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , Stb M _TriggerTimeTransmission() shall report to DET...SWS_StbM_00350 For Synchronized and Offset Time Bases on a valid invocation of StbM_SetGlobalTime() , StbM_BusSetGlobalTime() , or StbM_T...SWS_StbM_00351For Synchronized and Offset Time Bases, t he timeBaseUpdateCounter of a Time Base shall have the value ra nge 0 to 255.SWS_StbM_00352Global Time Syn chroni z ed / Offset TimesyncMsg Time Slave Time Base Reference Clock L ocal Time Base per Time Do ma in Ti me...SWS_StbM_00353If an additional rate has been applied (Offset Correction By Rate Adaption according to [SWS_StbM_00356] ) , the StbM shall...SWS_StbM_00355The StbM shall calculate the current value of a Time Base ba sed on t he Main Tuple and the current rate correction term...SWS_StbM_00356If rate correction is enabled (see [SWS_StbM_00377] ) and i f the absolute value of the time offset between the Received Time...SWS_StbM_00359T he StbM shall calculate the Global Time offset (i.SWS_StbM_00360At the end of a Rate Correction measurement, the StbM shall calculate the resulting correction rate ( r orc ) for Offset Time...SWS_StbM_00361At the end of a Rate Correction measurement, the StbM shall calculate the resulting correction rate ( r rc ) for Synchronized...SWS_StbM_00362The StbM shall use the same value for r rc and r orc until a new value has been calculated.SWS_StbM_00364At the end of the Rate Correction measurement, the StbM shall store the Updated Rx Time Tuple.SWS_StbM_00366At the start of a Rate C orrection measurement, the StbM shall store the Updated Rx Time Tuple.SWS_StbM_00367Simultaneous Rate Correction measurements shall be started with a defined offset (to n ) to yield Rate Corrections evenly...SWS_StbM_00368The S tbM shall perform as many simultaneous Rate Correction measurements as configured by parameter:...SWS_StbM_00370During runtime the StbM shall determine the timespan of a Rate Correction measurement on the basis of the Virtual Local Time.SWS_StbM_00371The StbM shall perform Rate Correction measurements continuously.SWS_StbM_00372The StbM shall perform Rate Correctio n measurements to determine the rate deviation of each configured Time Base.SWS_StbM_00373For Rate Correction, the StbM shall eval uate the TIMELEAP _FUTURE/ TIMELEAP_ PAST flag s during the start of a measurement.SWS_StbM_00374For Rate Correction measurements, the StbM shall evaluate the TIMEOUT flag.SWS_StbM_00375For Rate Correction measurements, the StbM shall evaluate state changes of the SYNC_TO_GATEWAY flag during measurements.SWS_StbM_00376For Rate Correction measurements, the StbM shall evaluate the TIMELEAP _FUTURE and TIMELEAP_PAST flag s during measurements.SWS_StbM_00377The StbM shall not perform Rate Correction when the measurement duration StbMRateCorrectionMeasurementDuration (...SWS_StbM_00379If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ GetRate Deviation () shall r eport to DET the...SWS_StbM_00380If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ GetRate Deviation () shall r eport to DET the...SWS_StbM_00381All functions that are setting User Data shall only set as many User Data bytes as defined within the userDataLength element...SWS_StbM_00382If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the...SWS_StbM_00383If Global Time Pr ecision Measurement is enabled (refer to [SWS_StbM_00428] ) for the Time Base, the Offset Time Base Record...SWS_StbM_00386If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTimeBaseS tatus() shall report to DET the...SWS_StbM_00387- Variation (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MIs System Wide Global Time Master)} == FALSE) &&...SWS_StbM_00388For O ffset Time Bases, i f Global Time P recision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] )...SWS_StbM_00391If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetRateCorrection () shall r eport to DET the...SWS_StbM_00392If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to T RUE , StbM_SetRateCorre ction () shall r epor t to DET the...SWS_StbM_00393For Time Base s 16 to 31 each invocation of StbM_BusSetGlobalTime() shall update the corresponding Main Time Tuple and set the...SWS_StbM_00394If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetSyncTimeRecordHead () shall repor t to DET the...SWS_StbM_00395If StbMAllow Master RateCorrection equals TRUE , an invocation of StbM_S etRateCorrection() shall set the rate correction value.SWS_StbM_00396If the absolute value of the rate correction parameter rateDeviation , which is passed to StbM_SetRateCorrection(), is greater...SWS_StbM_00397For Time Bases with StbMSynchronizedTimeBaseIdentifier 0 to 31 ( ECUC_StbM_00021 : ) and StbMIsSystemWideGlobalTimeMaster =...SWS_StbM_00398For Pure Local Time Bases StbM_GetCurrentTime() and StbM_GetCurrentTime Extended () shall return the User Data as set by...SWS_StbM_00399For Pure Local Time Bases all bits of the Time Base status timeBaseStatus shall be set to 0, except for bit GLOBAL_TIME_BASE.SWS_StbM_00404If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , GetOffset TimeReco rd Head shall r eport to DE T the...SWS_StbM_00405If the swi tch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , GetSync TimeRecord Head shall r eport to DET the...SWS_StbM_00406If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_StartTimer() shall r eport to DET the development...SWS_StbM_00407The frequency of invocations of StbM_MainFunction is determined by the configuration parameter StbMMainFunctionPeriod.SWS_StbM_00408StbM_GetMasterConfig() shall return the value of the configuration parameter StbMIsSystemWideGlobalTimeMaster (...SWS_StbM_00409Name Start Timer Comment Interface, which starts a timer for a Time Base Is Service true Variation -- Possible Errors 0 E_ OK...SWS_StbM_00411The StbM shall apply rate correction to a Time Base, if StbMAllowMasterRateCorrection ( ECUC_StbM_00043 : ) equals TRUE and a...SWS_StbM_00412F or a Synchronized Time Base t he StbM shall use r rc = 1, if a valid correction rate (r rc ) has not yet been calculated or...SWS_StbM_00413After initialization the StbM shall maintain the Time of each Pure Local Time Base autonomously via a hardware reference clock...SWS_StbM_00414StbM_GetTimeBaseUpdateCounter () shall return the value of the timeBaseUpdateCounter of the corresponding Time Base.SWS_StbM_00415If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetMasterConfig() shall report to DET the...SWS_StbM_00416[SWS_StbM_00416] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE,...SWS_StbM_00421If any StbMNotificationCustomer ( ECUC_StbM_00050 : ) is configured, the StbM shall use one additional GPT source (referenced...SWS_StbM_00422 For Time Bases with StbMSynchronizedTimeBaseIdentifier 32 to 127 ( ECUC_StbM_00021 : ) and for Time Bases with...SWS_StbM_00424The StbM shall calculate the ( rate corrected ) time (TL) of its local instance of the Time Base as: TL = TG Sync + (TV - TV...SWS_StbM_00425For Synchronized and Offset Time Bases for which the StbM is configured as Time Slave or Time Gateway StbM_GetTimeLeap() shall...SWS_StbM_00428The StbM shall do Global Time precision measurement only for Synchronized Time Bases and Offset Time Bases, for which...SWS_StbM_00431For the Time Master of a Synchronized Time Base the StbM shall use r rc = 1, if a valid correction rate (r rc ) has not yet...SWS_StbM_00432When the StbM detects for an active customer, while monitoring the difference to CustomerTimerExpireTime (see [SWS_StbM_00335]...SWS_StbM_00433The Main Time Tuple shall only be updated after setting a new Global Time or a new Rate Correction value by the application...SWS_StbM_00434For Time Domains 0 to 15 StbM_GetCurr entTime() , StbM_GetCurrentTime Extended () , and StbM_ Bus GetCurrentTime() shall...SWS_StbM_00435For Time Base 0 to 15 StbM_ Bus GetCurrentTime() shall return for the requested Time Domain the T ime Tuple [ T L ; TV ] of...SWS_StbM_00436Although the retrieved value of the Virtual Local Time and the time which is returned by StbM_GetCurrentTime() ,...SWS_StbM_00437StbM_GetCurrent VirtualLocal Time() shall return the value of the Virtual Local Time of the associated Time Base.SWS_StbM_00438The StbM shall determine f or Time Base s 0 to 15 on each invocation of StbM_BusSetGlobalTime() t he Synclocal Ti me Tuple [...SWS_StbM_00439The StbM shall determine f or Time Bases 16 to 31 on each invocation of StbM_BusSetGlobalTime() the Syn clocal Time Tup le [...SWS_StbM_00440For Synchronized Time Bases and if rate correction is enabled (see [SWS_StbM_00377] ) and i f the absolute value of the time...SWS_StbM_00441For Offset Time Bases and if rate correction is enabled (see [SWS_StbM_00377] ) and i f the absolute value of the time offset...SWS_StbM_00442For Synchronized Time Bases the Main Time Tuple shall be updated according to [ SWS_StbM_00440] and [SWS_StbM_00342].SWS_StbM_00443For Offset Time Bases the Main Time Tuple shall be updated according to [SWS_StbM_00441] , [SWS_StbM_00190] and [SWS_StbM_00304].SWS_StbM_00444If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetCurrentVirtualLocalTime () shall r eport to...SWS_StbM_00445If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRU E , St bM_GetCurrentVirtualLocalTime () shall report to...SWS_StbM_00446If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusGetCurrentTime() shall r eport to DET the...SWS_StbM_00447If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusGetCurren tTime() shall r eport to DET the...SWS_StbM_00448If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetGlobalTime() shall report to DET the...SWS_StbM_00449If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetGlobalTi me() shall report to DET the...SWS_StbM_00451If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_UpdateGlobalTime() shall report to DET the...SWS_StbM_00452If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_UpdateGlobal Time() shall report to DET the...SWS_StbM_00453If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ SetOffset () shall report to DET the development...SWS_StbM_00454If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ SetOffset () shall report to DET the development...SWS_StbM_00455If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusSetGlobalTime() shall re port to DET the...SWS_StbM_00456If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusSetGlobalTime () shall report to DET the...SWS_StbM_00457If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ SetUserData () shall report to DET the...SWS_StbM_00458- Tags: atp.SWS_StbM_00459- Tags: atp.SWS_StbM_00460- Tags: atp.SWS_StbM_00461{DRAFT} Name Time Base Provider Notification_ Eth_{TB_ Name} (draft) Comment Notifies about the availability of a new Ethernet...SWS_StbM_00462{DRAFT} Name Time Base Provider Notification_ Fr_{TB_ Name} (draft) Comment Notifies about the availability of a new Flexray...SWS_StbM_00463{DRAFT} Name Time Base Provider Notification_ Can_{TB_ Name} (draft) Comment Notifies about the availability of a new CAN...SWS_StbM_00465T he StbM shall record timing data for Time Validation for Synchronized Time Bases (refer t o ECUC_StbM_00021 :...SWS_StbM_00466Block 0 SlaveTimingData StbM_TimeSlaveMeasure mentType Bus specific structure to capture Time Slave Validation recording data...SWS_StbM_00467The type of the blocks in the Time Slave Validation Record Table ( Table 2 ) shall depend on the Timesync Module, which pro...SWS_StbM_00468Block 0 MasterTimingData StbM_TimeMasterMeasure mentType Bus specific structure to capture Time Master Validation recording...SWS_StbM_00469The type of the blocks in the Time Master Validation Record Table ( Table 4 ) shall depend on the Timesync Module, which...SWS_StbM_00470Each T ime Slave Validation Record Table ( Table 2 ) and T ime Master Validation Record Table ( Table 4 ) Pdelay...SWS_StbM_00471If Time Validation is enabled for a Time Base (refer to [ SWS_StbM_00464 ] and [ SWS_StbM_00465 ] ), upon invocation of...SWS_StbM_00472If no free block is available in the Time Slave Va lidation Record Table of a Time Base (i.SWS_StbM_00473If Time Validation is enabled for a Time Base (refer to SWS_StbM_00464 , SWS_StbM_00465 ), upon invocation of...SWS_StbM_00474{DRAFT} If no free block is available in the Timesync Master Timing Record Table of a Time Base (i.SWS_StbM_00475For each Time Base, which has Time Validation enabled (refer to SWS_StbM_00465 ) and for which the StbM is configured as a...SWS_StbM_00476For each Time Base, which has Time Validation enabled (refer t o SWS_StbM_00465 ) and for which the StbM is configured as...SWS_StbM_00477The StbM shall ensure data integrity of the blocks in the Time Slave Validation Record Table ( Table 2 ) and Time Master...SWS_StbM_00478If Time Validation is enabled for a Time Base (refer to SWS_StbM_00465 ), upon invocation of StbM_EthSetPdelayInitiatorData()...SWS_StbM_00479For each Time Base, which has Time Valid ation enabled (refer to SWS_StbM_00465 ) and is mapped to a Slave Communication...SWS_StbM_00480If Time Validation is enabled for a Time Base (refer to SWS_StbM_00464 , SWS_StbM_00465 ), upon invocation of...SWS_StbM_00481For each Time Base, wh ich has Time Validation enabled (refer to SWS_StbM_00465 ) and is mapped to a Master Communication...SWS_StbM_00487The function StbM_SetSlaveTimingData() shall be pre compile time configurable ON / OFF.SWS_StbM_00488If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetSlaveTimingData() shall r eport to DET the...SWS_StbM_00489If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE, StbM_SetSlaveTimingData() shall r eport to DET the...SWS_StbM_00493The function StbM_Se tMasterTimingData() shall be pre compile time configurable ON / OFF.SWS_StbM_00494If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , S tbM_SetMasterTimingData () s hall r eport to DET the...SWS_StbM_00495If the switch StbMDevErrorDet ect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetMasterTimingData() shall r eport to DET the...SWS_StbM_00497The function StbM_EthSetPdelayInitiatorData() shall be pre compile time con figurable ON / OFF.SWS_StbM_00498I f the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_EthSetPdelayInitiatorData() shall r eport to DET...SWS_StbM_00499If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_EthSetPdela yInitiatorData() shall r eport to DET...SWS_StbM_00501The function StbM_EthSetPdelayResponderData() shall be pre compile time configurable ON / OFF.SWS_StbM_00502If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_EthSetPdelayResponderData () shall r eport to DET...SWS_StbM_00503If the s witch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_Et h SetPdelayResponderData () shall r eport to...SWS_StbM_00512If StbMLocalTimeHardware ECUC_StbM_00053 : references a Gpt Channel as local time sourc e for a Synchronized Ti m e Base, the...SWS_StbM_00513The StbM module shall apply appropriate mechanisms to allow calls of its APIs from o ther partitions than its main function, e.SWS_StbM_00514The StbM module shall ensure to keep the synchronous contract of its APIs, even so they are called in other partitions than...SWS_StbM_00515[SWS_StbM_00515] Upstream requirements: RS_TS_00008 ⌈If the range of the corresponding HW reference counter is less than that...SWS_StbM_00516On invocation of StbM_SetBusProtocolParam() fo r a Time Master of Time Bases 0 to 15, the StbM shall forward the values p...SWS_StbM_00517On invocation of StbM_GetBusProtocolParam() for Time Bases 0 to 15, the StbM shall read the structure values referenced by...SWS_StbM_00518If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetBus P rotocolParam () shall r eport to DET the...SWS_StbM_00519If the swi tch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetBusProtoc olParam () shall r eport to DET the...SWS_StbM_00520If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetBusProtocolParam () shall r eport to DET the...SWS_StbM_00521If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetBusProtocolParam () shall r eport to DET the...SWS_StbM_00522Block 0 pdelayInitiatorData StbM_PdelayInitiatorMeasur ementType Structure to capture Time Validation recording data of a...SWS_StbM_00523Block 0 pdelayResponderData StbM_PdelayResponderMea surementType Structure to capture Time Validation recording data of a...SWS_StbM_00525If no free block is available in the Pdelay Responder Validation Record Table of a Time Base (i.SWS_StbM_00526The StbM shall call the Status Notification callback from StbM_MainFunction().SWS_StbM_00528For Time Bases 16 to 31 each invocation of StbM_BusSetGlobalTime() shall update the Rx Time Tuple [TG Rx ; TV Rx ] as follows...SWS_StbM_00529For Time Bases 0 to 15 each invocation of StbM_BusSetGlobalTime() shall update the Rx Time Tuple [TG Rx ; TV Rx ] as follows...SWS_StbM_00530For Synchronized Time Bases and Pure Local Time Bases upon invocation of Stb M_Clone TimeBase() , the StbM shall first...SWS_StbM_00531For Synchronized Time Bases and Pure Local Time B ases, the StbM shall check on every change of the TIMEOUT bit in the...SWS_StbM_00532For Synchronized Time Bases and Pu re Local Time Bases, the StbM shall check on every invocation of StbM_BusSetGlobalTime() if...SWS_StbM_00533To process an immediate or deferred clone requ est the StbM shall first mask (logical AND ) the current Time Base Status with...SWS_StbM_00534When performing the clone operation the StbM shall copy the Time Base value and the Time Base User Bytes.SWS_StbM_00535When performing the clone operation the StbM shall check the flag APPLY_RATE of the cloneCfg parameter of the clone request.SWS_StbM_00536When performing the c lone operation the StbM shall check the flag IMMEDIATE_TX of the cloneCfg parameter of the clone request.SWS_StbM_00537If the switch S tbMDe vErrorDetect (ECUC_StbM_00012) is set to TRUE , Stb M_Clone TimeBase() shall r eport to DET the...SWS_StbM_00538{ DRAFT } If CAN hardware timestamping is supported (re fer to configuration parameter CanIfGlobal TimeSupport in CanIf, which...SWS_StbM_00539{ D RA FT } If CanIfGlobalTimeSupport (referenced via StbMLocalTimeHardware ECUC_StbM_00053 : , if set to...SWS_StbM_00544[SWS_StbM_00544] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE,...SWS_StbM_00545[SWS_StbM_00545] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE,...SWS_StbM_00546[SWS_StbM_00546] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE,...SWS_StbM_00547[SWS_StbM_00547] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE,...SWS_StbM_00549[SWS_StbM_00549] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE,...SWS_StbM_00550[SWS_StbM_00550] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE,...SWS_StbM_00551[SWS_StbM_00551]{DRAFT} ⌈The SPduTxConfirmationFct function shall be set by the parameter StbMGetTxConfFreshnessValueFuncName.SWS_StbM_00552[SWS_StbM_00552] Upstream requirements: RS_TS_00039 ⌈The GetTxFreshnessTruncDataFct function shall be set by the parameter...SWS_StbM_00553[SWS_StbM_00553] Upstream requirements: RS_TS_00039 ⌈The GetTxFreshnessFct function shall be set by the parameter StbMGet-...SWS_StbM_00554[SWS_StbM_00554] Upstream requirements: RS_TS_00039 ⌈The GetRxFreshnessFct function shall be set by the parameter Stb-...SWS_StbM_00556[SWS_StbM_00556] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE,...SWS_StbM_00598[SWS_StbM_00598] Status: DRAFT Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to...SWS_StbM_00605[SWS_StbM_00605] Status: DRAFT Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to...SWS_StbM_00625[SWS_StbM_00625] Status: DRAFT Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to...SWS_StbM_00626[SWS_StbM_00626] Status: DRAFT Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to...SWS_StbM_00627[SWS_StbM_00627] "Invalid Time Base Parameter" Development Error for StbM_SetCloningOffset Upstream requirements:...SWS_StbM_00628[SWS_StbM_00628] "Service Not Supported" Development Error for StbM_SetCloningOffset Upstream requirements: SRS_BSW_00386,...SWS_StbM_00630[SWS_StbM_00630] "Service Not Supported" Development Error for StbM_SetUserData Upstream requirements: SRS_BSW_00386,...SWS_StbM_91004- Port Defined Argument Value(s) Type Stb M _ Synchronized Time Base Type Value {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb...
Funktionen & Typen — Detailansicht
função StbM_Init [SWS_StbM_00052] 📄 PDF
void StbM_Init(const StbM_ConfigType* ConfigPtr);
Initializes the Synchronized Time - base Manager
função StbM_MainFunction [SWS_StbM_00057] 📄 PDF
void StbM_MainFunction(void);
This function will be called cyclically by a task body provided by the BSW Schedule. It will invoke the triggered customers and synchronize the referenced OS Schedule Tables.
função StbM_GetVersionInfo [SWS_StbM_00066] 📄 PDF
void StbM_GetVersionInfo(Std_VersionInfoType* versioninfo);
Returns the version information of this module.
função StbM_GetCurrentTime [SWS_StbM_00195] 📄 PDF
Std_ReturnType StbM_GetCurrentTime(StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeStampType* timeStamp, StbM_UserDataType* userData);
Returns a time value (Local Time Base derived from Global Time Base) in standard format. Note: This API shall be called with locked interrupts / within an Exclusive Area to prevent interruption (i.e., the risk that the time stamp is outdated on return of the function call).
função StbM_GetCurrentTimeExtended [SWS_StbM_00200] 📄 PDF
Std_ReturnType StbM_GetCurrentTimeExtended(StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeStampExtendedType* timeStamp, StbM_UserDataType* userData);
Returns a time value (Local Time Base derived from Global Time Base) in extended format. Note: This API shall be called with locked interrupts / within an Exclusive Area to prevent interruption (i.e., the risk that the time stamp is outdated on return of the function call).
função StbM_SetGlobalTime [SWS_StbM_00213] 📄 PDF
Std_ReturnType StbM_SetGlobalTime(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* timeStamp, const StbM_UserDataType* userData);
Allows the Customers to set the new global time that has to be valid for the system, which will be sent to the busses. This function will be used if a Time Master is present in this ECU.
função StbM_SetUserData [SWS_StbM_00218] 📄 PDF
Std_ReturnType StbM_SetUserData(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_UserDataType* userData);
Allows the Customers to set the new User Data that has to be valid for the system, which will be sent to the busses.
função StbM_SetOffset [SWS_StbM_00223] 📄 PDF
Std_ReturnType StbM_SetOffset(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* timeStamp, const StbM_UserDataType* userData);
Allows the Customers and the Timesync Modules to set the Offset Time and the User Data.
função StbM_GetOffset [SWS_StbM_00228] 📄 PDF
Std_ReturnType StbM_GetOffset(StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeStampType* timeStamp, StbM_UserDataType* userData);
Allows the Timesync Modules to get the current Offset Time and User Data.
função StbM_BusSetGlobalTime [SWS_StbM_00233] 📄 PDF
Std_ReturnType StbM_BusSetGlobalTime(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* globalTimePtr, const StbM_UserDataType* userDataPtr, const StbM_MeasurementType* measureDataPtr, const StbM_VirtualLocalTimeType* localTimePtr);
Allows the Time Base Provider Modules to forward a new Global Time tuple (i.e., Rx Time Tuple) to the Stb M.
função StbM_GetTimeBaseStatus [SWS_StbM_00263] 📄 PDF
Std_ReturnType StbM_GetTimeBaseStatus(StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeBaseStatusType* syncTimeBaseStatus, StbM_TimeBaseStatusType* offsetTimeBaseStatus);
Returns detailed status information for a Synchronized (or Pure Local) Time Base and, if called for an Offset Time Base, for the Offset Time Base and the underlying Synchronized Time Base.
função StbM_GetTimeLeap [SWS_StbM_00267] 📄 PDF
Std_ReturnType StbM_GetTimeLeap(StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeDiffType* timeJump);
Returns value of Time Leap.
função StbM_StartTimer [SWS_StbM_00272] 📄 PDF
Std_ReturnType StbM_StartTimer(StbM_SynchronizedTimeBaseType timeBaseId, StbM_CustomerIdType customerId, const StbM_TimeStampType* expireTime);
Sets a time value, which the Time Base value is compared against
função <Customer>_TimeNotificationCallback<Time Base> [SWS_StbM_00273] 📄 PDF
Std_ReturnType <Customer>_TimeNotificationCallback<Time Base>(StbM_TimeDiffType deviationTime);
This callback notifies the <Customer>, when a Time Base reaches the time value set by Stb M_ Start Timer for the <Time Base>
função StatusNotificationCallback<Time Base> [SWS_StbM_00285] 📄 PDF
Std_ReturnType StatusNotificationCallback<Time Base>(StbM_TimeBaseNotificationType eventNotification);
The callback notifies the customers, when a <Time Base> related event occurs, which is enabled by the notification mask
função StbM_GetSyncTimeRecordHead [SWS_StbM_00319] 📄 PDF
Std_ReturnType StbM_GetSyncTimeRecordHead(StbM_SynchronizedTimeBaseType timeBaseId, StbM_SyncRecordTableHeadType* syncRecordTableHead);
Accesses to the recorded snapshot data Header of the table belonging to the Synchronized Time Base. Available v ia Stb M.h
função SyncTimeRecordBlockCallback<Time Base> [SWS_StbM_00322] 📄 PDF
Std_ReturnType SyncTimeRecordBlockCallback<Time Base>(const StbM_SyncRecordTableBlockType* syncRecordTableBlock);
Provides a recorded snapshot data block of the measurement data table belonging to the Synchronized Time Base.
função StbM_GetOffsetTimeRecordHead [SWS_StbM_00325] 📄 PDF
Std_ReturnType StbM_GetOffsetTimeRecordHead(StbM_SynchronizedTimeBaseType timeBaseId, StbM_OffsetRecordTableHeadType* offsetRecordTableHead);
Accesses to the recorded snapshot data Header of the table belonging to the Offset Time Base.
função OffsetTimeRecordBlockCallback<Time Base> [SWS_StbM_00328] 📄 PDF
Std_ReturnType OffsetTimeRecordBlockCallback<Time Base>(const StbM_OffsetRecordTableBlockType* offsetRecordTableBlock);
Provides a recorded snapshot data block of the measurement data table belonging to the Offset Time Base.
função StbM_TriggerTimeTransmission [SWS_StbM_00346] 📄 PDF
Std_ReturnType StbM_TriggerTimeTransmission(StbM_SynchronizedTimeBaseType timeBaseId);
Called by the <Upper Layer> to force the Times ync Modules to transmit the current Time Base again due to an incremented time Base Update Counter[time Base Id]
função StbM_GetTimeBaseUpdateCounter [SWS_StbM_00347] 📄 PDF
uint8 StbM_GetTimeBaseUpdateCounter(StbM_SynchronizedTimeBaseType timeBaseId);
Allows the Timesync Modules to detect, whether a Time Base should be transmitted immediately in the subsequent <Bus>TSyn_ Main Function() cycle.
função StbM_GetRateDeviation [SWS_StbM_00378] 📄 PDF
Std_ReturnType StbM_GetRateDeviation(StbM_SynchronizedTimeBaseType timeBaseId, StbM_RateDeviationType* rateDeviation);
Returns value of the current rate deviation of a Time Base
função StbM_UpdateGlobalTime [SWS_StbM_00385] 📄 PDF
Std_ReturnType StbM_UpdateGlobalTime(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* timeStamp, const StbM_UserDataType* userData);
Allows the Customers to set the Global Time that will be sent to the buses. This function will be used if a Time Master is present in this ECU. Using Update Global Time will not lead to an immediate transmission of the Global Time.
função StbM_SetRateCorrection [SWS_StbM_00390] 📄 PDF
Std_ReturnType StbM_SetRateCorrection(StbM_SynchronizedTimeBaseType timeBaseId, StbM_RateDeviationType rateDeviation);
Allows to set the rate of a Synchronized Time Base (being either a Pure Local Time Base or not).
função StbM_CanSetSlaveTimingData [SWS_StbM_00484] 📄 PDF
Std_ReturnType StbM_CanSetSlaveTimingData(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_CanTimeSlaveMeasurementType* measureDataPtr);
Allows the Can TSyn Module to forward CAN specific details to the Stb M. Tags: atp.Status=draft
função StbM_FrSetSlaveTimingData [SWS_StbM_00485] 📄 PDF
Std_ReturnType StbM_FrSetSlaveTimingData(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_FrTimeSlaveMeasurementType* measureDataPtr);
Allows the Fr TSyn Module to forward Flexray specific details to the Stb M. Tags: atp.Status=draft
função StbM_EthSetSlaveTimingData [SWS_StbM_00486] 📄 PDF
Std_ReturnType StbM_EthSetSlaveTimingData(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_EthTimeSlaveMeasurementType* measureDataPtr);
Allows the Eth TSyn Module to forward Ethernet specific details to the Stb M. Tags: atp.Status=draft
função StbM_CanSetMasterTimingData [SWS_StbM_00490] 📄 PDF
Std_ReturnType StbM_CanSetMasterTimingData(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_CanTimeMasterMeasurementType* measureDataPtr);
Provides CAN Timesyn module specific data for a Time Master to the Stb M. Tags: atp.Status=draft
função StbM_FrSetMasterTimingData [SWS_StbM_00491] 📄 PDF
Std_ReturnType StbM_FrSetMasterTimingData(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_FrTimeMasterMeasurementType* measureDataPtr);
Provides Flexray Timesyn module specific data for a Time Master to the Stb M. Tags: atp.Status=draft
função StbM_EthSetMasterTimingData [SWS_StbM_00492] 📄 PDF
Std_ReturnType StbM_EthSetMasterTimingData(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_EthTimeMasterMeasurementType* measureDataPtr);
Provides Ethernet Timesyn module specific data for a Time Master to the Stb M. Tags: atp.Status=draft
função StbM_EthSetPdelayInitiatorData [SWS_StbM_00496] 📄 PDF
Std_ReturnType StbM_EthSetPdelayInitiatorData(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_PdelayInitiatorMeasurementType* measureDataPtr);
- Tags: atp.Status=draft
função StbM_EthSetPdelayResponderData [SWS_StbM_00500] 📄 PDF
Std_ReturnType StbM_EthSetPdelayResponderData(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_PdelayResponderMeasurementType* measureDataPtr);
- Tags: atp.Status=draft
função StbM_GetMasterConfig [SWS_StbM_91002] 📄 PDF
Std_ReturnType StbM_GetMasterConfig(StbM_SynchronizedTimeBaseType timeBaseId, StbM_MasterConfigType* masterConfig);
Indicates if the functionality for a system wide master (e.g. Stb M_ Set Global Time) for a given Time Base is ava ilable or not.
função StbM_BusGetCurrentTime [SWS_StbM_91005] 📄 PDF
Std_ReturnType StbM_BusGetCurrentTime(StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeStampType* globalTimePtr, StbM_VirtualLocalTimeType* localTimePtr, StbM_UserDataType* userData);
Returns the current Time Tuple, status and User Data of the Time Base.
função StbM_GetCurrentVirtualLocalTime [SWS_StbM_91006] 📄 PDF
Std_ReturnType StbM_GetCurrentVirtualLocalTime(StbM_SynchronizedTimeBaseType timeBaseId, StbM_VirtualLocalTimeType* localTimePtr);
Returns the Virtual Local Time of the referenced Time Base.
função StbM_GetBusProtocolParam [SWS_StbM_91007] 📄 PDF
Std_ReturnType StbM_GetBusProtocolParam(StbM_SynchronizedTimeBaseType timeBaseId, StbM_ProtocolParamType* protocolParam);
This API is used to get bus specific parameters from received Follow_ Up message
função StbM_SetBusProtocolParam [SWS_StbM_91008] 📄 PDF
Std_ReturnType StbM_SetBusProtocolParam(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_ProtocolParamType* protocolParam);
This API is used to set bus specific parameters of a Time Master
função StbM_CloneTimeBase [SWS_StbM_91012] 📄 PDF
Std_ReturnType StbM_CloneTimeBase(StbM_SynchronizedTimeBaseType timeBaseId, StbM_CloneConfigType cloneCfg, StbM_TimeBaseStatusType statusMask, StbM_TimeBaseStatusType statusValue);
Copies Time Base data (current time, user data, rate corrction) from Source Time Base to Destination Time Base. The Source Time Base is identified by the parameter Stb MSource Time Base (ECUC_ Stb M_00074). Stb?M_?Clone Time Base behaves synchronuously (immediate copy of Time Base) if DEFERRED_ COPY flag of parameter clone Cfg is set to true, otherwise it behaves asynchronuously (deferred copy of Time Base). Note: Even, if conf igured to behave synchronuously (immediate copy of Time Base), actual transmission of cloned Time Base value on the bus occurs asynchronuously.
função StbM_GetTxFreshnessTruncData [SWS_StbM_91014] 📄 PDF
Std_ReturnType StbM_GetTxFreshnessTruncData(uint16 StbMFreshnessValueId, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength, uint8* StbMTruncatedFreshnessValue, uint32* StbMTruncatedFreshnessValueLength);
This interface is used by the StbM to obtain the current freshness value. The interface function provides also the truncated freshness transmitted in the secured time sync message. Tags: atp.Status=draft
função StbM_GetRxFreshness [SWS_StbM_91016] 📄 PDF
Std_ReturnType StbM_GetRxFreshness(uint16 StbMFreshnessValueId, const uint8* StbMTruncatedFreshnessValue, uint32 StbMTruncatedFreshnessValueLength, uint16 StbMAuthVerifyAttempts, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength);
This interface is used by the StbM to query the current freshness value. Tags: atp.Status=draft
função StbM_GetTxFreshness [SWS_StbM_91018] 📄 PDF
Std_ReturnType StbM_GetTxFreshness(uint16 StbMFreshnessValueId, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength);
This API returns the freshness value from the Most Significant Bits in the first byte, of the Freshness array, in big endian format. Tags: atp.Status=draft
função SPduTxConfirmationFct [SWS_StbM_91022] 📄 PDF
void SPduTxConfirmationFct(uint16 StbMFreshnessValueId);
This interface is used by the StbM to indicate that the Secured Time Synchronization Message has been initiated for transmission. Tags: atp.Status=draft
função GetTxFreshnessTruncDataFct [SWS_StbM_91023] 📄 PDF
Std_ReturnType GetTxFreshnessTruncDataFct(uint16 StbMFreshnessValueId, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength, uint8* StbMTruncatedFreshnessValue, uint32* StbMTruncatedFreshnessValueLength);
This interface is used by the StbM to obtain the current freshness value. The interface function provides also the truncated freshness transmitted in the secured time sync message. Tags: atp.Status=draft
função GetTxFreshnessFct [SWS_StbM_91024] 📄 PDF
Std_ReturnType GetTxFreshnessFct(uint16 StbMFreshnessValueId, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength);
This API returns the freshness value from the Most Significant Bits in the first byte, of the Freshness array, in big endian format Tags: atp.Status=draft
função GetRxFreshnessFct [SWS_StbM_91025] 📄 PDF
Std_ReturnType GetRxFreshnessFct(uint16 StbMFreshnessValueId, const uint8* StbMTruncatedFreshnessValue, uint32 StbMTruncatedFreshnessValueLength, uint16 StbMAuthVerifyAttempts, uint8* StbMFreshnessValue, uint32* StbMFreshnessValueLength);
This interface is used by the StbM to query the current freshness value.
função StbM_GetCurrentSafeTime [SWS_StbM_91027] 📄 PDF
Std_ReturnType StbM_GetCurrentSafeTime(StbM_SynchronizedTimeBaseType timeBaseId, StbM_TimeTripleType* timeTriple, StbM_UserDataType* userData);
Returns a time triple (Local Time, Fallback Local Time, Global time and timebase status) and user data details. Note: This API shall be called with locked interrupts / within an Exclusive Area to prevent interruption (i.e., the risk that the time stamp is outdated on return of the function call). Tags: atp.Status=draft ▽ △
função StbM_GetFallbackVirtualLocalTime [SWS_StbM_91029] 📄 PDF
Std_ReturnType StbM_GetFallbackVirtualLocalTime(StbM_SynchronizedTimeBaseType timeBaseId, StbM_VirtualLocalTimeType* localTimePtr);
Returns the Fallback Virtual Local Time of the referenced Time Base. Tags: atp.Status=draft
função StbM_SetCloningOffset [SWS_StbM_91030] 📄 PDF
Std_ReturnType StbM_SetCloningOffset(StbM_SynchronizedTimeBaseType timeBaseId, const StbM_TimeStampType* timeOffset);
Sets an offset time that will be added to the synchronized time when cloning a Time Base.
tipo StbM_SynchronizedTimeBaseType [SWS_StbM_00142] 📄 PDF
Variables of this type are used to represent the kind of synchronized time - base. Variation --
tipo StbM_TimeBaseStatusType [SWS_StbM_00239] 📄 PDF
bit TIMEOUT 0x01 Bit 0 (LSB): 0x00: No Timeout on receiving Synchronisation Messages 0x01: Timeout on receiving Synchronisation Messages bit SYNC_ TO_ GATEWAY 0x04 Bit 2 0x00: Local Time Base is synchronous to Global Time Master 0x04: Local Time Base updates are based on a Time Gateway below the Global Time Master bit GLOBAL_ TIME_ BASE 0x08 Bit 3 0x00: Local Time Base is based on Local Time Base reference clock on ly (never synchronized with Global Time Base) 0x08: Local Time Base was at least synchronized with Global Time Base one time bit TIMELEAP_ FUTURE 0x10 Bit 4 0x00: No leap into the future within the received time for Time Base 0x10: Leap into the future w ithin the received time for Time Base exceeds a configured threshold bit TIMELEAP_ PAST 0x20 Bit 5 0x00: No leap into the past within the received time for Time Base 0x20: Leap into the past within the received time for Time Base exceeds a configured thr eshold Description Bit 1, 6, and 7 are always 0 (reserved for future usage) Variables of this type are used to express if and how a Local Time Base is synchronized to the Global Time Master. The type is a bitfield of individual status bits, although not e very combination is possible, i.e. any of the bits TIMEOUT, TIMELEAP_ FUTURE, TIMELEAP_ PAST and SYNC_ TO_ GATEWAY can only be set if the GLOBAL_ TIME_ BASE bit is set. Variation --
tipo StbM_TimeStampType [SWS_StbM_00241] 📄 PDF
Variables of this type are used for expressing time stamps including relative time and absolute calendar time. The absolute time starts from 1970 - 01 - 01. 0 to 281474976710655s == 3257812230d [0x FFFF FFFF FFFF] 0 to 999999999ns [0x3B9A C9FF] invalid value i n nanoseconds: [0x3B9A CA00] to [0x3FFF FFFF] Bit 30 and 31 reserved, default: 0 Variation --
tipo StbM_TimeStampExtendedType [SWS_StbM_00242] 📄 PDF
Variables of this type are used for expressing time stamps including relative time and absolute calendar time. The absolute time starts from 1970 - 01 - 01. Variation --
tipo StbM_UserDataType [SWS_StbM_00243] 📄 PDF
Current user data of the Time Base Variation --
tipo StbM_ConfigType [SWS_StbM_00249] 📄 PDF
Configuration data structure of the Stb M module.
tipo StbM_TimeBaseNotificationType [SWS_StbM_00287] 📄 PDF
bit EV_ GLOBAL_ TIME 0x01 Bit 0 (LSB): 0: synchronization to global time master not changed 1: GLOBAL_ TIME_ BASE in Stb M_ Time Base Status Type has changed from 0 to 1 bit EV_ TIMEOUT_ OCCURRED 0x02 Bit 1: 1: TIMEOUT bit in time Base Status has changed from 0 to 1 0: otherwise bit EV_ TIMEOUT_ REMOVED 0x04 Bit 2 1: TIMEOUT bit in time Base Status has changed from 1 to 0 0: otherwise bit EV_ TIMELEAP_ FUTURE 0x08 Bit 3 1: TIMELEAP_ FUTURE bit in time Base Status has changed from 0 to 1 0: otherwise bit EV_ TIMELEAP_ FUTURE_ REMOVED 0x10 Bit 4 1: TIMELEAP_ FUTURE bit in time Base Status has changed from 1 to 0 0: otherwise bit EV_ TIMELEAP_ PAST 0x20 Bit 5 1: TI MELEAP_ PAST bit in time Base Status has changed from 0 to 1 0: otherwise bit EV_ TIMELEAP_ PAST_ REMOVED 0x40 Bit 6 1: TIMELEAP_ PAST bit in time Base Status has changed from 1 to 0 0: otherwise bit EV_ SYNC_ TO_ SUBDOMAIN 0x80 Bit 7 1: SYNC_ TO_ GATEWAY bit in time Base Status has changed from 0 to 1 0: otherwise bit EV_ SYNC_ TO_ GLOBAL_ MASTER 0x100 Bit 8 1: SYNC_ TO_ GATEWAY bit of Time Domain changes from 1 to 0 0: otherwise bit EV_ RESYNC 0x0200 Bit 9: 1: A synchronization of the local time to the valid Global Time value has occured 0: No resynchronization event occured bit EV_ RATECORRECTION 0x0400 Bit 10 1: a valid rate correction has been calculated (not beyond limits) 0: No rate correction c alculated Description The Stb M_ Time Base Notification Type type defines a number of global time related events. The type definition is used for storing the events in the status variable Notification Events and for setting the mask variable Notification Mask which defines a subset of events for which an interrupt request shall be raised. Variation --
tipo StbM_CustomerIdType [SWS_StbM_00288] 📄 PDF
unique identifier of a notification customer Variation --
tipo StbM_TimeDiffType [SWS_StbM_00300] 📄 PDF
Variables of this type are used to express time differences / offsets as signed values in in nanoseconds Variation --
tipo StbM_RateDeviationType [SWS_StbM_00301] 📄 PDF
Variables of this type are used to express a rate deviation in ppm. Variation --
tipo StbM_SyncRecordTableHeadType [SWS_StbM_00331] 📄 PDF
Synchronized Time Base Record Table Header Variation --
tipo StbM_SyncRecordTableBlockType [SWS_StbM_00332] 📄 PDF
Synchronized Time Base Record Table Block Variation --
tipo StbM_OffsetRecordTableHeadType [SWS_StbM_00333] 📄 PDF
Offset Time Base Record Table Header Variation --
tipo StbM_OffsetRecordTableBlockType [SWS_StbM_00334] 📄 PDF
Offset Time Base Record Table Block Variation --
tipo StbM_MeasurementType [SWS_StbM_00384] 📄 PDF
Structure which contains additional measurement data
tipo StbM_TimeStampShortType [SWS_StbM_00482] 📄 PDF
Variables of this type are used for expressing time stamps with a limited range including relative time and absolute calendar time. The absolute time starts from 1970 - 01 - 01. 0 to 4.294.967.295 s ~ 136 years 0 to 999999999ns [0x3B9A C9FF] invalid value in nanoseconds: [0x3B9A CA00] to [0x3FFF FFFF] Bit 30 and 31 reserved, default: 0 Variation --
tipo StbM_PortIdType [SWS_StbM_00483] 📄 PDF
Structure which contains port identity data Variation ({ecuc(Eth TSyn/ Eth TSyn General/ Eth TSyn Time Validation Support)} == True)
tipo StbM_EthTimeMasterMeasurementType [SWS_StbM_00504] 📄 PDF
Structure with detailed data for Time Validation of the Time Master on Ethernet Variation ({ecuc(Eth TSyn/ Eth TSyn General/ Eth TSyn Time Validation Support)} == True)
tipo StbM_FrTimeMasterMeasurementType [SWS_StbM_00505] 📄 PDF
Structure with detailed data for Time Validation of the Time Master on Flexray Variation ({ecuc(Fr TSyn/ Fr TSyn General/ Fr TSyn Time Validation Support)} == True)
tipo StbM_EthTimeSlaveMeasurementType [SWS_StbM_00506] 📄 PDF
Structure with detailed data for Time Validation of the Time Slave on Ethernet Variation ({ecuc(Eth TSyn/ Eth TSyn General/ Eth TSyn Time Validation Support)} == True)
tipo StbM_FrTimeSlaveMeasurementType [SWS_StbM_00507] 📄 PDF
Structure with detailed data for Time Validation of the Time Slave on Flexray Variation ({ecuc(Fr TSyn/ Fr TSyn General/ Fr TSyn Time Validation Support)} == True)
tipo StbM_PdelayInitiatorMeasurementType [SWS_StbM_00508] 📄 PDF
Structure with detailed timing data for the p Delay Initiator Variation ({ecuc(Eth TSyn/ Eth TSyn General/ Eth TSyn Time Validation Support)} == True)
tipo StbM_PdelayResponderMeasurementType [SWS_StbM_00509] 📄 PDF
Structure with detailed timing d ata for the p Delay Responder Variation ({ecuc(Eth TSyn/ Eth TSyn General/ Eth TSyn Time Validation Support)} == True)
tipo StbM_CanTimeSlaveMeasurementType [SWS_StbM_00510] 📄 PDF
Structure with detailed timing data for the Time Slave on CAN Variation ({ecuc(Can TSyn/ Can TSyn General/ Can TSyn Time Validation Support)} == True)
tipo StbM_CanTimeMasterMeasurementType [SWS_StbM_00511] 📄 PDF
Structure with detailed data for Time Validation of the Time Master on CAN Variation ({ecuc(Can TSyn/ Can TSyn General/ Can TSyn Time Validation Support)} == True)
tipo StbM_MasterConfigType [SWS_StbM_91001] 📄 PDF
This type indicates if an ECU is configured for a system wide master for a given Time Base is available or not. Variation --
tipo StbM_VirtualLocalTimeType [SWS_StbM_91003] 📄 PDF
Variables of this type store time stamps of the Virtual Local Time. The unit is nanoseconds. Variation --
tipo StbM_TimeSyncType [SWS_StbM_91009] 📄 PDF
Indicates the underlying Time Sync module Variation --
tipo StbM_ProtocolParamType [SWS_StbM_91010] 📄 PDF
This structure defines Time Sync protocol specific parameters relevant for the individual Time Sync modules (only Eth TSyn specific parameters are known so far) Variation --
tipo StbM_CloneConfigType [SWS_StbM_91011] 📄 PDF
bit DEFERRED_ COPY 0x01 True: copy of time information to destination is deferred until Source Time base is updated next time by <bus> TSyn module False: time information copied immediately to Destination Time Base bit IMMEDIATE_ TX 0x02 True: time information is transmitted on destination bus immediately after cloning False: time information is transmitted on destination bus only on ne xt cyclic transmission after cloning bit APPLY_ RATE 0x04 True: Rate correction value of SOurce Time Base shall be applied to Destination Time Base Description Bitfield to configure the cloning process. Bit 3 .. 7 are always 0 (reserved for future usage). Variation --
requirement SWS_StbM_00020 [SWS_StbM_00020] 📄 PDF
The Synchronized Time - Base Manager must be able to interact w ith the OS as T riggered C ustome r . The module calls the OS API for synchronizing OS ScheduleTables.
requirement SWS_StbM_00022 [SWS_StbM_00022] 📄 PDF
The Synchronized Time - Base Manager shall provide means to configure the T ime B ase to which the OS Sched uleTable should be synchronized (see container ECUC_StbM_00004 : StbMTriggeredCustomer ) .
requirement SWS_StbM_00031 [SWS_StbM_00031] 📄 PDF
[SWS_StbM_00031] Upstream requirements: RS_TS_00025 ⌈If a Triggered Customer is configured (refer to StbMTriggeredCustomer), the Syn- chronized Time-Base Manager shall monitor the cyclic execution of the StbM_Main- Function. This is to guarantee cyclic synchronization of OS schedule tables.⌋
requirement SWS_StbM_00041 [SWS_StbM_00041] 📄 PDF
Type of error Related error code Error value API called with invalid time base ID STBM_ E_ PARAM 0x0A API called while Stb M is not initialized STBM_ E_ UNINIT 0x0B API called with invalid pointer in parameter list STBM_ E_ PARAM_ POINTER 0x10 Stb M_ Init called with an invalid configuration pointer STBM_ E_ INIT_ FAILED 0x11 API disabled by configuration STBM_ E_ SERVICE_ DISABLED 0x12 API called with invalid timestamp STBM_ E_ PARAM_ TIMESTAMP 0x25 API called with invalid user data STBM_ E_ PARAM_ USERDATA 0x26
requirement SWS_StbM_00051 [SWS_StbM_00051] 📄 PDF
Module Header File Imported Type Can Can_ General Types.h Can _ Time Stamp Type (draft) Eth Eth_ General Types.h Eth _ Time Stamp Qual Type Eth_ General Types.h Eth _ Time Stamp Type Gpt Gpt.h Gpt _ Channel Type Gpt.h Gpt _ Value Type Os Os.h Schedule Table Status Ref Type Os.h Schedule Table Status Type Os.h Schedule Table Type Os.h Status Type Os.h Tick Ref Type Os.h Tick Type Rte_ Os_ Type.h Counter Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type
requirement SWS_StbM_00058 [SWS_StbM_00058] 📄 PDF
Det _ Report - Error Det.h Service to report development errors. Eth T Syn _ Get - Protocol Param Eth TSyn.h This API is used to read Follow Up information TLV parameters from received Follow_ Up message. Eth T Syn _ Set - Protocol Param Eth TSyn.h This API is used to set Follow Up information TLV parameters of a Follow_ U p message prior transmission. The API is called within Stb M_ Set Bus Protocol Param which provides the content of the structure protocol Param.
requirement SWS_StbM_00059 [SWS_StbM_00059] 📄 PDF
Can If _ Get - Current Time (draft) Can If.h This service calls the corresponding CAN Driver service to retrieve the current time value out of the HW registers. Tags: atp.Status=draft Eth If _ Get - Current Time Eth If.h Returns a time value out of the HW registers according to the capability of the HW. Is the HW resolution is lower than the Eth_ Time Stamp Type resolution resp. range, the remaining bits will be filled with 0. Important Note: Eth If_ Get Current Time may b e called within an exclusive area. Get Counter - Value Os.h This service reads the current count value of a counter (returning either the hardware timer ticks if counter is driven by hardware or the software ticks when user drives counter). Get Elapsed - Value Os.h This service gets the number of ticks between the current tick value and a previously read tick value. Get Schedule - Table Status Os.h This service queries the state of a schedule table (also with respect to synchronization). Gpt _ Get Time - Elapsed Gpt.h Returns the time already elapsed. Gpt _ Start Timer Gpt.h Starts a timer channel. Sync Schedule - Table Os.h This service provides the schedule table with a synchronization count and start synchronization.
requirement SWS_StbM_00077 [SWS_StbM_00077] 📄 PDF
[SWS_StbM_00077] Upstream requirements: RS_TS_00032 ⌈The Synchronized Time-Base Manager shall synchronize OS ScheduleTables only when the associated Synchronized Time Base is synchronized, i.e., if • GLOBAL_TIME_BASE = 1 and • TIMEOUT = 0 and • SYNC_TO_GATEWAY = 0 and • TIMELEAP_FUTURE = 0 and • TIMELEAP_PAST = 0 ⌋
requirement SWS_StbM_00084 [SWS_StbM_00084] 📄 PDF
Customers of type T riggered C ustomer shall be invoked periodically by the Synchronized Time - Base Manager.
requirement SWS_StbM_00092 [SWS_StbM_00092] 📄 PDF
[SWS_StbM_00092] Upstream requirements: SRS_BSW_00429, RS_TS_00032 ⌈The Synchronized Time-Base Manager shall check the OS for the status of the OS ScheduleTable by calling GetScheduleTableStatus before performing the syn- chronization. The Synchronized Time-Base Manager shall synchronize only OS ScheduleTables that are in one of the states • SCHEDULETABLE_WAITING, • SCHEDULETABLE_RUNNING or • SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS. ⌋ Note: The Synchronized Time-Base Manager should ignore possible errors caused by the sequential execution of 1. getting OS ScheduleTable status and 2. performing the synchronization (e.g., someone else might have called a service to stop the OS ScheduleTable in the meantime).
requirement SWS_StbM_00093 [SWS_StbM_00093] 📄 PDF
The triggering period S tbM T riggered C ustomerPeriod (refer to ECUC_StbM_00020 : ) shall be configurable for each T riggered C ustomer .
requirement SWS_StbM_00094 [SWS_StbM_00094] 📄 PDF
[SWS_StbM_00094] Upstream requirements: SRS_BSW_00386, SRS_BSW_00337 ⌈If development error detection for the StbM module is enabled the function StbM_ GetVersionInfo shall raise the development error STBM_E_PARAM_POINTER and return if versioninfo is a NULL pointer (NULL_PTR).⌋
requirement SWS_StbM_00100 [SWS_StbM_00100] 📄 PDF
A static status variable denoting if the StbM is initialized shall be initialized with value 0 before any APIs of the StbM are called.
requirement SWS_StbM_00107 [SWS_StbM_00107] 📄 PDF
If OS is configured as triggered customer, t he function StbM_MainFunction shall synch r onize the referenced OS ScheduleTable .
requirement SWS_StbM_00121 [SWS_StbM_00121] 📄 PDF
StbM_Init shall set the static status variable to a value not equa l to 0.
requirement SWS_StbM_00140 [SWS_StbM_00140] 📄 PDF
These requirements are not applicabl e to this spec ification.
requirement SWS_StbM_00170 [SWS_StbM_00170] 📄 PDF
On invocation of StbM _ Init() each configured Time Base (refer to StbMSynchronizedTimeBase , ECUC_StbM_00003 : ) shall be initialized with zero and its synchronization status timeBaseStatus shall be set to 0x00 .
requirement SWS_StbM_00171 [SWS_StbM_00171] 📄 PDF
For each Time Base configured to be stored non - volatile ( StbMStoreTimebaseNonVolatile == STORAGE_AT_SHUTDOWN ), the Time Base value shall be loaded from NvM. In case the restore is not successful, the Time Base shall start w ith zero .
requirement SWS_StbM_00172 [SWS_StbM_00172] 📄 PDF
For each Time Base configured to be stored non - volatile ( StbMStoreTimebaseNonVolatile == STORAGE_AT_SHUTDOWN ), the value shall be stored to NvM latest at shutdown.
requirement SWS_StbM_00173 [SWS_StbM_00173] 📄 PDF
For Time Domains 0 to 15 StbM_GetCurrentTime() and StbM_GetCurrentTime Extended () shall return for the requested Time Domain the time of the Time Base , the related Status and the User Data. The current time of the Time Base shall be derived from the assoc iated Virtual Local Time , w h i c h is derived from either the referenced OS counter, a GPT or a referenced Ethernet controller (refer to StbMLocalTimeHardware ) .
requirement SWS_StbM_00177 [SWS_StbM_00177] 📄 PDF
For Time Bases 16 t o 31 the StbM_GetCurrentTime() and StbM_GetCurrentTime Extended () shall return for the requested Time Base an absolute time value calcula ted by adding the given offset to the current Time Base of the referenced Time Base via StbMOffsetTimeBase ( ECUC_StbM_00030 : ).
requirement SWS_StbM_00178 [SWS_StbM_00178] 📄 PDF
If EthIfGlobalTimeSupport (referenced via StbMLocalTimeHardware ECUC_StbM_00053 : , if set to EthTSynGlobalTimeDomain ) is set to TRUE for a Synchronized Time Base, the StbM shall deriv e the current value of the Virtual Local Time (see StbM_VirtualLocalTimeType [SWS_StbM_91003] ) from the freerunning HW counter from the corres ponding Ethernet Controller via EthIf_GetCurrentTime() . If EthIf_GetCurrentTime() returns either ETH_UNCERTAIN or ETH_INVALID for parameter timeQualPtr , the time value returned by EthIf_GetCurrentTime() shall be ignored.
requirement SWS_StbM_00179 [SWS_StbM_00179] 📄 PDF
For Time Base s 0 to 15 each invocation of StbM_BusSetGlobalTime() shall update the corresponding Main Time Tuple and set the User Data and the Time Base Status acco rdingly.
requirement SWS_StbM_00180 [SWS_StbM_00180] 📄 PDF
After i nitialization t he StbM shall maintain the Local Time of each Time Base autonomously via a hardware reference clock ( r eferenced by StbMLocalTime Cl ock ) .
requirement SWS_StbM_00181 [SWS_StbM_00181] 📄 PDF
On a valid invocation of StbM_SetGlobalTime() , StbM_UpdateGlobalTime() , or StbM_SetOffset() the StbM shall set the GLOBAL_TIM E_BASE bit wi thin timeBaseStatus of the corresponding Time Base and shall clear all other bits.
requirement SWS_StbM_00182 [SWS_StbM_00182] 📄 PDF
For Sync hronized and Offset Time Bases for which the StbM is configured as Time Slave or Time Gateway , an invocation of StbM_BusSetGlobalTime() shall check, if the Global T ime difference between the Updated Received Time (i.e., the updated Time Base value) and the Synclocal Ti me (i.e. , the current Time Base value ) exceeds the configured threshold of StbMTimeLeapFutureThreshold ( ECUC_StbM_00041 : ), i.e. , TG Rx - TL Sync > StbMTimeLeapFutureThreshold , if at least one Time Ba se value has been suc cessfully received before. With: TL Sync = Global Time part of the Synclocal Time Tuple TG Rx = Global Time part of the Updated Rx Time Tuple In case the threshold is exceeded the StbM shall set the TIMELEAP_FUTURE bit within timeBaseS tatus o f the Time Base. If the next StbMClearTimeleapCount updates are within the threshold of StbMTimeLeapFutureThreshold the StbM shall clear the TIMELEAP_FUTURE bit within timeBaseStatus of the Time Base. A threshold of 0 shall deactivate this check.
requirement SWS_StbM_00183 [SWS_StbM_00183] 📄 PDF
For Synchronized and Offset Time Bases for which the StbM is configu red as Time Slave or Time Gateway, the StbM shall observe the timeout StbMSyncLossTimeout ( ECUC_StbM_00028 : ) . The timeout shall be measured from last invocation of StbM_BusSetGlobalTime() . If t he tim eout occur s, the StbM shall set the TIMEOUT bit within timeBaseStatus of the Time Base. An invocation of StbM_BusSetGlobalTime() shall clear the TIMEOUT bit.
requirement SWS_StbM_00184 [SWS_StbM_00184] 📄 PDF
Every invocation of StbM_BusSetGlobalTime() shall set the SYNC_TO_GATEWAY bit within timeBaseStatus of the Time Base to the value of the SYNC_TO _GATEWAY bit within timeBaseStatus of the timeStampPtr argument passed to StbM_BusSetGlobalTime() .
requirement SWS_StbM_00185 [SWS_StbM_00185] 📄 PDF
For Synchronized and Offset Time Bases for which the StbM is configured as Time Slave or Time Gateway , an invocation of Stb M_BusSetGlobalTime() shall set the GLOBAL_TIME_BASE bit within timeBaseStatus of the Time Base. Once set, the bit is never cleared.
requirement SWS_StbM_00187 [SWS_StbM_00187] 📄 PDF
For Synchronized and Offset Time Bases for which the StbM is configured as Time Gateway, the StbM shall set the SYNC_TO_GATEWAY bit within timeBaseStatus of the Time Base when a timeout occurs (refer to [SWS_StbM_00183] ) .
requirement SWS_StbM_00190 [SWS_StbM_00190] 📄 PDF
Each valid invocation of StbM_SetOffset() shall update the M ain Time Tuple of the corresponding Offset Time Base. The Offset Time value and the User Data shall be set accordingly .
requirement SWS_StbM_00191 [SWS_StbM_00191] 📄 PDF
StbM_SetOffset() and StbM_GetOffset() shall only accept Offset Time Ba ses with a timeBaseId 16 to 31.
requirement SWS_StbM_00192 [SWS_StbM_00192] 📄 PDF
Each invocation of StbM_GetOffset() shall return the Offset Time value and the U ser D at a of the corresponding Offset Time Base.
requirement SWS_StbM_00196 [SWS_StbM_00196] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetCur rentT ime() shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , which is not configured or within the reserved value range .
requirement SWS_StbM_00197 [SWS_StbM_00197] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to T RUE , StbM_GetCurrentTime() shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for paramete r timeStamp or userData .
requirement SWS_StbM_00199 [SWS_StbM_00199] 📄 PDF
For any S tbM API service other th a n StbM_Init() and StbM_GetVersion() all out parameters shall remain untouched, if an error occurs during execution of that API service .
requirement SWS_StbM_00201 [SWS_StbM_00201] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to T RUE , StbM_GetCurrentTimeExtended() shall r eport to DET the development error STBM_E_PARAM , if ca lled with a parameter timeBaseI d , which is not configured or within the reserved value rang e.
requirement SWS_StbM_00202 [SWS_StbM_00202] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetCurrentTimeExtended() sha ll r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter timeStamp or userData .
requirement SWS_StbM_00214 [SWS_StbM_00214] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetGlobalTime() shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , which is not config ured or within the reserved value range.
requirement SWS_StbM_00215 [SWS_StbM_00215] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetGlobalTim e() shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter timeStamp .
requirement SWS_StbM_00219 [SWS_StbM_00219] 📄 PDF
If the switc h StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetUserData() shall r eport to DET the development error STBM_E_PARAM , if called with a para meter timeBaseI d , which is not configured or is within the reserved value range.
requirement SWS_StbM_00220 [SWS_StbM_00220] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetUserData( ) shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter userData .
requirement SWS_StbM_00224 [SWS_StbM_00224] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetOffset() shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , which is not configured or refers to a Syn chronized or Pure Local Time Base or is within the reserved value range.
requirement SWS_StbM_00225 [SWS_StbM_00225] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetOffset() shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter timeStamp .
requirement SWS_StbM_00229 [SWS_StbM_00229] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetOffset() shall r eport to DET the devel opment error STBM_E_PARAM , if called with a parameter timeBaseI d , which is not configured or refers to a Synchronized or Pure Local Time Base or is within the reserved value range .
requirement SWS_StbM_00230 [SWS_StbM_00230] 📄 PDF
If the switch StbMD evErr orDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetOffset() shall r eport to DET the development error STBM_E_PARAM_POINTER , if cal led w ith a NULL pointer for parameter timeStamp or userData .
requirement SWS_StbM_00234 [SWS_StbM_00234] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusSetGlobalTime() shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , which refer s to a Pure Local Time Base or is not configured or is within the rese rved value range
requirement SWS_StbM_00235 [SWS_StbM_00235] 📄 PDF
[SWS_StbM_00235] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_BusSetGlobalTime shall report to DET the development error STBM_E_PARAM_POINTER, if called with a NULL pointer for parameter • timeTuplePtr • measureDataPtr ⌋
requirement SWS_StbM_00240 [SWS_StbM_00240] 📄 PDF
Name Global Time_ Master_{Name} Comment -- Is Service true Variation (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MIs System Wide Global Time Master)} == TRUE ) || ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MAllow System Wide Global Time Master)} == TRUE )) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchroni zed Time Base Identifier)} < 128) Name = {ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)} Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Clone Comment Copies Time Base data (current time, user data, rate correction) from Source Time Base to Destination Time Base. The Source Time Base is identified by the parameter Stb MSource Time Base (ECUC_ Stb M_00074) Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 16) || ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} > 31) Parameters clone Cfg Type Stb M _ Clone Config Type Direction IN Comment Refines how source Time Base is cloned to destination Variation -- status Mask Type Stb M _ Time Base Status Type Direction IN Comment Status flags mask for definition of relevant status flags Variation -- status Value Type Stb M _ Time Base Status Type Direction IN Comment Status flags value define whether cloning shall take place Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Master Config Comment Indicates in postbuild use case, if the Stb M is actually configured as system wide master Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MAllow System Wide Global Time Master)} != NULL Parameters master Config Type Stb M _ Master Config Type Direction OUT Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Bus Protocol Param Comment Operation is used to set bus specific parameters for a Time Master Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 16) &&({ecuc(Stb M/ Stb MSynchronized Time Base)} == {ecuc(Eth TSyn/ Eth TSyn Global Time Domain/ Eth TSyn Synchronized Time Base Ref - >Stb MSynchronized Time Base)})) P arameters protocol Params Type Stb M _ Protocol Param Type Direction IN Comment Structure with Follow_ Up information TLV parameters Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Global Time Comment Allows the Customers to set the Global Time that will be sent to the buses and modify HW registers behind the providers, if supported. This function will be used if a Time Master is present in this ECU. Using Set Global Timecan lead to an immediate transmi ssion of the Global Time. Variation -- Parameters time Stamp Type Stb M _ Time Stamp Type Direction IN Comment -- Variation -- user Data Type Stb M _ User Data Type Direction IN Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Offset Comment Allows the Customers and the Timesync Modules to set the Offset Time. Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} > 15 && {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 32 Parameters time Stamp Type Stb M _ Time Stamp Type Direction IN Comment -- Variation -- user Data Type Stb M _ User Data Type Direction IN Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Rate Correction Comment Allows to set the rate of a Synchronized Time Base (being either a Pure Local Time Base or not). Variation -- Parameters rate Deviation Type Stb M _ Rate Deviation Type Direction IN Comment Value of the applied rate deviation Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set User Data Comment Allows the Customers to set the User Data that will be sent to the buses. Variation -- Parameters user Data Type Stb M _ User Data Type Direction IN Comment New user data Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Trigger Time Transmission Comment Allows the Customers to force the Timesync Modules to transmit the current Time Base due to an incremented time Base Update Counter Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 32 Possible Errors E _ O K E _ N O T _ O K Operation Update Global Time Comment Allows the Customers to set the Global Time that will be sent to the buses and modify HW registers behind the providers, if supported. This function will be used if a Time Master is present in this ECU. Using Update Global Time will not lead to an immediat e transmission of the Global Time. Variation -- Parameters time Stamp Type Stb M _ Time Stamp Type Direction IN Comment -- Variation -- user Data Type Stb M _ User Data Type Direction IN Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K
requirement SWS_StbM_00244 [SWS_StbM_00244] 📄 PDF
- Port Defined Argument Value(s) Type Stb M _ Synchronized Time Base Type Value {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier.value)} Variation (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MIs System Wide Global Time Master)} == TRUE ) ||({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MAllow System Wide Global Time Master)} == TRUE ))&& ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronize d Time Base Identifier)} < 128) Name = {ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)}
requirement SWS_StbM_00246 [SWS_StbM_00246] 📄 PDF
If time stamping via Ethernet shall be supported (refer to EthIfGlobalTimeSupport , which is referenced via StbMLocalTimeHardware ECUC_StbM_00053 : , if set to EthTSynGlobalTimeDomain ) , StbM.c shall include Eth If .h to have access to the interface of the Eth If module.
requirement SWS_StbM_00247 [SWS_StbM_00247] 📄 PDF
Name Global Time_ Slave_{Name} Comment -- Is Service true Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 128 Name = {ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)} Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Get Bus Protocol Param Comment Operation is used to get bus specific parameters for a Time Master or Time Slave Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 16) && ({ecuc(Stb M/ Stb MSynchronized Time Base)} == {ecuc(Eth TSyn/ Eth TSyn Global Time Domain/ Eth TSyn Synchronized Time Base Ref - >Stb MSynchronized Time Base)})) Parameters protocol Params Type Stb M _ Protocol Param Type Direction OUT Comment Structure with Follow_ Up information TLV parameters Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Current Time Comment Returns a time value (Local Time Base derived from Global Time Base) in standard format. Variation -- Parameters time Stamp Type Stb M _ Time Stamp Type Direction OUT Comment -- Variation -- user Data Type Stb M _ User Data Type Direction OUT Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Current Time Extended Comment Returns a time value (Local Time Base derived from Global Time Base) in extended format. Variation {ecuc(Stb M/ Stb MGeneral/ Stb MGet Current Time Extended Available)} Parameters time Stamp Type Stb M _ Time Stamp Extended Type Direction OUT Comment -- Variation -- user Data Type Stb M _ User Data Type Direction OUT Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Offset Time Record Head Comment Reads the header of the table with recorded measurement data belonging to the Offset Time Base Variation (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MIs System Wide Global Time Master)} == FALSE) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MAllow System Wide Global Time Master)} == FALSE)) && ({ecuc(Stb M/ Stb MGeneral/ Stb MTime Recording Support)} == True) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} > 15) && {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 32 Parameters offset Record Table Head Type Stb M _ Offset Record Table Head Type Direction OUT Comment Header of the table Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Rate Deviation Comment Returns value of the current rate deviation of a Time Base Variation -- Parameters rate Deviation Type Stb M _ Rate Deviation Type Direction OUT Comment Value of the current rate deviation of a Time Base Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Sync Time Record Head Comment Reads the header of the table with recorded measurement data belonging to the Synchronized Time Base Variation (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MIs System Wide Global Time Master)} == FALSE) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MAllow System Wide Global Time Master)} == FALSE)) && ({ecuc(Stb M/ Stb MGeneral/ Stb MTime Recording Support)} == True) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 16) Parameters sync Record Table Head Type Stb M _ Sync Record Table Head Type Direction OUT Comment Header of the table Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Time Base Status Comment Returns detailed status information for a Synchronized (or Pure Local) Time Base and, if called for an Offset Time Base, for the Offset Time Base and the underlying Synchronized Time Base. Variation -- Parameters sync Time Base Status Type Stb M _ T ime Base Status Type Direction OUT Comment Status of the Synchronized (or Pure Local) Time Base Variation -- offset Time Base Status Type Stb M _ Time Base Status Type Direction OUT Comment Status of the Offset Time Base. Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Time Leap Comment Returns value of time leap. Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 32 Parameters time Jump Type Stb M _ Time Diff Type Direction OUT Comment Time leap value Variation -- Possible Errors E _ O K E _ N O T _ O K
requirement SWS_StbM_00248 [SWS_StbM_00248] 📄 PDF
- Port Defined Argument Value(s) Type Stb M _ Synchronized Time Base Type Value {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier.value)} Variation Name = {ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)}
requirement SWS_StbM_00261 [SWS_StbM_00261] 📄 PDF
TIMEOUT Bit 0 (LSB) 0: No Timeout occurred - neither for Offset nor for referenced Synchronized Time Base 1: Timeout occurred for Offset or for referenced Synchronized Time Base Reserved Bit 1 Bit 1: Always 0 (reserved for future usage) SYNC_TO_GATEWAY Bit 2 0: Local Offset and referenced Synchronized Time Base is synchronous to Global Offset Time Master 1: Local Offset or referenced Synchronized Time Base updates are based on a Time Gateway below the Global Time Master GLOBAL_TIME_BASE Bit 3 0: Local Offset or referenced Synchronized Time Base are based on Local Time Base reference clock only (never synchronized with Global Time Base) 1: Local Offset and referenced Synchronized Time Base have b een synchronized with Global Time Base at least once TIMELEAP_FUTURE Bit 4 0: No leap into the future within the received time for the Offset and referenced Synchronized Time Base 1: Leap into the future within the received time for the Offset or refer enced Synchronized Time Base exceeds a configured threshold TIMELEAP_PAST Bit 5 0: No leap into the past within the received time for the Offset and referenced Synchronized Time Base 1: Leap into the past within the received time for the Offset or refe renced Synchronized Time Base exceeds a configured threshold
requirement SWS_StbM_00262 [SWS_StbM_00262] 📄 PDF
For Synchronized Time Bases StbM_GetTimeBaseStatus() shall return the status of the corresponding Synchronized Time Base via syncTimeBaseStatus and 0 via offset TimeBaseStatus For Offset Time Bases StbM_GetTimeBaseStatus() shall return the status of the corresponding Offset Time Base via offsetTimeBaseStatus and the status of the related Synchronized Time Base (referenced by ECUC_StbM_00030 : ) via sync TimeBaseStatus . For Pure Local Time Bases StbM_GetTimeBaseStatus() shall return the status of the corresponding Time Base (refer to [SWS_StbM_00399] ) via syncTimeBaseStatus and 0 via offsetTimeBaseStatus
requirement SWS_StbM_00264 [SWS_StbM_00264] 📄 PDF
If the switch StbMDevErrorDete ct ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTime Base Status() shall report to DET the development error STBM_E_PARAM , if called with a parameter timeBa seI d , which is not configured or is within the reserved value range .
requirement SWS_StbM_00268 [SWS_StbM_00268] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTimeLeap() shall report to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , wh ich is not configure d or refers to a Pure Local Time Base or is within the reserved value range .
requirement SWS_StbM_00269 [SWS_StbM_00269] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTimeLeap( ) shall report to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter timeJump .
requirement SWS_StbM_00270 [SWS_StbM_00270] 📄 PDF
On invocation of StbM_Start Time r for a Time Notification Customer of a Time Base the StbM shall calculate the time CustomerTimerExpireTime when that Customer Timer will expire base d on the corresponding Time Base. If a Customer Timer for the same Customer is already running, StbM_StartTimer shall return E_NOT_OK .
requirement SWS_StbM_00271 [SWS_StbM_00271] 📄 PDF
Upon inv ocati on of StbM_TimerCallback , the StbM shall calculate the time difference between CustomerTimerExpireTime and the current value of the corresponding Time Base. If the calculated time difference exceeds the value range of the deviationTime parameter of <Cust omer>_TimeNotificationCallback() the returned time difference shall be limited to either the maximum negative or the maximum positive value of the type of deviationTime (refer to StbM_Time Diff Type ). If StbMTi meNot ificationCallback ( ECUC_StbM_00064 : ) is not NULL, the St bM shall call the function <Customer>_TimeNotificationCallback<Time Base>() else the StbM shall call the servi c e operation NotifyTime of the required port GlobalTime_TimeEvent_{TBName}_{CName} to inform the correspon ding Time Notification Customer and return the value of the calculated time difference in the parameter deviationTime.
requirement SWS_StbM_00274 [SWS_StbM_00274] 📄 PDF
The event notification callback functi o n shall be set by the parameter StbMTimeNotificationCallback ( ECUC_StbM_00064 : . )
requirement SWS_StbM_00275 [SWS_StbM_00275] 📄 PDF
Name Time Notification Comment Notification, which indicates, that the timer has expired, which has been set by Start Timer Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Notify Time Comment Notification, which indicates, that the timer has expired, which has been set by Stb M_ Start Timer Variation -- Parameters deviation Time Type Stb M _ Time Diff Type Direction IN Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K
requirement SWS_StbM_00276 [SWS_StbM_00276] 📄 PDF
- Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MNotification Customer/ Stb MTime Notification Callback)}==NULL) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 128) TBName={ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)} CName={ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MNotification Customer.SHORT - NAME)}
requirement SWS_StbM_00277 [SWS_StbM_00277] 📄 PDF
For Synchronized, O ffset and Pure Local Time Bases: I f param eter StbMNotificationInt erface ( ECUC_StbM_00068 : ) is set to either SR_INTERFACE or CALLBACK_AND_SR_INTERFACE , the StbM shall notify the application via the StatusNotification service interface. I f parameter Stb MNotificationInterface i s set to either CALLBACK or CALLBACK_AND_SR_INTERFACE , the StbM shall use the callback StatusNotificationCallback<Time Base> to notify a CDD about status related events. If parameter StbMNotificationInterface is set to NO_NOTIFICATIO N the notification mecha nism shall be disabled for the given Time Base. The callback StatusNotificationCallback<Time Base> shall be set via configuration parameter StbMStatusNotificationCallback ( ECUC_StbM_00046 : ) .
requirement SWS_StbM_00278 [SWS_StbM_00278] 📄 PDF
For Synchronized and Offset Time Bases the StbM shall use a variable NotificationEvents of type StbM_TimeBaseNotificationType to kee p track, if any status event (refer to [SWS_StbM_00284] ) for the referenced Time Base occurs. If a ny status event occurs and the corresponding bit in the NotificationMask mask is set, the corresponding bit in the NotificationEvents variable is set , i.e., NotificationEvents can only contain bits for t he events, which are enabled within the NotificationMask mask (refer to [SWS_StbM_00284] ).
requirement SWS_StbM_00279 [SWS_StbM_00279] 📄 PDF
For each Time Base the StbM has a configurable mask StbMStat usNotificationMask ( ECUC_StbM_00045 : ) , which allows to mask individually status event notifications.
requirement SWS_StbM_00280 [SWS_StbM_00280] 📄 PDF
After reporting a status event via the St atusNotificationCallback<Time Base> API and the StatusNotification service interface the StbM shall reset NotificationEvents to 0.
requirement SWS_StbM_00282 [SWS_StbM_00282] 📄 PDF
If any status event (refer to [SWS_StbM_00284] ) occurs and the corresponding bit in the NotificationMask mask is set, the Stb M shall report the value of the NotificationEvents var iable via the callback function StatusNotificationCallback<Time Base> (refer to parameter eventNotifications ) and/or via StatusNotification service interface (refer to data element eventNotification ) depending on the setting of parameter StbMNotificationIn terface ( ECUC_StbM_00068 : ) . If multiple status events occur simultaneously for the same Time Base, the StbM shall trigger the callback function StatusNotificationCallback<Time Base> and the StatusNotification s ervice interface only once.
requirement SWS_StbM_00284 [SWS_StbM_00284] 📄 PDF
The StbM shall detect the following status events: Status Eve nt Name Status Event Set Condition EV_ GLOBAL_TIME_BASE 1: GLOBAL_TIME_BASE in t imeBaseStatus has changed from 0 to 1 0: otherwise EV_TIMEOUT_OCCURE D 1: TIMEOUT bit in timeBaseStatus has changed from 0 to 1 0: otherwise EV_TIMEOUT_REMOVED 1: TIMEOUT bit in timeBaseStatus has changed from 1 to 0 0: otherwise EV_TIMELEAP_FUTURE 1: TIMELEAP_FUTURE bit in timeBaseStatus has changed from 0 to 1 0: otherw ise EV_TIMELEAP_FU TURE_REMOVED 1: TIMELEAP_FUTURE b it in timeBaseStatus has changed from 1 to 0 0: otherw ise EV_TIMELEAP_PAST 1: TIMELEAP_PAST bit in timeBaseStatus has changed from 0 to 1 0: otherwise EV_TIMELEAP_ PAST_ REMOVED 1: TIMELEAP_ PAST b it in t imeBaseStatus has c hanged from 1 to 0 0: otherwise EV_SYNC_TO_ SUBDOMAIN 1: SYNC_TO_GATEWAY bit in timeBas eStatus has changed from 0 to 1 0: otherwise EV_SYNC_TO_ GLOBAL_MASTER 1: SYNC_TO_GATEWAY bit in timeBaseStatus has changed from 1 to 0 0: otherwise EV_RESYNC 1: resyn chronization has occurred and a new time value has been applied 0: otherwise EV_RATECOR RECTION 1: a valid rate correction has been calculated (not beyond limits) 0: otherwise
requirement SWS_StbM_00286 [SWS_StbM_00286] 📄 PDF
Name Status Notification Comment Notification about a Time Base related status change Is Service false Variation -- Data Elements event Notification Type Stb M _ Time Base Notification Type Variation --
requirement SWS_StbM_00290 [SWS_StbM_00290] 📄 PDF
- Variation (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MNotification Interface)} == SR_ INTERFACE || {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MNotification Interface)} == CALLBACK_ AND_ SR_ INTERFACE)) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynch ronized Time Base Identifier)} < 128) TBName = {ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)}
requirement SWS_StbM_00296 [SWS_StbM_00296] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_S tart Time r () shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , whi ch is not configured or is within the reserved value range .
requirement SWS_StbM_00298 [SWS_StbM_00298] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_S tartT ime r () shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with an invalid pointer of parameter expireTime .
requirement SWS_StbM_00299 [SWS_StbM_00299] 📄 PDF
The status notification callb a ck function shall be set by the parameter StbMStatusNotificationCallback ( ECUC_StbM_00046 : ).
requirement SWS_StbM_00302 [SWS_StbM_00302] 📄 PDF
The StbM shall set the synchronization count of the OS ScheduleTable via SyncScheduleTable () .
requirement SWS_StbM_00303 [SWS_StbM_00303] 📄 PDF
The StbM shall derive the synchronization count of the OS ScheduleTable in microseconds by calculating the modulus of the current Tim e Base value (converted to microseconds) and OsScheduleTableDuration (see OsScheduleTable container referenced by ECUC_StbM_00007 : ).
requirement SWS_StbM_00304 [SWS_StbM_00304] 📄 PDF
On invocation of StbM_ SetGlobalTime() or StbM_UpdateGlobalTime() for Time Base s 16 to 31 the StbM shall check the GLOBAL _TIME_BASE bit within timeBaseStatus of the unde rl ying Synchronized Time Base and shall return E_NOT_OK if is not set. If the GLOBAL_TIME_BASE bit is set: 1. the StbM shall calculate the Offset Time by obtaining the actual Time Base value of the underlying Synchronized Time Base and subtract that from the A bsolute Time value which is passed by StbM_SetGlobalTime() or StbM_UpdateGlobalTime() 2. a) if the calculated Offset Time value is equal or greater than zero, the StbM shall update the corresponding Offset Time Base with the calculated Offset Time value and t he User Data that was passed by StbM_SetGlobalTime() or StbM_UpdateGlobalTime() , b) otherwise (calculated Offset Time value is less than zero) the StbM shall return E_NOT_OK via StbM_SetGlobalTime() or StbM_UpdateGlobalTime() , respectively.
requirement SWS_StbM_00306 [SWS_StbM_00306] 📄 PDF
If StbMTimeRecording Support ( ECUC_StbM_00038 : ) is set to TRUE , the StbM shall initialize all Block Elements of the measurement rec ording table with zero ( refer to 7.3.12.3.1 Record Tables ) .
requirement SWS_StbM_00307 [SWS_StbM_00307] 📄 PDF
The S tbM shall support the Global Time precision measurement for a Time Base , if StbMTimeRecording Support ( ECUC_StbM_00038 : ) is set to TRUE .
requirement SWS_StbM_00308 [SWS_StbM_00308] 📄 PDF
If Global Time Pr ecision Measurement is enabled ( refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base , t he StbM shall establish a table to record values depending on the Synchronized Time Base with the foll owing structure: Record Table Element Multi - plicity Range Bytes Type / Unit Header 1 9 SynchronizedTimeDomain 1 0..15 1 uint8 H W frequency 1 0..4 294967295 4 uint32 / Hz H W prescaler 1 0..4294967295 4 uint32 Block 0 1 27 GlbSeconds 1 0..4294 967295 4 StbM_TimeStampType. seconds GlbNanoSeconds 1 0..999999999 4 StbM_TimeStampType. nanoseconds TimeBaseStatus 1 0..255 1 StbM_TimeStampType. Stb M_TimeBaseS tatusType VirtualLocalTimeLow 1 0..4294967295 4 uint32 / nanoseconds RateDeviation 1 0. .+ - 32000 2 StbM_RateDeviationType / ppm LocSeconds 1 0..4294967295 4 StbM_TimeStampType. seconds LocNanoSeconds 1 0..999999999 4 StbM_TimeStampType. n anoseconds PathDelay 1 0..4294967295 4 uint32 / nanoseconds Block 1 … … Block (Block - Co unt - 1) …
requirement SWS_StbM_00309 [SWS_StbM_00309] 📄 PDF
If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, StbMC lockfrequency ( ECUC_StbM_00051 : ) shall be mapped to the Header Element HWfrequency of the table belongin g to the Synchronized Time Base unless the Virtual Local Time for the Time Base is provided by a Times yn c module . In this case, HWfrequency shall be set to 1000000000.
requirement SWS_StbM_00310 [SWS_StbM_00310] 📄 PDF
If Global Time Pr ecision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, StbMClock prescaler ( ECUC_StbM_00052 : ) shall be mapped to the Header Element HWprescaler of the table belongin g to the Synchronized Time Base unless the Virtual Local Time for the Time Base is provided by a Times yn c module . In this case, HWprescaler shall be set to 1.
requirement SWS_StbM_00311 [SWS_StbM_00311] 📄 PDF
If Global Tim e Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the StbM shall establish a table to record values depending on the Offset Time Base with the following structure: Record Table Element Multi - plicity Range Bytes Type / Unit Header 1 1 OffsetTimeDomain 1 16..31 1 uint8 Block 0 1 9 GlbSeconds 1 0..4294967295 4 StbM_TimeStampType. seconds GlbNanoSeconds 1 0.. 999999999 4 StbM_TimeStampType. nanoseconds TimeBaseStatus 1 0..255 1 StbM_TimeStampType. StbM_TimeBaseS tatusType Block 1 … … Block (Block - Count - 1) … Table 1 : Offset Time Base Record Table
requirement SWS_StbM_00312 [SWS_StbM_00312] 📄 PDF
If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] for the Time Base, on an invocation of StbM_BusSetGlobalTime() the StbM shall update all e lements of the b lock of the recording table. If all blocks have been written and no notification via SyncTimeRecordBlockCallback<Time Base> or OffsetTimeRecor dBlockCallback<Time Base> has yet occurred to pass all blocks with their elements to the application, the StbM shall again overwrite the block containing the oldest measurement data with the incoming measurement data.
requirement SWS_StbM_00313 [SWS_StbM_00313] 📄 PDF
For Synchronized Time Bases, i f Global Time P recision Measureme nt is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base , on an invocation of StbM_BusSetGlobalTime() the StbM shall write the block elements LocSeconds and LocNanoSeconds to th e related measurement recording table before updating the Main Time Tuple (i.e., updating the Local Time Base by the Global Time Base ) . LocSeconds and LocNanoSeconds are the elements of the Global Time part of the Synclocal Time Tuple (i.e., TL Sync , see [SWS_StbM_00438] ).
requirement SWS_StbM_00314 [SWS_StbM_00314] 📄 PDF
For Synchronized Time Bases, i f Global Time P recision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base , on an invocation of StbM_BusSetGlobalTime() the StbM shall write the block elements GlbSeconds , GlbNanoSeconds , VirtualLocalTimeLow , RateDeviation , TimeBaseStatus PathDelay to the related measurement recording table after updating the Main Time Tuple (i.e., after updating the Local Time Base by the Global Time Base ) . GlbSeconds , GlbNanoSeconds are the elements of the Global Time part of the Updated Rx Time Tuple (i.e., TG Rx ); VirtualLocalTimeLow is the nanose condsL o element of the Virtual Local Time part of the Updated Rx Time Tuple (i.e., T V Rx ).
requirement SWS_StbM_00315 [SWS_StbM_00315] 📄 PDF
If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the a pplication collects the contents of the h eader of the Synchronized Time Base Record Table by calling StbM_GetSyncTimeRecordHead () .
requirement SWS_StbM_00316 [SWS_StbM_00316] 📄 PDF
If Global Time P recision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base , the a pplication collects the contents of the h eader of the Offset Time Base Record Table by calling St bM _ GetOffsetTimeRecordHead () .
requirement SWS_StbM_00317 [SWS_StbM_00317] 📄 PDF
If Global Time Pr ecision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the StbM shall notify the Application by calling Syn cTimeRecordBlockCallback<Time Base> in the next St bM_MainFunction() call cycle block by block (i.e., repeatedly) for all unread blocks (i.e., containing data that has yet not been passed to the Application), starting with the block containing the oldest dat a, and followed by the blocks in ascending order regarding their age (i.e., FIFO order), the block containing the newest data shall be passed last. The StbM shall ensure data integrity: a block shall not be passed if it currently being overwritten and a b lock that is passed shall be prevented from being overwritten until processed by the Applica tion.
requirement SWS_StbM_00318 [SWS_StbM_00318] 📄 PDF
If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the StbM shall notify the Application by calling Off setTimeRecordBlockCallback<Time Base> in the next StbM_MainFunction() call cycle block by block (i.e., repeatedly) for all unread blocks (i.e., containing data that has yet not been passed to the Application), starting with the block containing the oldest d ata, and followed by the blocks in ascending order regarding their age (i.e., FIFO order), the block containing the newest data shall be passed last. The Stb M shall ensure data integrity: a block shall not be passed if it currently being overwritten and a block that is passed shall be prevented from being overwritten until processed by the Application.
requirement SWS_StbM_00320 [SWS_StbM_00320] 📄 PDF
The function StbM_GetSyncTimeRecordHead() shall be pre compile time configurable ON / OFF by the c onfiguration parameter: StbMTimeRecor ding Support ( ECUC_StbM_00038 : ) .
requirement SWS_StbM_00323 [SWS_StbM_00323] 📄 PDF
The function SyncTimeRecordBlockCallback <t imeBas eId> ( ) shall be set by the parameter StbMSyncTimeRecordBlo ck Callback ( ECUC_StbM_00060 : ).
requirement SWS_StbM_00326 [SWS_StbM_00326] 📄 PDF
The function StbM_GetOffsetTimeRecordHead() shall be pre compi le time configurable ON / OFF by the configuration parameter: StbMTimeRecording Support ( ECUC_StbM_00038 : ) .
requirement SWS_StbM_00327 [SWS_StbM_00327] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_Get Offs e tTim eRecordHead () shall report to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , which is not configured or r efers to a Pure Local or a Synchronized Time Base or is within the reserved value range.
requirement SWS_StbM_00329 [SWS_StbM_00329] 📄 PDF
The function OffsetTimeRecordBlockCallback<timeBaseId> shall set by the parameter StbMOffsetTimeRecordBlock Callback ( ECUC_StbM_00061 : ) .
requirement SWS_StbM_00335 [SWS_StbM_00335] 📄 PDF
For currently active Time Notification Customers the StbM shall cyclically calculate an d mon itor in its StbM_MainFunction the difference between the current value of the corresponding Time Base and the expiration time 'CustomerTimerExpireTime' .
requirement SWS_StbM_00336 [SWS_StbM_00336] 📄 PDF
A time interval StbMTimerStartThreshold ( ECUC_StbM_00063 : ) before a Customer Timer expires, the StbM shall calculate the time difference between CustomerTimerExpireTime and the c urren t value of the corresponding Time Base. The StbM shall then start a GPT timer ( ECUC_StbM_00039 : ) via Gpt_StartTimer() to be notified, when the time difference has elapsed .
requirement SWS_StbM_00337 [SWS_StbM_00337] 📄 PDF
If multiple Customer Timers run and expire within the same interval StbMTimerStar tThreshold , the StbM sha ll calculate all expiry points within the StbMTimerStartThreshold interval and re - start the same GPT timer for next expiry point after the previous expiry point has been reached .
requirement SWS_StbM_00339 [SWS_StbM_00339] 📄 PDF
Name Measurement Notification_{TB_ Name} Comment Notifies about the availability of a new recorded measurement data block belonging to the Time Base. Is Service true Variation (ecuc(Stb M/ Stb MGeneral/ Stb MTime Recording Support)} == True) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 32) TBName={ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)} Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Set Offset Time Record Table Comment Provides to the recorded snapshot data Block of the table belonging to the Offset Time Base. Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} > 15 && {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 32 Parameters offset Record Table Block Type Stb M _ Offset Record Table Block Type Direction IN Comment Header of the table Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Sync Time Record Table Comment Provides the recorded snapshot data Block of the table belonging to the Synchronized Time Base. Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 16 Parameters sync Record Table Block Type Stb M _ Sync Record Table Block Type Direction IN Comment Block of the table Variation -- Possible Errors E _ O K E _ N O T _ O K
requirement SWS_StbM_00340 [SWS_StbM_00340] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_UpdateGlobalTime() shall r eport to DET the development error STBM_E_PARAM , if called with a parameter tim eBase Id , which is not configured or within the reserved value range.
requirement SWS_StbM_00341 [SWS_StbM_00341] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_UpdateGlobal Time() shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter timeStamp .
requirement SWS_StbM_00342 [SWS_StbM_00342] 📄 PDF
On a valid invocation of StbM_SetGlobalTime() or StbM_UpdateGlobalT ime() the StbM shall update the Main Time Tuple of the corresponding Synchronized Time Base . Within the functions StbM_SetGlobalTime() and StbM_UpdateGlobalTime() the StbM shall retrieve the value of the Virtual Local Time (as part of the Local Time tuple ) as soon as possible in order to improve precision of the Time Base.
requirement SWS_StbM_00344 [SWS_StbM_00344] 📄 PDF
For each Time Base the StbM shall initialize the corresponding update counter timeBas eUpdateCounter with 0.
requirement SWS_StbM_00345 [SWS_StbM_00345] 📄 PDF
For each Time Base the StbM shall initialize the corresponding event status NotificationEvents with 0.
requirement SWS_StbM_00348 [SWS_StbM_00348] 📄 PDF
I f the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTimeBaseUpdateCounter () shall report t o DET the development error STBM_E_PARA M , if called with a parameter timeBaseI d , which is not configured or refers to a Pure Loca l Time Base or is within the reserved value range.
requirement SWS_StbM_00349 [SWS_StbM_00349] 📄 PDF
I f the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , Stb M _TriggerTimeTransmission() shall report to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , which is not configured or refers to a Pure Local Time Base or is within the reserved value range.
requirement SWS_StbM_00350 [SWS_StbM_00350] 📄 PDF
For Synchronized and Offset Time Bases on a valid invocation of StbM_SetGlobalTime() , StbM_BusSetGlobalTime() , or StbM_T riggerTimeTransmission() and for Offset Time Bases on a valid invocation of StbM_SetOff set() , the StbM shall increment the timeBaseUpdateCounter of the corresponding Time Base by 1 (one). At 255 the timeBaseUpdateCounter shall wrap around to 0.
requirement SWS_StbM_00351 [SWS_StbM_00351] 📄 PDF
For Synchronized and Offset Time Bases, t he timeBaseUpdateCounter of a Time Base shall have the value ra nge 0 to 255.
requirement SWS_StbM_00352 [SWS_StbM_00352] 📄 PDF
Global Time Syn chroni z ed / Offset TimesyncMsg Time Slave Time Base Reference Clock L ocal Time Base per Time Do ma in Ti me Stamp Loca l Time Base Raw init update update read access Time Master Time Base Reference Cl ock Global Time Base per Ti me Dom ain Tim e Stam p Global Time Base Raw init update update Global Time Sy nchronized / Offset T i mesync M sg r/w access The StbM shall use the factor ( StbMClockP r e scaler /StbMClockFrequency ) to convert the time of its local hardware reference clock to the actual time of the Virtual Local Time (refer to StbM_VirtualLocalTimeType ) , if the Virtual Local Time is derived from a GPT or OsCounter (re fer to ECUC_StbM_00053 : StbMLocalTimeHardware ).
requirement SWS_StbM_00353 [SWS_StbM_00353] 📄 PDF
If an additional rate has been applied (Offset Correction By Rate Adaption according to [SWS_StbM_00356] ) , the StbM shall after the period of StbMOffsetCorrection Adap tionInterval (i.e., (TV - TV Sync ) (see [SWS_StbM_00355] ) is larger or equal than StbMOffsetCorrectionAdaptionInterval ) insert the following two steps if it needs to calculate the current value of a Time Base as de fined by [SWS_StbM_00355] : 1. It shall first calculate a temporary Time Tuple [TL Temp ;TV Temp ] using the formula in [SWS_StbM_00355] with TV = TV Temp = TV Sync + StbMOffsetCorrectionAdaptionInterval r = r rc + r oc (for Synchronized Time Bases ) r = (r or c – 1 ) + r oc (for Offset Time Bases ) TL Temp shall be set to the resulting value TL 2. Aft erwards the Main Time Tuple [TG Sync ;TV Sync ] shall be set by an atomic operation to the values of the temporary Time Tuple [TL Temp ;TV Temp ] . Then , the calculation in [SWS_StbM_00355] shall be done by using the updated Main Time Tuple, the current value of the Virtual Local Time and r = r rc or , respectively, r = (r or c – 1 ) .
requirement SWS_StbM_00355 [SWS_StbM_00355] 📄 PDF
The StbM shall calculate the current value of a Time Base ba sed on t he Main Tuple and the current rate correction term according to: TL = TG Sync + (TV - TV Sync ) * r With: TL = Current value of the Time Base TV = Current value of the V irtual L ocal Time TV Sync = Virtual Local Time part of the Main Time Tuple TG Sync = Glo ba l Time part of the Main Time Tuple r = Current r ate for correcting the local instance of the Time Base
requirement SWS_StbM_00356 [SWS_StbM_00356] 📄 PDF
If rate correction is enabled (see [SWS_StbM_00377] ) and i f the absolute value of the time offset between the Received Time and the Synclo cal Time (abs (TG Rx - TL Sync )) is smaller than StbMOffsetCorrectionJumpThreshold ( ECUC_StbM_00056 : ) , t he StbM shal l correct the time offset by temporarily applying an additional rate (r oc ) to r : r = r rc + r oc (for Synchronized Time Bases ) r = (r or c – 1 ) + r oc (for Offset Time Bases ) This rate correction term shall be applied for the duration defined by parameter StbMOffsetCorrectionAdaptionInterval ( ECUC_StbM_00057 : ) , starting when obtaining the Updated R x Time Tuple (i.e . , it shall be applied as long as (TV - TV Sync ) (see [SWS_StbM_00355] ) is smaller than StbMOffsetCorrectionAdaptionInterval ). r oc shall be calculated as shown: r oc = (TG Rx – TL Sync ) / (T Co rrInt ) With: T CorrInt = StbMOffsetCorrectionAdaptionInterval TL Sync = Global Time part of the Synclocal Time Tuple TG Rx = Global Time part of the Updated Time Tuple
requirement SWS_StbM_00359 [SWS_StbM_00359] 📄 PDF
T he StbM shall calculate the Global Time offset (i.e., difference) between the Received Time and the Synclocal Time upon each, except the very first, valid invocation of StbM_BusSetGlobalTime() . The elements of the Time Tuples used for calculating the Gl obal Time offset have the following denotation: TL Sync = Global Time part of the Synclocal Time Tuple TG Rx = Global Time part of the Received Time Tuple
requirement SWS_StbM_00360 [SWS_StbM_00360] 📄 PDF
At the end of a Rate Correction measurement, the StbM shall calculate the resulting correction rate ( r orc ) for Offset Time Bases as shown: r orc = (TG Stop - TG Start ) / (TV Stop - TV Start ) + 1
requirement SWS_StbM_00361 [SWS_StbM_00361] 📄 PDF
At the end of a Rate Correction measurement, the StbM shall calculate the resulting correction rate ( r rc ) for Synchronized Time Bases as shown: r rc = ( TG Stop – TG Start ) / (TV Stop - TV Start )
requirement SWS_StbM_00362 [SWS_StbM_00362] 📄 PDF
The StbM shall use the same value for r rc and r orc until a new value has been calculated.
requirement SWS_StbM_00364 [SWS_StbM_00364] 📄 PDF
At the end of the Rate Correction measurement, the StbM shall store the Updated Rx Time Tuple . The elements of the stored Time Tuple have the followi ng denotation: TG Stop – Global Time part of the Updated Rx Time Tuple TV Stop – Virtual Local T ime part of the Updated Rx Time Tuple
requirement SWS_StbM_00366 [SWS_StbM_00366] 📄 PDF
At the start of a Rate C orrection measurement, the StbM shall store the Updated Rx Time Tuple . The elements of the stored Time Tuple have the following denotation: TG Start – Global Time part of the Updated Rx Time Tuple TV Start – V irtual L ocal T ime part of the Updated Rx Time Tuple
requirement SWS_StbM_00367 [SWS_StbM_00367] 📄 PDF
Simultaneous Rate Correction measurements shall be started with a defined offset (to n ) to yield Rate Corrections evenly distributed over the measurement duration. to n = n * ( StbMRateCorrectionMeasurementDuration / StbMRateCorrectionsPerMeasurementDuration ) (where ‘n’ is the zero - based index of the current measurement) .
requirement SWS_StbM_00368 [SWS_StbM_00368] 📄 PDF
The S tbM shall perform as many simultaneous Rate Correction measurements as configured by parameter: StbMRateCorrectionsPerMeasurementDuration ( ECUC_StbM_00055 : ) .
requirement SWS_StbM_00370 [SWS_StbM_00370] 📄 PDF
During runtime the StbM shall determine the timespan of a Rate Correction measurement on the basis of the Virtual Local Time.
requirement SWS_StbM_00371 [SWS_StbM_00371] 📄 PDF
The StbM shall perform Rate Correction measurements continuously. The end of a measurement mar ks the start of the next measurement. The start and end of measurements are always triggered by and aligned to the reception of time values for Synchronized or Offset Time Bases.
requirement SWS_StbM_00372 [SWS_StbM_00372] 📄 PDF
The StbM shall perform Rate Correctio n measurements to determine the rate deviation of each configured Time Base.
requirement SWS_StbM_00373 [SWS_StbM_00373] 📄 PDF
For Rate Correction, the StbM shall eval uate the TIMELEAP _FUTURE/ TIMELEAP_ PAST flag s during the start of a measurement. The StbM shall not start a Rate Correction measurement when the state of any of the flags equals „Set“ .
requirement SWS_StbM_00374 [SWS_StbM_00374] 📄 PDF
For Rate Correction measurements, the StbM shall evaluate the TIMEOUT flag. The StbM shall discard the measurement , if the flag equals „Set“ .
requirement SWS_StbM_00375 [SWS_StbM_00375] 📄 PDF
For Rate Correction measurements, the StbM shall evaluate state changes of the SYNC_TO_GATEWAY flag during measurements. The S tbM shall discard the measurement if the flag state changes.
requirement SWS_StbM_00376 [SWS_StbM_00376] 📄 PDF
For Rate Correction measurements, the StbM shall evaluate the TIMELEAP _FUTURE and TIMELEAP_PAST flag s during measurements. The StbM shall discard the measurement , if any of the flags equals „Set“ .
requirement SWS_StbM_00377 [SWS_StbM_00377] 📄 PDF
The StbM shall not perform Rate Correction when the measurement duration StbMRateCorrectionMeasurementDuration ( ECUC_StbM_00054 : ) is set to zero.
requirement SWS_StbM_00379 [SWS_StbM_00379] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ GetRate Deviation () shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , which is not configured or is within the reserved value range.
requirement SWS_StbM_00380 [SWS_StbM_00380] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ GetRate Deviation () shall r eport to DET the development error STBM _E_PARAM_POINTER , if called with a NULL pointer for parameter rateDeviation .
requirement SWS_StbM_00381 [SWS_StbM_00381] 📄 PDF
All functions that are setting User Data shall only set as many User Data bytes as defined within the userDataLength element of the StbM_UserDataType structure. If userDataLength is equal to 0, no User Data bytes shall be set. User Data bytes that are no t set shall remain at their previous value .
requirement SWS_StbM_00382 [SWS_StbM_00382] 📄 PDF
If Global Time Precision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, the Synchronized Tim e Base Record Table shall contain a history of as many blocks as configured by StbMSyncTimeRecordTableBlockCount ( ECUC_StbM_00058 : ).
requirement SWS_StbM_00383 [SWS_StbM_00383] 📄 PDF
If Global Time Pr ecision Measurement is enabled (refer to [SWS_StbM_00428] ) for the Time Base, the Offset Time Base Record Table shall contain as many blocks as configured by StbMOffsetTimeRecordTableBlockCount ( ECUC_StbM_00059 : ).
requirement SWS_StbM_00386 [SWS_StbM_00386] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetTimeBaseS tatus() shall report to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter syncTimeBaseStatus or offsetTimeBaseStatus .
requirement SWS_StbM_00387 [SWS_StbM_00387] 📄 PDF
- Variation (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MIs System Wide Global Time Master)} == FALSE) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MAllow System Wide Global Time Master)} == FALSE)) && ({ecuc(Stb M/ Stb MGeneral/ Stb MTime Recording Support)} == True) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 32) && (({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MTime Recording/ Stb MSync Time Record Block Callback)}==NULL) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MTime Recording/ Stb MOffset Time Record Block Callback)}==NULL)) TBName={ecuc(Stb M/ S tb MSynchronized Time Base.SHORT - NAME)}
requirement SWS_StbM_00388 [SWS_StbM_00388] 📄 PDF
For O ffset Time Bases, i f Global Time P recision Measurement is enabled (refer to [SWS_StbM_00428] and [SWS_StbM_00307] ) for the Time Base, on an invocation of StbM_BusSetGlobalTime() the StbM shall write the block elements GlbSeconds , GlbNanoSeconds and TimeBaseStatus to the related measurement recording table.
requirement SWS_StbM_00391 [SWS_StbM_00391] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetRateCorrection () shall r eport to DET the development error STBM_E_PARAM , if called with a parameter tim eBaseI d , which is not configured or is within the reserved value range.
requirement SWS_StbM_00392 [SWS_StbM_00392] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to T RUE , StbM_SetRateCorre ction () shall r epor t to DET the development error STBM_E_ SERVICE_DISABLED, if StbMAllow Master RateCorrection is set to FALSE for the corresponding Time Base , i.e., it is not allowed to call StbM_SetRateCorrection () .
requirement SWS_StbM_00393 [SWS_StbM_00393] 📄 PDF
For Time Base s 16 to 31 each invocation of StbM_BusSetGlobalTime() shall update the corresponding Main Time Tuple and set the User Data and the Time Base Status accordingly.
requirement SWS_StbM_00394 [SWS_StbM_00394] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetSyncTimeRecordHead () shall repor t to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , which is not configured or refers to a Pure Local or a Offset Time Base or is within the reserved value rang e.
requirement SWS_StbM_00395 [SWS_StbM_00395] 📄 PDF
If StbMAllow Master RateCorrection equals TRUE , an invocation of StbM_S etRateCorrection() shall set the rate correction value. O therwise StbM_SetRateCorrection() shall do nothing and return E_NOT_OK .
requirement SWS_StbM_00396 [SWS_StbM_00396] 📄 PDF
If the absolute value of the rate correction parameter rateDeviation , which is passed to StbM_SetRateCorrection(), is greater than StbMMasterRateDeviationMax , StbM_SetRateCorrection shall set the actually applied rate correction value to either ( StbMMasterRateDeviationMax) or ( - StbMMasterRateDeviationMax) (depending on sign of rate Deviation ) .
requirement SWS_StbM_00397 [SWS_StbM_00397] 📄 PDF
For Time Bases with StbMSynchronizedTimeBaseIdentifier 0 to 31 ( ECUC_StbM_00021 : ) and StbMIsSystemWideGlobalTimeMaster = False ( ECUC_StbM_00036 : ), the StbM shall return on invocation of StbM_GetRateDeviation() the rate deviation r Dev , which has been calculated for that Time Base . If no rate deviation has been calculated , StbM_GetRateDeviation() shall return E_NOT_OK .
requirement SWS_StbM_00398 [SWS_StbM_00398] 📄 PDF
For Pure Local Time Bases StbM_GetCurrentTime() and StbM_GetCurrentTime Extended () shall return the User Data as set by StbM_SetGlobalTime() , StbM_UpdateGlobalTime() or StbM_SetUserData () by the lo cal Pure Local Time Master.
requirement SWS_StbM_00399 [SWS_StbM_00399] 📄 PDF
For Pure Local Time Bases all bits of the Time Base status timeBaseStatus shall be set to 0, except for bit GLOBAL_TIME_BASE . GLOBAL_TIME_BASE shall be set to 1, by a valid invocation of StbM_S etGlobalTime() or StbM_UpdateGlobalTime() and only set to 0 by StbM_Init() .
requirement SWS_StbM_00404 [SWS_StbM_00404] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , GetOffset TimeReco rd Head shall r eport to DE T the development error STBM_E_PARAM_POINTER , if called with an invalid pointer of parameter offsetRecordTableHead .
requirement SWS_StbM_00405 [SWS_StbM_00405] 📄 PDF
If the swi tch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , GetSync TimeRecord Head shall r eport to DET the development error STBM_E_PARAM_P OINTER , if called with an invalid pointer of parameter sync RecordTableHead .
requirement SWS_StbM_00406 [SWS_StbM_00406] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_StartTimer() shall r eport to DET the development error STBM_ E_PARAM , if called with a parameter customerId , which is not configured.
requirement SWS_StbM_00407 [SWS_StbM_00407] 📄 PDF
The frequency of invocations of StbM_MainFunction is determined by the configuration parameter StbMMainFunctionPeriod .
requirement SWS_StbM_00408 [SWS_StbM_00408] 📄 PDF
StbM_GetMasterConfig() shall return the value of the configuration parameter StbMIsSystemWideGlobalTimeMaster ( ECUC_StbM_00036 : ) for the Time Base timeBaseId . This is to check, if the StbM is configured as sy stem wide Global Time Master for a specific Time Base.
requirement SWS_StbM_00409 [SWS_StbM_00409] 📄 PDF
Name Start Timer Comment Interface, which starts a timer for a Time Base Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Start Timer Comment Starts a Stb M internal timer, which expires at the given expire Time and which triggers a time notification callback. Variation -- Parameters expire Time Type Stb M _ Time Stamp Type Direction IN Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K
requirement SWS_StbM_00411 [SWS_StbM_00411] 📄 PDF
The StbM shall apply rate correction to a Time Base, if StbMAllowMasterRateCorrection ( ECUC_StbM_00043 : ) equals TRUE and a valid rate correction value has been set by StbM_SetRateCorrection() .
requirement SWS_StbM_00412 [SWS_StbM_00412] 📄 PDF
F or a Synchronized Time Base t he StbM shall use r rc = 1, if a valid correction rate (r rc ) has not yet been calculated or is not being calculated (refer [SWS_StbM_00377] ) but shall be applied (refer to 7.3.8.2 ). F or an Offset Time Base t he StbM shall use r orc = 1, if a valid correction rate (r orc ) has not yet been calculated or is not being calculated (refer [SWS_StbM_00377] ) but shall be applied (refer to 7.3.8.2 ).
requirement SWS_StbM_00413 [SWS_StbM_00413] 📄 PDF
After initialization the StbM shall maintain the Time of each Pure Local Time Base autonomously via a hardware reference clock (referenced by StbMLocalTimeClock) .
requirement SWS_StbM_00414 [SWS_StbM_00414] 📄 PDF
StbM_GetTimeBaseUpdateCounter () shall return the value of the timeBaseUpdateCounter of the corresponding Time Base.
requirement SWS_StbM_00415 [SWS_StbM_00415] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetMasterConfig() shall report to DET the development error STBM_E_PARAM , if called with a parameter timeBaseI d , which is not configured or is within the reserved value r ange .
requirement SWS_StbM_00416 [SWS_StbM_00416] 📄 PDF
[SWS_StbM_00416] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetMasterConfig shall report to DET the development error STBM_E_PARAM_POINTER, if called with a NULL pointer for parameter masterConfig.⌋
requirement SWS_StbM_00421 [SWS_StbM_00421] 📄 PDF
If any StbMNotificationCustomer ( ECUC_StbM_00050 : ) is configured, the StbM shall use one additional GPT source (referenced by St bMGptTimerRef ECUC_StbM_00039 : ), w hich is not used for other purposes.
requirement SWS_StbM_00422 [SWS_StbM_00422] 📄 PDF
For Time Bases with StbMSynchronizedTimeBaseIdentifier 32 to 127 ( ECUC_StbM_00021 : ) and for Time Bases with StbMSynchronizedTimeBaseIdentifier 0 to 31 and StbMIsSystemWideGlo balTimeMaster equals True ( ECUC_StbM_00036 : ) the StbM shall return on invocation of StbM_GetRateDeviation() the rate deviation that has been set by StbM_SetRateCorrection() for that Time Base. If no rate devia tion has been set, StbM_GetRateDeviation() shall return E_NOT_OK .
requirement SWS_StbM_00424 [SWS_StbM_00424] 📄 PDF
The StbM shall calculate the ( rate corrected ) time (TL) of its local instance of the Time Base as: TL = TG Sync + (TV - TV Sync ) * r With: TV = Current value of the Virtual Local Time TV Sync = Virtual Local Time part of the Main Time Tuple TG Sync = Globa l Time part of the Main Time Tuple r = Rate for correcting the Time Base with r = r rc for Synchronized Time Bases r = r or c - 1 for Offset Time Bases If StbMAllowMasterRateCorrection ( ECUC_StbM_00043 : ) equals FA LSE r shall be set to 1 for Synchronized Time Bases 0 for Offset Time Bases (i.e., no rate correction is applied).
requirement SWS_StbM_00425 [SWS_StbM_00425] 📄 PDF
For Synchronized and Offset Time Bases for which the StbM is configured as Time Slave or Time Gateway StbM_GetTimeLeap() shall return the Global T ime difference between the Updated R eceived Time and the Synclocal Time , i.e. , TG Rx - TL Sync , which is calcu lated up on each, except the very first, valid invocation of StbM_BusSetGlobalTime() for the corresponding Time Base. With TL Sync = Global Time part of the Synclocal Time Tuple TG Rx = Global Time part of the Updated Rx Time Tuple If the calculated t ime di fference e xceeds the value range of the timeJump parameter of StbM_GetTimeLeap() the returned time difference shall be limited to either the maximum negative or the maximum positive value of the type of timeJump (refer to StbM_Time Diff Type ) . StbM_GetTimeLeap() shall return E_NOT_OK until the second valid invocation of StbM_BusSetGlobalTime() for the corresponding Time Base.
requirement SWS_StbM_00428 [SWS_StbM_00428] 📄 PDF
The StbM shall do Global Time precision measurement only for Synchronized Time Bases and Offset Time Bases, for which StbMIsSystemWideGlobalTimeMaster ( ECUC_StbM_00036 : : ) is set to FALSE .
requirement SWS_StbM_00431 [SWS_StbM_00431] 📄 PDF
For the Time Master of a Synchronized Time Base the StbM shall use r rc = 1, if a valid correction rate (r rc ) has not yet been set. For the Time Master of an Offset Time Base the StbM shall use r orc = 1, if a valid correct ion rate (r orc ) has not yet been set .
requirement SWS_StbM_00432 [SWS_StbM_00432] 📄 PDF
When the StbM detects for an active customer, while monitoring the difference to CustomerTimerExpireTime (see [SWS_StbM_00335] ), that the CustomerTimerExpireTime has already been passed and the GPT timer has not yet been starte d, the StbM shall call StbM_TimeNotificationCallback() immediately.
requirement SWS_StbM_00433 [SWS_StbM_00433] 📄 PDF
The Main Time Tuple shall only be updated after setting a new Global Time or a new Rate Correction value by the application after obtaining a Received Time Tuple (i.e., a new Time Tuple) from a Timesyn c Module after t he Offset Co rrection By Rate Adaption interval (see [SWS_StbM_00353] ) However, the Main Time Tuple may be updated if there has been no update for more than 3s.
requirement SWS_StbM_00434 [SWS_StbM_00434] 📄 PDF
For Time Domains 0 to 15 StbM_GetCurr entTime() , StbM_GetCurrentTime Extended () , and StbM_ Bus GetCurrentTime() shall return E_NOT_OK if the value of the associated Virtual Local Time could not be retrieved.
requirement SWS_StbM_00435 [SWS_StbM_00435] 📄 PDF
For Time Base 0 to 15 StbM_ Bus GetCurrentTime() shall return for the requested Time Domain the T ime Tuple [ T L ; TV ] of the Time Base , the related Status and the User Data. The current time of the Time Base shall be derived from the associated Virtual Local Time , w h i c h is derived from either the referenced OS counter, a GPT or a referenced Ethernet controller (refer to StbMLocalTimeHardware ) .
requirement SWS_StbM_00436 [SWS_StbM_00436] 📄 PDF
Although the retrieved value of the Virtual Local Time and the time which is returned by StbM_GetCurrentTime() , StbM_GetCurrentTime Extended () , and StbM_ Bus GetCurrentTime() form a new Time Tuple [TL ; TV], this tu ple shall only replace the Main Time Tuple if the requirements as specified in [ SWS_StbM_00433] are met.
requirement SWS_StbM_00437 [SWS_StbM_00437] 📄 PDF
StbM_GetCurrent VirtualLocal Time() shall return the value of the Virtual Local Time of the associated Time Base . For Offset Time Bases the Virtual Local Time of the referenced Synchronized T ime Base shall be returned . If the Virtual Local Time could not be determined (e.g., the underlying hardware counter h as not been activated yet ), StbM_GetCurrent VirtualLocal Time() shall return E_NOT_OK .
requirement SWS_StbM_00438 [SWS_StbM_00438] 📄 PDF
The StbM shall determine f or Time Base s 0 to 15 on each invocation of StbM_BusSetGlobalTime() t he Synclocal Ti me Tuple [ TL Sync ;TV Sync ] by using the value of the Virtual Local Time of the Updated Rx Time Tuple as reference (i.e., TV Rx is used for TV when calculating TL in [SWS_StbM_00355] ) . The Synclocal Tim e Tuple s hall be determin ed using the Main Time Tuple before the Main Time Tuple itself is updated.
requirement SWS_StbM_00439 [SWS_StbM_00439] 📄 PDF
The StbM shall determine f or Time Bases 16 to 31 on each invocation of StbM_BusSetGlobalTime() the Syn clocal Time Tup le [ TL S ync ;TV Sync ] by using the value of the Virtual Local Time of the Updated Rx Time Tuple as reference (i.e., TV Rx is used for TV when calculating TL in [SWS_StbM_00355] ). The Synclocal Time Tupl e shall b e determined using the Main T ime Tuple before the Main Time Tuple is updated.
requirement SWS_StbM_00440 [SWS_StbM_00440] 📄 PDF
For Synchronized Time Bases and if rate correction is enabled (see [SWS_StbM_00377] ) and i f the absolute value of the time offset between the Received Time and the Synclo cal Time (abs ( TG Rx - TL Sync ) ) is equal or greater than StbMOffsetCorrectionJumpThreshold ( ECUC_StbM_00056 : ) , the StbM shall use the factor r rc for the rate correction term r: r = r rc Otherwise r shall be set to 1 , unl ess r shall be set accordingly to [SWS_StbM_00356] or [SWS_StbM_00353] .
requirement SWS_StbM_00441 [SWS_StbM_00441] 📄 PDF
For Offset Time Bases and if rate correction is enabled (see [SWS_StbM_00377] ) and i f the absolute value of the time offset between the Received Time and the Synclo cal Time (abs ( T G Rx - TL Sync ) ) is equal or greater than StbMOffsetCorrectionJumpThreshold ( ECUC_StbM_00056 : ) , the StbM shall use the factor r or c for the rate correction term r: r = r or c - 1 Otherwise r shall be set to 0, unl ess r shall be set accordlingly to [SWS_StbM_00356] or [SWS_StbM_00353] .
requirement SWS_StbM_00442 [SWS_StbM_00442] 📄 PDF
For Synchronized Time Bases the Main Time Tuple shall be updated according to [ SWS_StbM_00440] and [SWS_StbM_00342] . U pon invocation of StbM_SetRateCorrection() the StbM shall calculate a temporary Time Tuple according to [SWS_StbM_00424] and replace the Main Time Tuple by this temporary Time Tuple. For calculati on of the tempora ry Time Tuple StbM shall use the r value, which is valid before it is updated by current call of StbM_SetRateCorrection() .
requirement SWS_StbM_00443 [SWS_StbM_00443] 📄 PDF
For Offset Time Bases the Main Time Tuple shall be updated according to [SWS_StbM_00441] , [SWS_StbM_00190] and [SWS_StbM_00304] . Upon invocation of StbM_SetRateCorrection() the StbM shall calculate a temporary Time Tuple according to [SWS_StbM_00424] and replace the Main Time Tuple by this temporary Time Tuple. For calculation of the temporary Time Tuple StbM shall use the r value, which is valid before it is updated by current call of StbM_SetRateCorrection() .
requirement SWS_StbM_00444 [SWS_StbM_00444] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetCurrentVirtualLocalTime () shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter localT i mePtr .
requirement SWS_StbM_00445 [SWS_StbM_00445] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRU E , St bM_GetCurrentVirtualLocalTime () shall report to DET the development error STBM_E_PARAM , if called with a parameter timeBaseId , which is not configured or is within the reserved value range.
requirement SWS_StbM_00446 [SWS_StbM_00446] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusGetCurrentTime() shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseId , which refer s to an Offset Time Base or refer s to a Pure Local Time Bas e or is not configured or is within the reserved value range.
requirement SWS_StbM_00447 [SWS_StbM_00447] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusGetCurren tTime() shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter globalT imePtr, localTimePtr or userData .
requirement SWS_StbM_00448 [SWS_StbM_00448] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetGlobalTime() shall report to DET the development error STBM_E_PARAM_TIMESTAMP , if called with a parameter timeStamp that contains invalid elem ents (e.g., nanoseconds part > 999999999 ns).
requirement SWS_StbM_00449 [SWS_StbM_00449] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetGlobalTi me() shall report to DET the development error STBM_E_PARAM_USERDATA , if called with an invalid value of parameter userData , i.e., userDataLength > 3.
requirement SWS_StbM_00451 [SWS_StbM_00451] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_UpdateGlobalTime() shall report to DET the development error STBM_E_PARAM_TIMESTAMP , if called with a parameter timeStamp that contains invali d elements (e.g., nanoseconds part > 999999999 ns).
requirement SWS_StbM_00452 [SWS_StbM_00452] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_UpdateGlobal Time() shall report to DET the development error STBM_E_PARAM_USERDATA , if called with an invalid value of parameter userData , i.e., userDataLength > 3.
requirement SWS_StbM_00453 [SWS_StbM_00453] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ SetOffset () shall report to DET the development error STBM_E_PARAM_TIMESTAMP , if called with a parameter timeStamp that contains invalid elements (e. g., nanoseconds part > 999999999 ns).
requirement SWS_StbM_00454 [SWS_StbM_00454] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ SetOffset () shall report to DET the development error STBM_E_PARAM_USERDATA , if called with an invalid value of parameter userData , i.e., userDataLength > 3.
requirement SWS_StbM_00455 [SWS_StbM_00455] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusSetGlobalTime() shall re port to DET the development error STBM_E_PARAM_TIMESTAMP , if called with a parameter timeStamp that contains invalid elements (e.g., nanoseconds part > 999999999 ns).
requirement SWS_StbM_00456 [SWS_StbM_00456] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_BusSetGlobalTime () shall report to DET the development error STBM_E_PARAM_USERDATA , if called with a n invalid value of parameter userData , i.e., userDataLength > 3.
requirement SWS_StbM_00457 [SWS_StbM_00457] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_ SetUserData () shall report to DET the development error STBM_E_PARAM_USERDATA , if called with an invalid value of parameter userData , i.e., userData Length > 3.
requirement SWS_StbM_00458 [SWS_StbM_00458] 📄 PDF
- Tags: atp.Status=draft Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MTime Validation)} != NULL) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 16) && ({ecuc(Stb M/ Stb MSynchronized Time Base)} == {ecuc(Eth TSyn/ Eth TSyn Global Time D omain/ Eth TSyn Synchronized Time Base Ref - >Stb MSynchronized Time Base)})) TBName={ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)}
requirement SWS_StbM_00459 [SWS_StbM_00459] 📄 PDF
- Tags: atp.Status=draft Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MTime Validation)} != NULL) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 16) && ({ecuc(Stb M/ Stb MSynchronized Time Base)} == {ecuc(Fr TSyn/ Fr TSyn Global Time Dom ain/ Fr TSyn Synchronized Time Base Ref - >Stb MSynchronized Time Base)}) TBName={ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)}
requirement SWS_StbM_00460 [SWS_StbM_00460] 📄 PDF
- Tags: atp.Status=draft Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MTime Validation)} != NULL) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 16) && ({ecuc(Stb M/ Stb MSynchronized Time Base)} == {ecuc(Can TSyn/ Can TSyn Global Time Domain/ Can TSyn Synchronized Time Base Ref - >Stb MSynchronized Time Base)}) TBName={ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)}
requirement SWS_StbM_00461 [SWS_StbM_00461] 📄 PDF
{DRAFT} Name Time Base Provider Notification_ Eth_{TB_ Name} (draft) Comment Notifies about the availability of a new Ethernet specific data block recorded for the Time Base. Tags: atp.Status=draft Is Service true Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MTime Validation)} != NULL) && ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 16) && ({ecuc(Stb M/ Stb MSynchronized Time Base)} == {ecuc(Eth TSyn/ Eth TSyn Global Time Domain/ Eth TSyn Synchronized Time Ba se Ref - >Stb MSynchronized Time Base)}) TB_ Name ={ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)} Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Set Master Timing Data Comment Provides the recorded data block for the Time Master of the Time Base. Variation ({ecuc(Eth TSyn/ Eth TSyn Global Time Domain/ Eth TSyn Port Role/ Eth TSyn Global Time Master)}!=NULL) Parameters measurement Data Type Stb M _ Eth Time Master Measurem ent Type Direction IN Comment Block of the table Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Pdelay Initiator Data Comment Provides the recorded data block for the p Delay Initiator of the Time Base. Variation (({ecuc(Eth TSyn/ Eth TSyn Global Time Domain/ Eth TSyn Port Role/ Eth TSyn Global Time Slave)}!=NULL) Parameters measurement Data Type Stb M _ Pdelay Initiator Measurement Type Direction IN Comment Block of the table Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Pdelay Responder Data Comment Provides the recorded data block for the p Delay Responder of the Time Base. Variation (({ecuc(Eth TSyn/ Eth TSyn Global Time Domain/ Eth TSyn Port Role/ Eth TSyn Global Time Master)}!=NULL) Parameters measurement Data Type Stb M _ Pdelay Responder Measurement Type Direction IN Comment Block of the table Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Slave Timing Data Comment Provides the recorded data block for the Time Slave of the Time Base. Variation ({ecuc(Eth TSyn/ Eth TSyn Global Time Domain/ Eth TSyn Port Role/ Eth TSyn Global Time Slave)}!=NULL) Parameters measurement Data Type Stb M _ Eth Time Slave Measurement Type Direction IN Comment Block of the table Variation -- Possible Errors E _ O K E _ N O T _ O K
requirement SWS_StbM_00462 [SWS_StbM_00462] 📄 PDF
{DRAFT} Name Time Base Provider Notification_ Fr_{TB_ Name} (draft) Comment Notifies about the availability of a new Flexray specific data block recorded for the Time Base. Tags: atp.Status=draft Is Service true Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MTime Validation)} != NULL) && ({ecuc(Stb M/ Stb MSynchro nized Time Base/ Stb MSynchronized Time Base Identifier)} < 16) && ({ecuc(Stb M/ Stb MSynchronized Time Base)} == {ecuc(Fr TSyn/ Fr TSyn Global Time Domain/ Fr TSyn Synchronized Time Base Ref - >Stb MSynchronized Time Base)}) TB_ Name ={ecuc(Stb M/ Stb MSync hronized Time Base.SHORT - NAME)} Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Set Master Timing Data Comment Provides the recorded data block for the Time Master of the Time Base. Variation ({ecuc(Fr TSyn/ Fr TSyn Global Time Domain/ Fr TSyn Global Time Master)}!=NULL) Parameters measurement Data Type Stb M _ Fr Time Master Measurement Type Direction IN Comment Block of the table Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Slave Timing Data Comment Provides the recorded data block for the Time Slave of the Time Base. Variation ({ecuc(Fr TSyn/ Fr TSyn Global Time Domain/ Fr TSyn Global Time Slave)}!=NULL) Parameters measurement Data Type Stb M _ Fr Time Slave Measurement Type Direction IN Comment Block of the table Variation -- Possible Errors E _ O K E _ N O T _ O K
requirement SWS_StbM_00463 [SWS_StbM_00463] 📄 PDF
{DRAFT} Name Time Base Provider Notification_ Can_{TB_ Name} (draft) Comment Notifies about the availability of a new CAN specific data block recorded for the Time Base. Tags: atp.Status=draft Is Service true Variation ({ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MTime Validation)} != NULL) && ({ecuc(Stb M/ Stb MSynchronize d Time Base/ Stb MSynchronized Time Base Identifier)} < 16) && ({ecuc(Stb M/ Stb MSynchronized Time Base)} == {ecuc(Can TSyn/ Can TSyn Global Time Domain/ Can TSyn Synchronized Time Base Ref - >Stb MSynchronized Time Base)}) TB_ Name ={ecuc(Stb M/ Stb MSynch ronized Time Base.SHORT - NAME)} Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Set Master Timing Data Comment Provides the recorded data block for the Time Master of the Time Base. Variation ({ecuc(Can TSyn/ Can TSyn Global Time Domain/ Can TSyn Global Time Master)}!=NULL) Parameters measurement Data Type Stb M _ Can Time Master Measurement Type Direction IN Comment Block of the table Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Slave Timing Data Comment Provides the recorded data block for the Time Slave of the Time Base. Variation ({ecuc(Can TSyn/ Can TSyn Global Time Domain/ Can TSyn Global Time Slave)}!=NULL) Parameters measurement Data Type Stb M _ Can Time Slave Measurement Type Direction IN Comment Block of the table Variation -- Possible Errors E _ O K E _ N O T _ O K
requirement SWS_StbM_00465 [SWS_StbM_00465] 📄 PDF
T he StbM shall record timing data for Time Validation for Synchronized Time Bases (refer t o ECUC_StbM_00021 : StbMSynchronizedTimeBase ), which h ave Time Validation enabled ( i.e., ECUC_StbM_00072 : S bMTimeValidation is configured ) .
requirement SWS_StbM_00466 [SWS_StbM_00466] 📄 PDF
Block 0 <bus>SlaveTimingData StbM_<bus>TimeSlaveMeasure mentType Bus specific structure to capture Time Slave Validation recording data Block 1 <bus>SlaveTimingData StbM_<bus>TimeSlaveMeasure mentType … Block ( StbMTime - Validation - RecordTable - BlockCount - 1) Table 2 : Time Slave Validation Record Table
requirement SWS_StbM_00467 [SWS_StbM_00467] 📄 PDF
The type of the blocks in the Time Slave Validation Record Table ( Table 2 ) shall depend on the Timesync Module, which pro vides the data for the Time Slave Validation Record Table of the correspondi ng Time Base. Timesync Module (which provides timing record data) Type (of block in the Time Slave Validation Record Table) CanTSyn (by StbM_CanSetSlaveTimingData() ) StbM_CanTi meSlaveMeasurementType FrTSyn (by StbM_FrSetSlaveTimingData() ) StbM_FrTimeS laveMeasurementType EthTSyn (by StbM_EthSetSlaveTimingData() ) StbM_EthTimeSlaveMeasurementType Table 3 :Type Mapping for Time Slave Validation Record Table
requirement SWS_StbM_00468 [SWS_StbM_00468] 📄 PDF
Block 0 <bus>MasterTimingData StbM_<bus>TimeMasterMeasure mentType Bus specific structure to capture Time Master Validation recording data of a Time Master Block 1 <bus>MasterTimingData StbM_<bus>TimeMasterMeasure mentType … Block ( StbMTime - Validation - RecordTable - BlockCount - 1) Table 4 :Time Master Validatioin Record Table
requirement SWS_StbM_00469 [SWS_StbM_00469] 📄 PDF
The type of the blocks in the Time Master Validation Record Table ( Table 4 ) shall depend on the Timesync Module, which provides the data for the Time Master Validation Record Table of the correspon ding Time Base. Timesync Module (which provides timing record data) Type (of block in the Time Master Validation Record Table) CanTSyn (by StbM_CanSetMasterTimingData() ) StbM_CanTimeMasterMeasurementType FrTSyn (by StbM_FrSetMasterTimingData() ) StbM_F rTimeMasterMeasurementType EthTSyn (by StbM_EthSetMasterTimingData() ) StbM_EthTimeMasterMeasurementType Table 5 :Type Mapping for Time Master Validation Record Table
requirement SWS_StbM_00470 [SWS_StbM_00470] 📄 PDF
Each T ime Slave Validation Record Table ( Table 2 ) and T ime Master Validation Record Table ( Table 4 ) Pdelay Initiator Validation Record Table ( Table 6 ) Pdelay Responder Validation Record Table ( Table 7 ) shall contain as many blocks as configured by StbMTimeVadidationRecordTableBlockCount ( ECUC_StbM_00073 : ).
requirement SWS_StbM_00471 [SWS_StbM_00471] 📄 PDF
If Time Validation is enabled for a Time Base (refer to [ SWS_StbM_00464 ] and [ SWS_StbM_00465 ] ), upon invocation of StbM_<bus >SetSlaveTimingData() the StbM shall copy the content of the structure, which is passed by parameter measureDataPtr , to the next free <bus>SlaveTimingData block of the Time Slave Validation Record Table ( Table 2 ) of that Time Base. The StbM shall then shall set the value of the block element <bus>SlaveTimingData.referenceGlobalTimestamp as TL Sync (refer to [SWS_StbM_00438] ) and <bus>SlaveTimingData.referenceLocalTimestamp as TV Syn (refer t o [SWS_StbM_00438] ). (i.e., to the value of the Synclocal Time Tuple as set by the preceding call of StbM_BusSetGlobalTime() ).
requirement SWS_StbM_00472 [SWS_StbM_00472] 📄 PDF
If no free block is available in the Time Slave Va lidation Record Table of a Time Base (i.e., all blocks have been written and no notification via operation SetSlaveTimingData of port TimeBaseProviderNotification_{bus}_{TimeBase} has yet occurred to pass all blocks to the application), the StbM shall over write the block containing the oldest measurement data upon invocation of StbM_<bus>SetSlaveTimingData() .
requirement SWS_StbM_00473 [SWS_StbM_00473] 📄 PDF
If Time Validation is enabled for a Time Base (refer to SWS_StbM_00464 , SWS_StbM_00465 ), upon invocation of StbM_<bus>SetMasterTimingData() the StbM sh all copy the content of the structure, which is passed by parameter measureDataPtr , to the next free block <bus>MasterTimingData of the Time Master Validation Record Table ( Table 4 ) of that Time Base.
requirement SWS_StbM_00474 [SWS_StbM_00474] 📄 PDF
{DRAFT} If no free block is available in the Timesync Master Timing Record Table of a Time Base (i.e., all blocks have been written and no notification via SetMasterTimingData of port TimeBaseProviderNotification_{bus}_{TB_ Name} has yet occurred to pass all blocks to the application), the StbM shall overwrite the block containing the oldest measurement data upon invocation of StbM_<bus>SetMasterTimingData() .
requirement SWS_StbM_00475 [SWS_StbM_00475] 📄 PDF
For each Time Base, which has Time Validation enabled (refer to SWS_StbM_00465 ) and for which the StbM is configured as a Time Slave or Time Gateway the StbM shall check within each StbM_MainFunction() call, if new blocks (i.e., containing data that has not yet been passed to the application) have been written in the Time Slave Validation Record Table ( Table 2 ) . If so, the StbM shall pass all new blocks to the application by (repeatedly, block by block) calling operation SetSlaveTimingData of port TimeBaseProviderNotification_{bus}_{TimeBase} . The StbM shall pass the blocks starting with the block containing th e oldest data, and followed by the blocks in ascending order regarding their age (i.e., FIFO order). The block containing the newest data shall be passed last.
requirement SWS_StbM_00476 [SWS_StbM_00476] 📄 PDF
For each Time Base, which has Time Validation enabled (refer t o SWS_StbM_00465 ) and for which the StbM is configured as a Time Master or Time Gateway the StbM shall check within each StbM_MainFunction() , if new blocks (i.e., containing data that has not yet been passed to the appli cation) have been written to the Time Master Validation Record Table ( Table 4 ) . If so, the StbM shall pass all new blocks to the application by (repeatedly, block by block) calling operation SetMasterTimingData of port TimeBasePro viderNotification_{bus}_{TimeBase} . The StbM shall pass the blocks starting with the block containing the oldest data, and followed by the blocks in ascending order regarding their age (i.e., FIFO order). The block containing the newest data shall be pass ed last.
requirement SWS_StbM_00477 [SWS_StbM_00477] 📄 PDF
The StbM shall ensure data integrity of the blocks in the Time Slave Validation Record Table ( Table 2 ) and Time Master Validation Record Table ( Table 4 ) and Pdelay Initiator Validation Record Table ( Table 6 ) and Pdelay Responder Validation Record Table ( Table 7 ) . If a block is currently being overwritten, it shall not be passed to the application. If a block is curr ently passed to the application, it shall not be overwritten until processed by the application.
requirement SWS_StbM_00478 [SWS_StbM_00478] 📄 PDF
If Time Validation is enabled for a Time Base (refer to SWS_StbM_00465 ), upon invocation of StbM_EthSetPdelayInitiatorData() the StbM shall write the content of the structure, which is passed by parameter measureDataPtr , to the next free block pdelayInitiatorData of the corresponding Pdelay Initiator Validation Record Table ( Table 6 ) of that Time Base .
requirement SWS_StbM_00479 [SWS_StbM_00479] 📄 PDF
For each Time Base, which has Time Valid ation enabled (refer to SWS_StbM_00465 ) and is mapped to a Slave Communication Port on an Ethernet Time Domain, the StbM shall check within each StbM_MainFunction() , if new blocks (i.e., containing data that has not yet been passed to the application) have been written to the Pdelay Initiator Validation Record Table ( Table 6 ) . If so, the StbM shall pass all new blocks to the application by (repeatedly, block by block) calling ope ration SetPdelayInitiatorData of port TimeBaseProviderNotification_Eth_{TimeBase} . The StbM shall pass the blocks starting with the block containing the oldest data and followed by the blocks in ascending order regarding their age (i.e., FIFO order). The block containing the newest data shall be passed last.
requirement SWS_StbM_00480 [SWS_StbM_00480] 📄 PDF
If Time Validation is enabled for a Time Base (refer to SWS_StbM_00464 , SWS_StbM_00465 ), upon invocation of StbM_EthSetPdelayResponderData() the StbM s hall write the content of the structure, which is passed by parameter measureDataPtr , to the next free block PdelayResponderData of the corresponding Pdelay Responder Validation Record Table ( Table 7 ) of that Time B ase.
requirement SWS_StbM_00481 [SWS_StbM_00481] 📄 PDF
For each Time Base, wh ich has Time Validation enabled (refer to SWS_StbM_00465 ) and is mapped to a Master Communication Port on an Ethernet Time Domain, the StbM shall check within each StbM_MainFunction() , if new blocks (i.e., containing dat a that has not yet been passed to the application) have been written to the Pdelay Responder Validation Record Table ( Table 7 ). If so, the StbM shall pass all new blocks to the application by (repeatedly, block by block) calling operation SetPdelayResponderData of port TimeBaseProviderNotification_Eth_{TimeBase} . The StbM shall pass the blocks starting with the block containing the oldest data and followed by the blocks in ascending order regarding their age (i.e., FIFO order). The block containing the newest data shall be passed last.
requirement SWS_StbM_00487 [SWS_StbM_00487] 📄 PDF
The function StbM_<bus>SetSlaveTimingData() shall be pre compile time configurable ON / OFF. If the corresponding <bus>TSyn module is confi gured with Time Validation Support enabled (refer to parameter <bus>TSynTimeValidationSupport in <bus>TSyn module) StbM_ <bus> SetSlaveTimingData() shall be ON , otherwise OFF .
requirement SWS_StbM_00488 [SWS_StbM_00488] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_<bus>SetSlaveTimingData() shall r eport to DET the development error STBM_E_PARAM , if called with a parameter ti meBaseId , which does not refer to a Synchronized Time Base.
requirement SWS_StbM_00489 [SWS_StbM_00489] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE, StbM_<bus>SetSlaveTimingData() shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter measureDataPtr.
requirement SWS_StbM_00493 [SWS_StbM_00493] 📄 PDF
The function StbM_<bus>Se tMasterTimingData() shall be pre compile time configurable ON / OFF. If the corresponding <bus>TSyn module is configured with Time Validation Support enabled (refer to parameter <bus>TSynTimeValidationSupport in <bus>TSyn module), StbM_ <bus> SetMasterTimingDa ta() shall be ON , o therwise OFF .
requirement SWS_StbM_00494 [SWS_StbM_00494] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , S tbM_<bus>SetMasterTimingData () s hall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseId , which does not refer to a Synchronized Time Base
requirement SWS_StbM_00495 [SWS_StbM_00495] 📄 PDF
If the switch StbMDevErrorDet ect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_<bus>SetMasterTimingData() shall r eport to DET the development error STBM_E_PARAM_POINTER , i f called with a NULL pointer for parameter measureDataPtr .
requirement SWS_StbM_00497 [SWS_StbM_00497] 📄 PDF
The function StbM_EthSetPdelayInitiatorData() shall be pre compile time con figurable ON / OFF. If the EthTSyn module is configur ed wit h Time Validation Support enabled (refer to parameter EthTSynTimeValidationSupport in EthTSyn module), StbM_EthSetPdelayInitiatorData() shall be ON , otherwise OFF .
requirement SWS_StbM_00498 [SWS_StbM_00498] 📄 PDF
I f the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_EthSetPdelayInitiatorData() shall r eport to DET the development error STBM_E_PARAM , if called wit h a parameter time BaseId , which does not refer to a Synchronized Time Base
requirement SWS_StbM_00499 [SWS_StbM_00499] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_EthSetPdela yInitiatorData() shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter measureDataPtr.
requirement SWS_StbM_00501 [SWS_StbM_00501] 📄 PDF
The function StbM_EthSetPdelayResponderData() shall be pre compile time configurable ON / OFF. If the EthTSyn module is configured with Time Validation Support enabled (refer t o parameter EthTSynTimeValidationSupport in EthTSyn module), StbM_EthSetPdelayResponderData() shall be ON , otherwise OFF .
requirement SWS_StbM_00502 [SWS_StbM_00502] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_EthSetPdelayResponderData () shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseId , which d oes not refer to a Synchronized T ime Base
requirement SWS_StbM_00503 [SWS_StbM_00503] 📄 PDF
If the s witch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_Et h SetPdelayResponderData () shall r eport to DET the development error STBM_E _PARAM_POINTER , if called with a NULL pointer for parameter measureDataPtr
requirement SWS_StbM_00512 [SWS_StbM_00512] 📄 PDF
If StbMLocalTimeHardware ECUC_StbM_00053 : references a Gpt Channel as local time sourc e for a Synchronized Ti m e Base, the StbM shall derive the Virtual Local Time from the value of the corresponding GPT timer. The elapsed timer value shall be read via Gpt_GetTimeElapsed() .
requirement SWS_StbM_00513 [SWS_StbM_00513] 📄 PDF
The StbM module shall apply appropriate mechanisms to allow calls of its APIs from o ther partitions than its main function, e.g. by providing a StbM satellite.
requirement SWS_StbM_00514 [SWS_StbM_00514] 📄 PDF
The StbM module shall ensure to keep the synchronous contract of its APIs, even so they are called in other partitions than StbM module is assigned to.
requirement SWS_StbM_00515 [SWS_StbM_00515] 📄 PDF
[SWS_StbM_00515] Upstream requirements: RS_TS_00008 ⌈If the range of the corresponding HW reference counter is less than that of the Vir- tual Local Time (refer to StbM_VirtualLocalTimeType), the StbM shall extend the range accordingly.⌋ Note: Depending on the HW reference clock one way of extending the range is to count overflows of the HW reference clock.
requirement SWS_StbM_00516 [SWS_StbM_00516] 📄 PDF
On invocation of StbM_SetBusProtocolParam() fo r a Time Master of Time Bases 0 to 15, the StbM shall forward the values p rovided in argument protocolParam by calling EthTSyn_SetProtocolParam() . If the corresponding Time Base is not mapped to Ethernet or member protocolType of argument protocolParam i s not set to STBM_ TIMESYNC_ ETHERNET StbM_ S etBusProtocolParam() shall return E_NOT_OK .
requirement SWS_StbM_00517 [SWS_StbM_00517] 📄 PDF
On invocation of StbM_GetBusProtocolParam() for Time Bases 0 to 15, the StbM shall read the structure values referenced by argument protocolParam by calling EthTSyn_GetProtocolParam() , if member protocolType o f argument protocolParam is set to STBM_ TIMESYNC_ ETHERNET . If the corresponding Time Base is not mapped to Ethernet or member protocolType of argument protocolParam is not set to STBM_ TIMESYNC_ ETHERNET StbM_GetBusProtocolParam() shall return E_NOT_OK .
requirement SWS_StbM_00518 [SWS_StbM_00518] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetBus P rotocolParam () shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseId , which is not referring to a Synchr onize d Time Base.
requirement SWS_StbM_00519 [SWS_StbM_00519] 📄 PDF
If the swi tch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_GetBusProtoc olParam () shall r eport to DET the development error STBM_E_PA RAM_POINTER , if called with a NU L L pointer for parameter protocolParam .
requirement SWS_StbM_00520 [SWS_StbM_00520] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetBusProtocolParam () shall r eport to DET the development error STBM_E_PARAM , if called with a parameter timeBaseId , which is not referring to a Synchronized Time Base.
requirement SWS_StbM_00521 [SWS_StbM_00521] 📄 PDF
If the switch StbMDevErrorDetect ( ECUC_StbM_00012 : ) is set to TRUE , StbM_SetBusProtocolParam () shall r eport to DET the development error STBM_E_PARAM_POINTER , if called with a NULL pointer for parameter protocolParam .
requirement SWS_StbM_00522 [SWS_StbM_00522] 📄 PDF
Block 0 pdelayInitiatorData StbM_PdelayInitiatorMeasur ementType Structure to capture Time Validation recording data of a PdelayInitiator Block 1 pdelayInitiatorData StbM_Pdela yInitiatorMeasur ementType … Block ( StbMTime - Validation - RecordTable - BlockCount - 1) Table 6 : Pdelay Initiator Validation Record Table
requirement SWS_StbM_00523 [SWS_StbM_00523] 📄 PDF
Block 0 pdelayResponderData StbM_PdelayResponderMea surementType Structure to capture Time Validation recording data of a Pdelay Responder Block 1 pde layResponderData StbM_PdelayResponderMea surementType … Block ( StbMTime - Validation - RecordTable - BlockCount - 1) Table 7 : Pdelay Responder Validation Record Table
requirement SWS_StbM_00525 [SWS_StbM_00525] 📄 PDF
If no free block is available in the Pdelay Responder Validation Record Table of a Time Base (i.e., all blocks have been written and no notification via operation SetPdelayResponderData of port TimeBaseProviderNotification _Eth_{TimeBase} has yet occurred to pass all blocks to the application), the StbM shall overwrite the block containing the oldest measurement data upon invocation of StbM_EthSetPdelayResponderData() .
requirement SWS_StbM_00526 [SWS_StbM_00526] 📄 PDF
The StbM shall call the Status Notification callback from StbM_MainFunction() .
requirement SWS_StbM_00528 [SWS_StbM_00528] 📄 PDF
For Time Bases 16 to 31 each invocation of StbM_BusSetGlobalTime() shall update the Rx Time Tuple [TG Rx ; TV Rx ] as follows (refer to Figure 6 ) : 1. Retrieve the current Virtual Local Tim e value as TV sync 2. Calcu la te the time interval T FRD = TV Rx - TV sync based on the Local Virtual Time value of the Rx Time Tuple (TV Rx ) as provided by input parameter localTimePtr 3. Apply the current rate value of the Offset Time Base r = (r roc – 1) to the t ime interval T FRD 4. Add th e rate corrected interval r*T FRD to the Global Time of the Rx Time Tuple (TG Rx ) as provided by input parameter globalTimePtr The resulting Time Tuple [TG Rx + r*T FRD ; TV sync ] is denoted as Updated Rx Time Tuple [TG URx ; TV URx ] of the Offset Time Base.
requirement SWS_StbM_00529 [SWS_StbM_00529] 📄 PDF
For Time Bases 0 to 15 each invocation of StbM_BusSetGlobalTime() shall update the Rx Time Tuple [TG Rx ; TV Rx ] as follows (refer to Figure 6 ) : 1. Retrieve the curre nt Virtual Local Time val ue as TV sync 2. Calculate the time interval T FRD = TV Rx - TV sync based on the Local Virtual Time value of the Rx Time Tuple (TV Rx ) as provided by input parameter localTimePtr . 3. Apply the current rate value of the Synchronized Time Bas e r = r rc to the time int er val T FRD 4. Add the rate corrected interval r*T FRD to the Global Time of the Rx Time Tuple (TG Rx ) as provided by input parameter globalTimePtr The resulting Time Tuple [TG Rx + r*T FRD ; TV sync ] is denoted as Updated Rx Time Tuple [ TG URx ; TV URx ] of the Sync hr onized Time Base.
requirement SWS_StbM_00530 [SWS_StbM_00530] 📄 PDF
For Synchronized Time Bases and Pure Local Time Bases upon invocation of Stb M_Clone TimeBase() , the StbM shall first determine o the Destination Time Base (given by input parameter timeBaseId ) and o the Source Time Base (given by configuration parameter Stb MSourceTimeBase of the given Destination Time Base ( refer to ECUC_StbM_00074 : ) ) and then derive a [Source;Destination] time tuple from the Time Bases and then check the DEFERRED_COPY flag in cloneCfg . If the DEFERRED_COPY fl ag is set, the StbM shall store the clone request together with the parameters passed by Stb M_Clone TimeBase() as ‘deferred’ replace any pending deferred clone request of the same [Source;Destination] t uple by the actual deferred clone request return E_OK. If the DEFERRED_COPY flag is not set, the StbM shall remove any pen ding deferred clone request of the same [Source;Destination] tuple immediately process the clone request.
requirement SWS_StbM_00531 [SWS_StbM_00531] 📄 PDF
For Synchronized Time Bases and Pure Local Time B ases, the StbM shall check on every change of the TIMEOUT bit in the timeBaseStatus if a pending deferred clone request exists for which the Source part of the [Source;Destination] tuple is the same as the respective Time Base. If such a pending deferred clone request exists it shall be removed.
requirement SWS_StbM_00532 [SWS_StbM_00532] 📄 PDF
For Synchronized Time Bases and Pu re Local Time Bases, the StbM shall check on every invocation of StbM_BusSetGlobalTime() if a pending deferred clone request exists for which the Source part of the [Source;Destination] tuple is the same as the respective Time Base. If such a pending deferred clone request exists it shall be proce ssed once StbM_BusSetGlobalTime() has been processed completely, i.e., the Time Base Status has been updated, the Updated Rx Time Tuple has been subject to rate correction calculations and the Main Time Tuple has been overwritten by the Updated Rx Time Tup le (refer to ch apter 7.3.8.2 ). After processing the pending deferred clone request it shall be removed.
requirement SWS_StbM_00533 [SWS_StbM_00533] 📄 PDF
To process an immediate or deferred clone requ est the StbM shall first mask (logical AND ) the current Time Base Status with the statusMask parameter of the clone request. If the masked value is equal to the statusValue parameter of t he clone request, the StbM shall perform the clone operation. W hen processing an immediate clone request in t he course of Stb M_Clone TimeBase() , the StbM shall return E_OK if the clone request was successfully performed, otherwise the StbM shall return E_NOT_OK.
requirement SWS_StbM_00534 [SWS_StbM_00534] 📄 PDF
When performing the clone operation the StbM shall copy the Time Base value and the Time Base User Bytes. If both, Source and Destination Time Base, are using the same Virtual Local Time Source, then the Main Time Tuple s hall be copied, otherwise the StbM shall • establish a protection against interruptions and run the next two steps directly afterwards: • retri eve the current Virtual Local Time TV Source for the Source Time Base • retrieve the current Virtual Local Time TV Destin ation for the Destination Time Base • the protection against interruptions can be removed now • determine a temporary Time Tuple [TL Source ;TV Source ] • create a Time Tuple [TL Source ;TV Destination ] which then replaces the Main Time Tuple of the Destination Time Ba se.
requirement SWS_StbM_00535 [SWS_StbM_00535] 📄 PDF
When performing the clone operation the StbM shall check the flag APPLY_RATE of the cloneCfg parameter of the clone request. If the flag is set, t he StbM shall copy the Rate Correction value of the Source Time Base to the Destination Time Base.
requirement SWS_StbM_00536 [SWS_StbM_00536] 📄 PDF
When performing the c lone operation the StbM shall check the flag IMMEDIATE_TX of the cloneCfg parameter of the clone request. If the flag is set, StbM shall increment the timeBaseUpdateCounter of the Destination Time Base after having copied the Time Base value and User Data to the Destinat ion Time Base (refer to [SWS_StbM_00534] ) to force an immedi ate transmission of the Time Base on the bus .
requirement SWS_StbM_00537 [SWS_StbM_00537] 📄 PDF
If the switch S tbMDe vErrorDetect (ECUC_StbM_00012) is set to TRUE , Stb M_Clone TimeBase() shall r eport to DET the development error STBM_E_PARAM , i f called with a par ameter Time Base Id , which • is not configured or • refers to an Offset Time Base or • is within the reserved value rang e.
requirement SWS_StbM_00538 [SWS_StbM_00538] 📄 PDF
{ DRAFT } If CAN hardware timestamping is supported (re fer to configuration parameter CanIfGlobal TimeSupport in CanIf, which is referenced via ECUC_StbM_00053 : StbMLocalTimeHa rdware , if set to CanTSynGlobalTimeDomain ), StbM.c shall include CanIf.h to have access to the interface of the CanIf module.
requirement SWS_StbM_00539 [SWS_StbM_00539] 📄 PDF
{ D RA FT } If CanIfGlobalTimeSupport (referenced via StbMLocalTimeHardware ECUC_StbM_00053 : , if set to CanTSynGlobalTimeDomain ) is set to TRUE for a Synchronized Tim e Base, the StbM shall derive the current value of the Virtual Local Time (see StbM_VirtualLocalTimeType ) from the freerunning HW counter from the corresponding CAN Controller via CanIf_GetCurrentTime() . If CanIf_GetCurrentTime() returns E_NOT_OK the tim e value returned by CanIf_GetCurrentTime() shall be ignored .
requirement SWS_StbM_00544 [SWS_StbM_00544] 📄 PDF
[SWS_StbM_00544] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetTxFreshness shall report to DET the development error STBM_E_PARAM, if called with a parameter StbM- FreshnessValueId, which is not configured.⌋
requirement SWS_StbM_00545 [SWS_StbM_00545] 📄 PDF
[SWS_StbM_00545] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetTxFreshness shall report to DET the development error STBM_E_PARAM_POINTER, if called with a NULL pointer for parameter • StbMFreshnessValueLength • StbMFreshnessValue ⌋
requirement SWS_StbM_00546 [SWS_StbM_00546] 📄 PDF
[SWS_StbM_00546] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetTxFresh- nessTruncData shall report to DET the development error STBM_E_PARAM, if called with a parameter StbMFreshnessValueId, which is not configured.⌋
requirement SWS_StbM_00547 [SWS_StbM_00547] 📄 PDF
[SWS_StbM_00547] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetTxFresh- nessTruncData shall report to DET the development error STBM_E_PARAM_ POINTER, if called with a NULL pointer for parameter • StbMFreshnessValueLength • StbMFreshnessValue • StbMTruncatedFreshnessValueLength • StbMTruncatedFreshnessValue ⌋
requirement SWS_StbM_00549 [SWS_StbM_00549] 📄 PDF
[SWS_StbM_00549] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetRxFreshness shall report to DET the development error STBM_E_PARAM, if called with a parameter StbM- FreshnessValueId, which is not configured.⌋
requirement SWS_StbM_00550 [SWS_StbM_00550] 📄 PDF
[SWS_StbM_00550] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetRxFreshness shall report to DET the development error STBM_E_PARAM_POINTER, if called with a NULL pointer for parameter • StbMFreshnessValueLength • StbMFreshnessValue ⌋
requirement SWS_StbM_00551 [SWS_StbM_00551] 📄 PDF
[SWS_StbM_00551]{DRAFT} ⌈The SPduTxConfirmationFct function shall be set by the parameter StbMGetTxConfFreshnessValueFuncName.⌋(RS_TS_00039)
requirement SWS_StbM_00552 [SWS_StbM_00552] 📄 PDF
[SWS_StbM_00552] Upstream requirements: RS_TS_00039 ⌈The GetTxFreshnessTruncDataFct function shall be set by the parameter Stb- MGetTxTruncFreshnessValueFuncName.⌋
requirement SWS_StbM_00553 [SWS_StbM_00553] 📄 PDF
[SWS_StbM_00553] Upstream requirements: RS_TS_00039 ⌈The GetTxFreshnessFct function shall be set by the parameter StbMGet- TxFreshnessValueFuncName.⌋
requirement SWS_StbM_00554 [SWS_StbM_00554] 📄 PDF
[SWS_StbM_00554] Upstream requirements: RS_TS_00039 ⌈The GetRxFreshnessFct function shall be set by the parameter Stb- MGetRxFreshnessValueFuncName.⌋
requirement SWS_StbM_00556 [SWS_StbM_00556] 📄 PDF
[SWS_StbM_00556] Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_StartTimer shall report to DET the development error STBM_E_PARAM_TIMESTAMP, if called with a parame- ter expireTime that contains invalid elements (e.g., nanoseconds part > 999999999 ns).⌋
requirement SWS_StbM_00598 [SWS_StbM_00598] 📄 PDF
[SWS_StbM_00598] Status: DRAFT Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetCurrentSafeTime shall report to DET the development error STBM_E_PARAM, if called with a parameter timeBaseId, which is • not configured or • within the reserved value range. ⌋
requirement SWS_StbM_00605 [SWS_StbM_00605] 📄 PDF
[SWS_StbM_00605] Status: DRAFT Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetCurrentSafeTime shall report to DET the development error STBM_E_PARAM_POINTER, if called with a NULL pointer for parameter timeTriple or userData⌋
requirement SWS_StbM_00625 [SWS_StbM_00625] 📄 PDF
[SWS_StbM_00625] Status: DRAFT Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetFallbackVirtual- LocalTime shall report to DET the development error STBM_E_PARAM_POINTER, if called with a NULL pointer for parameter localTimePtr⌋
requirement SWS_StbM_00626 [SWS_StbM_00626] 📄 PDF
[SWS_StbM_00626] Status: DRAFT Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_GetFallbackVirtual- LocalTime shall report to DET the development error STBM_E_PARAM, if called with a parameter timeBaseId, which • is not configured or • is within the reserved value range ⌋
requirement SWS_StbM_00627 [SWS_StbM_00627] 📄 PDF
[SWS_StbM_00627] "Invalid Time Base Parameter" Development Error for StbM_SetCloningOffset Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_SetCloningOffset shall report to DET the development error STBM_E_PARAM, if called with a parame- ter timeBaseId, which • is not configured or • is within the reserved value range. ⌋
requirement SWS_StbM_00628 [SWS_StbM_00628] 📄 PDF
[SWS_StbM_00628] "Service Not Supported" Development Error for StbM_SetCloningOffset Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, StbM_SetCloningOffset shall report to DET the development error STBM_E_SERVICE_NOT_SUPPORTED, if called for a Time Base, which has no Source Time Base (refer to parameter StbM- SourceTimeBase) configured.⌋
requirement SWS_StbM_00630 [SWS_StbM_00630] 📄 PDF
[SWS_StbM_00630] "Service Not Supported" Development Error for StbM_SetUserData Upstream requirements: SRS_BSW_00386, SRS_BSW_00323 ⌈If the switch StbMDevErrorDetect is set to TRUE, when StbM_SetUserData is called for a Time Base for which the StbM is not configured as a Global Time Mas- ter, then StbM_SetUserData shall report to DET the development error STBM_E_ SERVICE_NOT_SUPPORTED.⌋
requirement SWS_StbM_91004 [SWS_StbM_91004] 📄 PDF
- Port Defined Argument Value(s) Type Stb M _ Synchronized Time Base Type Value {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier.value)} Type Stb M _ Customer Id Type Value {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MNotification Customer/ Stb MNotification Customer Id.value)} Variation {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MSynchronized Time Base Identifier)} < 128 Time Base = {ecuc(Stb M/ Stb MSynchronized Time Base.SHORT - NAME)} Customer = {ecuc(Stb M/ Stb MSynchronized Time Base/ Stb MNotification Customer.SHORT - NAME)}
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_StbM- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_StbM@rel:R20-11#bd9b9a3a- Content hash
bd9b9a3a- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_SynchronizedTimeBaseManager.pdf#nameddest=SWS_StbM_00052