CAN State Manager (CanSM)
AUTOSAR Classic Communication Services-Modul CAN State Manager (CanSM, Spezifikation: AUTOSAR_CP_SWS_CANStateManager.pdf, AUTOSAR_SWS_CANStateManager.pdf, AUTOSAR_SWS_CAN_StateManager.pdf).
Funktionen — Übersicht
void CanSM_Init (const CanSM_ConfigType* ConfigPtr);This service initializes the Can SM modulevoid CanSM_GetVersionInfo (Std_VersionInfoType* VersionInfo);This service puts out the version information of this module (module ID, vendor ID, vendor specific version numbers related to...Std_ReturnType CanSM_RequestComMode (NetworkHandleType network, ComM_ModeType ComM_Mode);This service shall change the communication mode of a CAN network to the requested one.Std_ReturnType CanSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* ComM_ModePtr);This service shall put out the current communication mode of a CAN network.void CanSM_ControllerBusOff (uint8 ControllerId);This callback function notifies the Can SM about a bus - off event on a certain CAN controller, which needs to be considered...void CanSM_MainFunction (void);Scheduled function of the Can SMvoid CanSM_ControllerModeIndication (uint8 ControllerId, Can_ControllerStateType ControllerMode);This callback shall notify the Can SM module about a CAN controller mode change.void CanSM_TransceiverModeIndication (uint8 TransceiverId, CanTrcv_TrcvModeType TransceiverMode);This callback shall notify the Can SM module about a CAN transceiver mode change.void CanSM_TxTimeoutException (NetworkHandleType Channel);This function shall notify the Can SM module, that the Can Nm has detected for the affected partial CAN network a tx timeout...void CanSM_ClearTrcvWufFlagIndication (uint8 Transceiver);This callback function shall indicate the Can If_ Clear Trcv Wuf Flag API process end for the notified CAN Transceiver.void CanSM_CheckTransceiverWakeFlagIndication (uint8 Transceiver);This callback function indicates the Can If_ Check Trcv Wake Flag API process end for the notified CAN Transceiver.void CanSM_ConfirmPnAvailability (uint8 TransceiverId);This callback function indicates that the transceiver is running in PN communication mode.Std_ReturnType CanSM_SetBaudrate (NetworkHandleType Network, uint16 BaudRateConfig ID); ⚠️This service shall start an asynchronous process to change the baud rate for the configured CAN controllers of a certain CAN...Std_ReturnType CanSM_SetIcomConfiguration (NetworkHandleType Network, IcomConfigIdType ConfigurationId);This service shall change the Icom Configuration of a CAN network to the requested one.void CanSM_CurrentIcomConfiguration (uint8 ControllerId, IcomConfigIdType ConfigurationId, IcomSwitch_ErrorType Error);This service shall inform about the change of the Icom Configuration of a CAN network.Std_ReturnType CanSM_StartWakeupSource (NetworkHandleType network);This function shall be called by Ecu M when a wakeup source shall be started.Std_ReturnType CanSM_StopWakeupSource (NetworkHandleType network);This function shall be called by Ecu M when a wakeup source shall be stopped.void <User_Get Bus Off Delay> (NetworkHandleType network, uint8* delayCyclesPtr);This callout function returns the number of Can SM base cycles to wait additionally to L1/ L2 after a Bus Off occurred.Std_ReturnType CanSM_SetEcuPassive (boolean CanSM_Passive);Service Name Can SM_ Set Ecu Passive Syntax Std_ Return Type Can SM_ Set Ecu Passive ( boolean Can SM_ Passive ) Service ID...void CanSM_DeInit (void);This service de - initializes the Can SM module.void CanSM_ConfirmCtrlPnAvailability (uint8 ControllerId);This callback function indicates that the controller is running in PN communication mode.
Typen — Übersicht
enum CanSM_StateTypeDefines the values of the internal states of the Can SM modulestruct CanSM_ConfigTypeThis type defines a data structure for the post build parameters of the Can SM.enum CanSM_BswMCurrentStateTypeCan specific communication modes / states notified to the Bsw M module
Anforderungen — Übersicht
SWS_CanSM_00167[SWS_CanSM_00167] ⌈The main function of the CanSM module shall operate the effects of the CanSM state machine, which the CanSM...SWS_CanSM_00182[SWS_CanSM_00182] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈If the function CanSM_RequestComMode accepts the...SWS_CanSM_00183[SWS_CanSM_00183] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The function CanSM_RequestComMode shall call the...SWS_CanSM_00184[SWS_CanSM_00184] Upstream requirements: SRS_BSW_00406 ⌈If the CanSM module is not initialized, when the function...SWS_CanSM_00186[SWS_CanSM_00186] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall put out the current...SWS_CanSM_00187[SWS_CanSM_00187] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall call the function...SWS_CanSM_00188[SWS_CanSM_00188] Upstream requirements: SRS_Can_01142 ⌈If the CanSM module is not initialized (ref.SWS_CanSM_00189[SWS_CanSM_00189] Upstream requirements: SRS_BSW_00359, SRS_BSW_00333 ⌈If the function CanSM_ControllerBusOff gets a...SWS_CanSM_00190[SWS_CanSM_00190] Upstream requirements: SRS_BSW_00359, SRS_BSW_00333 ⌈If the CanSM module is not initialized, when the...SWS_CanSM_00235[SWS_CanSM_00235] Upstream requirements: SRS_BSW_00359, SRS_BSW_00333 ⌈If the CanSM module is initialized and the input...SWS_CanSM_00243Module Header File Imported Type Can Can_ General Types.SWS_CanSM_00266[SWS_CanSM_00266] Upstream requirements: SRS_Can_01142 ⌈The CanSM module shall store the current network mode for each...SWS_CanSM_00278[SWS_CanSM_00278] Upstream requirements: SRS_Can_01142 ⌈If the CanSM state machine CANSM_BSM is in the state...SWS_CanSM_00282[SWS_CanSM_00282] Upstream requirements: SRS_Can_01142 ⌈The CanSM module shall return E_NOT_OK for the API request CanSM_-...SWS_CanSM_00284[SWS_CanSM_00284] Upstream requirements: SRS_Can_01142 ⌈The internally stored network modes of the CanSM module can have the...SWS_CanSM_00360[SWS_CanSM_00360] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall report the development...SWS_CanSM_00369[SWS_CanSM_00369] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The function CanSM_RequestComMode shall accept its...SWS_CanSM_00370[SWS_CanSM_00370] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The function CanSM_RequestComMode shall deny its...SWS_CanSM_00371[SWS_CanSM_00371] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall accept its request, if the...SWS_CanSM_00372[SWS_CanSM_00372] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall deny its request, if the...SWS_CanSM_00374The function CanSM_GetVersionInfo shall report the development error CANSM_E_PARAM_POINTER to the DET, if the user of this...SWS_CanSM_00385[SWS_CanSM_00385] Upstream requirements: SRS_Can_01142 ⌈If CanSM has repeated one of the CanIf API calls...SWS_CanSM_00397[SWS_CanSM_00397] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_ControllerModeIndication gets a ControllerId,...SWS_CanSM_00398[SWS_CanSM_00398] Upstream requirements: SRS_Can_01145 ⌈If the CanSM module is not initialized, when the function...SWS_CanSM_00400[SWS_CanSM_00400] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_TransceiverModeIndication gets a TransceiverId,...SWS_CanSM_00401[SWS_CanSM_00401] Upstream requirements: SRS_Can_01145 ⌈If the CanSM module is not initialized, when the function...SWS_CanSM_00411[SWS_CanSM_00411] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_TxTimeoutException shall report CANSM_E_UNINIT to...SWS_CanSM_00412[SWS_CanSM_00412] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_TxTimeoutException is referenced with a Channel,...SWS_CanSM_00414[SWS_CanSM_00414] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ClearTrcvWufFlagIndication shall report CANSM_E_-...SWS_CanSM_00415[SWS_CanSM_00415] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_ClearTrcvWufFlagIndication gets a TransceiverId,...SWS_CanSM_00417[SWS_CanSM_00417] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_CheckTransceiverWakeFlagIndication shall report...SWS_CanSM_00418[SWS_CanSM_00418] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_CheckTransceiverWakeFlagIndication gets a...SWS_CanSM_00420[SWS_CanSM_00420] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ConfirmPnAvailability shall report CANSM_E_UNINIT...SWS_CanSM_00421[SWS_CanSM_00421] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_ConfirmPnAvailability gets a TransceiverId,...SWS_CanSM_00422[SWS_CanSM_00422] Upstream requirements: SRS_Can_01142 ⌈If the CanIf module notifies PN availability for a configured CAN...SWS_CanSM_00423[SWS_CanSM_00423], [SWS_CanSM_00430]).SWS_CanSM_00425[SWS_CanSM_00425], [SWS_CanSM_00426]).SWS_CanSM_00426[SWS_CanSM_00426]).SWS_CanSM_00427[SWS_CanSM_00427], [SWS_CanSM_00429],SWS_CanSM_00428[SWS_CanSM_00428] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈All effects of the CanSM state machine CANSM_BSM shall...SWS_CanSM_00429[SWS_CanSM_00429] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The guarding condition G_SILENT_COM_MODE_REQUESTED of...SWS_CanSM_00430[SWS_CanSM_00430] ⌈The effect E_NOCOM of the CanSM_BSM state machine shall change the internally stored network mode (ref.SWS_CanSM_00431[SWS_CanSM_00431] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The effect E_PRE_NOCOM of the CanSM_BSM state machine...SWS_CanSM_00434[SWS_CanSM_00434] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The effect E_FULL_TO_SILENT_COM of the CanSM_BSM state...SWS_CanSM_00435[SWS_CanSM_00435] Upstream requirements: SRS_Can_01158 ⌈After considering [SWS_CanSM_00539] and [SWS_CanSM_00647] in context...SWS_CanSM_00438[SWS_CanSM_00438] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈As long the sub state machine...SWS_CanSM_00444[SWS_CanSM_00444]), this condition shall trigger the sub state machine CANSM_BSM_DeinitPnSupported of the respective network...SWS_CanSM_00445[SWS_CanSM_00445] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈After a timeout of CANSM_MODEREQ_REPEAT_TIME (ref.SWS_CanSM_00446[SWS_CanSM_00446] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈As long the sub state machine...SWS_CanSM_00448[SWS_CanSM_00448] ⌈If CanSM module has got the CANTRCV_TRCVMODE_NORMAL mode indication (ref.SWS_CanSM_00452[SWS_CanSM_00452]), this condition shall trigger the sub state machine CANSM_BSM_DeinitPnSupported of the respective network...SWS_CanSM_00454[SWS_CanSM_00454] ⌈After a timeout of CANSM_MODEREQ_REPEAT_TIME (ref.SWS_CanSM_00458[SWS_CanSM_00458] ⌈As long the sub state machine CANSM_BSM_DeinitPnSupported is in the state S_CHECK_WFLAG_IN_CC_SLEEP, the...SWS_CanSM_00464[SWS_CanSM_00464] ⌈As long the sub state machine CANSM_BSM_DeinitPnNotSupported is in the state S_CC_STOPPED, the CanSM module...SWS_CanSM_00483[SWS_CanSM_00483] has returned E_OK.SWS_CanSM_00484[SWS_CanSM_00484] ⌈The guarding condition G_TRCV_NORMAL_E_OK of the sub state machine CANSM_BSM_S_PRE_FULLCOM shall be passed,...SWS_CanSM_00487[SWS_CanSM_00487] have returned E_OK.SWS_CanSM_00488[SWS_CanSM_00488] ⌈The guarding condition G_CC_STOPPED_OK of the sub state machine CANSM_BSM_S_PRE_FULLCOM shall be passed, if...SWS_CanSM_00498[SWS_CanSM_00498] Upstream requirements: SRS_BSW_00422 ⌈The effect E_BUS_OFF_PASSIVE of the sub state machine...SWS_CanSM_00499The API request CanSM_RequestComMode (ref.SWS_CanSM_00500[SWS_CanSM_00500] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The callback function CanSM_ControllerBusOff (ref.SWS_CanSM_00502The CanSM module shall deny the CanSM_ Set Baudrate API request, if the NetworkHandle parameter does not match to the...SWS_CanSM_00503I If no condition is present to deny the CanSM_SetBaudrate request according to SWS_CANSM_00502 and SWS_CANSM_00505 ,...SWS_CanSM_00504The function CanSM_ Set Baudrate shall call the function Det_ReportError with ErrorId parameter CANSM_E_INVALID_NETWORK_HANDLE...SWS_CanSM_00505The function CanSM_ Set Baudrate shall deny its request, if the requested CAN network is not in the communication mode...SWS_CanSM_00506If the function CanSM_ Set Baudrate is called and the CanSM module is not initialized, then this function shall call the...SWS_CanSM_00507[SWS_CanSM_00507].SWS_CanSM_00508[SWS_CanSM_00508] ⌈The effect E_BUS_OFF of the sub state machine CANSM_BSM_S_FULLCOM shall call at 1st place for the...SWS_CanSM_00509[SWS_CanSM_00509] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈As long the sub state machine CANSM_BSM_S_FULLCOM is in...SWS_CanSM_00516[SWS_CanSM_00516] Upstream requirements: SRS_Can_01158 ⌈If ECU passive is FALSE (ref.SWS_CanSM_00517[SWS_CanSM_00517] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The effect E_TX_ON of the sub state machine...SWS_CanSM_00518[SWS_CanSM_00518] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The effect E_TX_ON of the sub state machine...SWS_CanSM_00521[SWS_CanSM_00521] ⌈The effect E_BUS_OFF of the sub state machine CANSM_BSM_S_FULLCOM shall call at 2nd place for the...SWS_CanSM_00522[SWS_CanSM_00522]).SWS_CanSM_00524[SWS_CanSM_00524]), this shall trigger the sub state machine CANSM_BSM_S_CHANGE_BAUDRATE of the CAN network with...SWS_CanSM_00525[SWS_CanSM_00525] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The guarding condition G_CC_STOPPED_OK of the sub state...SWS_CanSM_00526[SWS_CanSM_00526] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈If CanSM module has got all mode indications (ref.SWS_CanSM_00530The CanSM module shall deny the CanSM_ Set Baudrate API request, if the CanSM module is not initialized.SWS_CanSM_00532[SWS_CanSM_00532] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈As long the sub state machine...SWS_CanSM_00538[SWS_CanSM_00538] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The effect E_FULL_TO_SILENT_COM of the CanSM_BSM state...SWS_CanSM_00539If ECU passive is FALSE (ref.SWS_CanSM_00540[SWS_CanSM_00540] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈After considering [SWS_CanSM_00435] in context of the...SWS_CanSM_00541[SWS_CanSM_00541] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The effect E_FULL_TO_SILENT_COM of the CanSM_BSM state...SWS_CanSM_00542[SWS_CanSM_00542],SWS_CanSM_00543[SWS_CanSM_00543],SWS_CanSM_00546[SWS_CanSM_00546] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ConfirmPnAvailability shall notify the Can_Nm...SWS_CanSM_00555[SWS_CanSM_00555] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The CanSM module shall deny the API...SWS_CanSM_00560[SWS_CanSM_00560] Upstream requirements: SRS_Can_01145 ⌈If no CanSMTransceiverId (ref.SWS_CanSM_00569The CanSM module shall provide the API function CanSM_ Set Baudrate , if the CANSM_SET_BAUDRATE_API parameter (ref.SWS_CanSM_00570[SWS_CanSM_00570] Upstream requirements: SRS_Can_01142 ⌈The CanSM module shall not provide the API function CanSM_SetBaudrate,...SWS_CanSM_00578[SWS_CanSM_00578] ⌈As long the sub state machine CANSM_BSM_S_TX_TIMEOUT_EXCEPTION is in the state S_CC_STOPPED, the CanSM...SWS_CanSM_00581[SWS_CanSM_00581] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The guarding condition G_CC_STARTED_E_OK of the sub...SWS_CanSM_00582[SWS_CanSM_00582] have returned E_OK.SWS_CanSM_00584[SWS_CanSM_00584] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The callback function CanSM_TxTimeoutException (ref.SWS_CanSM_00605[SWS_CanSM_00605] Upstream requirements: SRS_BSW_00422 ⌈The effect E_BUS_OFF of the sub state machine CANSM_BSM_S_FULLCOM...SWS_CanSM_00606[SWS_CanSM_00606] ⌈The callback function CanSM_ControllerBusOff (ref.SWS_CanSM_00607[SWS_CanSM_00607]) for the state machine of the related network, if the CanSM module is initialized and the requested handle...SWS_CanSM_00608[SWS_CanSM_00608]) for the state ma- chine of the related network, if the CanSM module is initialized and the requested handle...SWS_CanSM_00611[SWS_CanSM_00611] Upstream requirements: SRS_Can_01145 ⌈The API function CanSM_StartWakeupSource shall return E_NOT_OK, if the...SWS_CanSM_00612[SWS_CanSM_00612] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StartWakeupSource shall return E_NOT_OK, if the...SWS_CanSM_00613[SWS_CanSM_00613] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StartWakeupSource shall call the function...SWS_CanSM_00616[SWS_CanSM_00616] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StartWakeupSource shall return E_OK and it shall be...SWS_CanSM_00617[SWS_CanSM_00617] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StartWakeupSource shall call the function Det_Re-...SWS_CanSM_00618[SWS_CanSM_00618] Upstream requirements: SRS_Can_01145 ⌈The API function CanSM_StopWakeupSource shall return E_NOT_OK, if the...SWS_CanSM_00619[SWS_CanSM_00619] ⌈The function CanSM_StopWakeupSource shall call the func- tion Det_ReportError (ref.SWS_CanSM_00620[SWS_CanSM_00620] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StopWakeupSource shall return E_NOT_OK, if the...SWS_CanSM_00621[SWS_CanSM_00621] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StopWakeupSource shall call the function...SWS_CanSM_00622[SWS_CanSM_00622] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StopWakeupSource shall return E_OK and it shall be...SWS_CanSM_00623[SWS_CanSM_00623] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈If for the CAN network a CAN Transceiver is configured...SWS_CanSM_00629[SWS_CanSM_00629]), this condition shall trigger the sub state machine CANSM_BSM_WUVALIDATION of the respective network with...SWS_CanSM_00630[SWS_CanSM_00630] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈After a timeout of CANSM_MODEREQ_REPEAT_TIME (ref.SWS_CanSM_00635[SWS_CanSM_00635]) and the stored communica- tion mode request is COMM_NO_COMMUNICATION, then the effect E_NOCOM of the...SWS_CanSM_00638[SWS_CanSM_00638] Upstream requirements: SRS_Can_01145 ⌈The CanSM module shall store after every successful CAN controller...SWS_CanSM_00639[SWS_CanSM_00639] ⌈The state operation DO_SET_BAUDRATE_DIRECT shall call the API request CanIf_SetBaudrate (ref.SWS_CanSM_00641[SWS_CanSM_00641] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈If all CanIf_SetBaudrate (ref.SWS_CanSM_00645[SWS_CanSM_00645] Upstream requirements: SRS_Can_01158 ⌈The CanSM module shall provide the API function CanSM_SetEcuPassive,...SWS_CanSM_00646[SWS_CanSM_00646]), then the effect E_TX_ON of the sub state machine CANSM_BSM_S_FULLCOM shall call at 1st place for the...SWS_CanSM_00647[SWS_CanSM_00647] Upstream requirements: SRS_Can_01158 ⌈If ECU passive is TRUE (ref.SWS_CanSM_00648[SWS_CanSM_00648] Upstream requirements: SRS_Can_01158 ⌈If ECU passive is TRUE (ref.SWS_CanSM_00649[SWS_CanSM_00649] Upstream requirements: SRS_Can_01158 ⌈When CanSM_SetEcuPassive is called with CanSM_Passive=true; (ref.SWS_CanSM_00650[SWS_CanSM_00650] Upstream requirements: SRS_Can_01158 ⌈If CanSM_SetEcuPassive called with CanSM_Passive=false; (ref.SWS_CanSM_00651[SWS_CanSM_00651] ⌈If a communication mode request for the network is present already (ref.SWS_CanSM_00652[SWS_CanSM_00652] [SRS_ModeMgm_- 09221] The Watchdog Manager shall check the correct sequence of code execution in supervised...SWS_CanSM_00653[SWS_CanSM_00653] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈If more than one CAN controller belongs to one CAN...SWS_CanSM_00654Type of error Related error code Error value API service used without module initialization CANSM_ E_ UNINIT 0x01 API service...SWS_CanSM_00655If the sub state machine CANSM_BSM_S_TX_TIMEOUT_EXCEPTION (ref.SWS_CanSM_00656If the CanSM needs informations about the actual PduMode, the CanSM shall call the API CanIf_GetPduMode to get the current Pdu...SWS_CanSM_00658If the CanSM module is reque sted with the function CanSM_DeInit, this shall trigger the CanSM state machines (ref.SWS_CanSM_00660If development error detection for the CanSM module is enabled: The function CanSM_DeInit shall raise the error...SWS_CanSM_00664Type of error Related error code Error value Mode request for a network failed more often than allowed by configuration CANSM_...SWS_CanSM_00666: Bus - off detection Long Description: The bus - off recovery st ate machine of a CAN network has detected a certain amount...SWS_CanSM_00667[SWS_CanSM_00667] Status: DRAFT Upstream requirements: SRS_Can_01142 ⌈If the CanIf module notifies PN availability for a...SWS_CanSM_00668[SWS_CanSM_00668] Status: DRAFT Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ConfirmCtrlPnAvailability shall...SWS_CanSM_00669[SWS_CanSM_00669] Status: DRAFT Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ConfirmCtrlPnAvailability shall...SWS_CanSM_00670[SWS_CanSM_00670] Status: DRAFT Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_ConfirmCtrlPnAvailability gets a...SWS_CanSM_91002[SWS_CanSM_91002]) with the parameters Channel := CanSM- ComMNetworkHandleRef (ref.SWS_CanSM_91003CanIf_SetBaudrate CanIf.
Funktionen & Typen — Detailansicht
functie CanSM_Init [SWS_CanSM_00023] 📄 PDF
void CanSM_Init(const CanSM_ConfigType* ConfigPtr);
This service initializes the Can SM module
functie CanSM_GetVersionInfo [SWS_CanSM_00024] 📄 PDF
void CanSM_GetVersionInfo(Std_VersionInfoType* VersionInfo);
This service puts out the version information of this module (module ID, vendor ID, vendor specific version numbers related to BSW00407)
functie CanSM_RequestComMode [SWS_CanSM_00062] 📄 PDF
Std_ReturnType CanSM_RequestComMode(NetworkHandleType network, ComM_ModeType ComM_Mode);
This service shall change the communication mode of a CAN network to the requested one.
functie CanSM_GetCurrentComMode [SWS_CanSM_00063] 📄 PDF
Std_ReturnType CanSM_GetCurrentComMode(NetworkHandleType network, ComM_ModeType* ComM_ModePtr);
This service shall put out the current communication mode of a CAN network.
functie CanSM_ControllerBusOff [SWS_CanSM_00064] 📄 PDF
void CanSM_ControllerBusOff(uint8 ControllerId);
This callback function notifies the Can SM about a bus - off event on a certain CAN controller, which needs to be considered with the specified bus - off recovery handling for th e impacted CAN network.
functie CanSM_MainFunction [SWS_CanSM_00065] 📄 PDF
void CanSM_MainFunction(void);
Scheduled function of the Can SM
functie CanSM_ControllerModeIndication [SWS_CanSM_00396] 📄 PDF
void CanSM_ControllerModeIndication(uint8 ControllerId, Can_ControllerStateType ControllerMode);
This callback shall notify the Can SM module about a CAN controller mode change.
functie CanSM_TransceiverModeIndication [SWS_CanSM_00399] 📄 PDF
void CanSM_TransceiverModeIndication(uint8 TransceiverId, CanTrcv_TrcvModeType TransceiverMode);
This callback shall notify the Can SM module about a CAN transceiver mode change.
functie CanSM_TxTimeoutException [SWS_CanSM_00410] 📄 PDF
void CanSM_TxTimeoutException(NetworkHandleType Channel);
This function shall notify the Can SM module, that the Can Nm has detected for the affected partial CAN network a tx timeout exception, which shall be recovered within the respective network state machine of the Can SM module.
functie CanSM_ClearTrcvWufFlagIndication [SWS_CanSM_00413] 📄 PDF
void CanSM_ClearTrcvWufFlagIndication(uint8 Transceiver);
This callback function shall indicate the Can If_ Clear Trcv Wuf Flag API process end for the notified CAN Transceiver.
functie CanSM_CheckTransceiverWakeFlagIndication [SWS_CanSM_00416] 📄 PDF
void CanSM_CheckTransceiverWakeFlagIndication(uint8 Transceiver);
This callback function indicates the Can If_ Check Trcv Wake Flag API process end for the notified CAN Transceiver.
functie CanSM_ConfirmPnAvailability [SWS_CanSM_00419] 📄 PDF
void CanSM_ConfirmPnAvailability(uint8 TransceiverId);
This callback function indicates that the transceiver is running in PN communication mode.
functie CanSM_SetBaudrate [SWS_CanSM_00561] 📄 PDF
Std_ReturnType CanSM_SetBaudrate(NetworkHandleType Network, uint16 BaudRateConfig ID); ⚠️
This service shall start an asynchronous process to change the baud rate for the configured CAN controllers of a certain CAN network. Depending on necessary baud rate modifications the controllers might have to reset.
functie CanSM_SetIcomConfiguration [SWS_CanSM_00586] 📄 PDF
Std_ReturnType CanSM_SetIcomConfiguration(NetworkHandleType Network, IcomConfigIdType ConfigurationId);
This service shall change the Icom Configuration of a CAN network to the requested one.
functie CanSM_CurrentIcomConfiguration [SWS_CanSM_00587] 📄 PDF
void CanSM_CurrentIcomConfiguration(uint8 ControllerId, IcomConfigIdType ConfigurationId, IcomSwitch_ErrorType Error);
This service shall inform about the change of the Icom Configuration of a CAN network.
functie CanSM_StartWakeupSource [SWS_CanSM_00609] 📄 PDF
Std_ReturnType CanSM_StartWakeupSource(NetworkHandleType network);
This function shall be called by Ecu M when a wakeup source shall be started.
functie CanSM_StopWakeupSource [SWS_CanSM_00610] 📄 PDF
Std_ReturnType CanSM_StopWakeupSource(NetworkHandleType network);
This function shall be called by Ecu M when a wakeup source shall be stopped.
functie <User_Get Bus Off Delay> [SWS_CanSM_00637] 📄 PDF
void <User_Get Bus Off Delay>(NetworkHandleType network, uint8* delayCyclesPtr);
This callout function returns the number of Can SM base cycles to wait additionally to L1/ L2 after a Bus Off occurred.
functie CanSM_SetEcuPassive [SWS_CanSM_00644] 📄 PDF
Std_ReturnType CanSM_SetEcuPassive(boolean CanSM_Passive);
Service Name Can SM_ Set Ecu Passive Syntax Std_ Return Type Can SM_ Set Ecu Passive ( boolean Can SM_ Passive ) Service ID [hex] 0x13 Sync/ Async Synchronous Reentrancy Non Reentrant Parameters (in) Can SM_ Passive TRUE: set all Can SM channels to passive, i.e. receive only FALSE: set all Can SM channels back to non - passive Parameters (inout) None Parameters (out) None Return value Std _ Return - E_ OK: Request accepted Type E_ NOT_ OK: Request not accepted Descr iption This function can be used to set all Can SM channels of the ECU to a receive only mode. Available via Can SM.h
functie CanSM_DeInit [SWS_CanSM_91001] 📄 PDF
void CanSM_DeInit(void);
This service de - initializes the Can SM module.
functie CanSM_ConfirmCtrlPnAvailability [SWS_CanSM_91004] 📄 PDF
void CanSM_ConfirmCtrlPnAvailability(uint8 ControllerId);
This callback function indicates that the controller is running in PN communication mode. Tags: atp.Status=draft
type CanSM_StateType [SWS_CanSM_00596] 📄 PDF
Defines the values of the internal states of the Can SM module
type CanSM_ConfigType [SWS_CanSM_00597] 📄 PDF
This type defines a data structure for the post build parameters of the Can SM. At initialization the Can SM gets a pointer to a structure of this type to get access to its configuration data, which is neces sary for initialization. Available Can SM.h via
type CanSM_BswMCurrentStateType [SWS_CanSM_00598] 📄 PDF
Can specific communication modes / states notified to the Bsw M module
requirement SWS_CanSM_00167 [SWS_CanSM_00167] 📄 PDF
[SWS_CanSM_00167] ⌈The main function of the CanSM module shall operate the effects of the CanSM state machine, which the CanSM module shall implement for each configured CAN Network.⌋(SRS_BSW_00424, SRS_BSW_00425, SRS_Can_- 01145, SRS_Can_01142)
requirement SWS_CanSM_00182 [SWS_CanSM_00182] 📄 PDF
[SWS_CanSM_00182] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈If the function CanSM_RequestComMode accepts the request, the request shall be considered by the CanSM state machine (ref. to [SWS_CanSM_00635]).⌋
requirement SWS_CanSM_00183 [SWS_CanSM_00183] 📄 PDF
[SWS_CanSM_00183] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The function CanSM_RequestComMode shall call the function Det_ReportError (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_INVALID_NET- WORK_HANDLE, if it does not accept the network handle of the request.⌋
requirement SWS_CanSM_00184 [SWS_CanSM_00184] 📄 PDF
[SWS_CanSM_00184] Upstream requirements: SRS_BSW_00406 ⌈If the CanSM module is not initialized, when the function CanSM_RequestCom- Mode is called, then this function shall call the function Det_ReportError (ref. to
requirement SWS_CanSM_00186 [SWS_CanSM_00186] 📄 PDF
[SWS_CanSM_00186] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall put out the current communication mode for the network (ref. to [SWS_CanSM_00266]) to the designated pointer of type mode, if it accepts the request.⌋
requirement SWS_CanSM_00187 [SWS_CanSM_00187] 📄 PDF
[SWS_CanSM_00187] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall call the function Det_ReportEr- ror (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_INVALID_ NETWORK_HANDLE, if it does not accept the network of the request.⌋
requirement SWS_CanSM_00188 [SWS_CanSM_00188] 📄 PDF
[SWS_CanSM_00188] Upstream requirements: SRS_Can_01142 ⌈If the CanSM module is not initialized (ref. to [SWS_CanSM_00282]), when the function CanSM_GetCurrentComMode is called, then this function shall call the func- tion Det_ReportError (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_UNINIT.⌋
requirement SWS_CanSM_00189 [SWS_CanSM_00189] 📄 PDF
[SWS_CanSM_00189] Upstream requirements: SRS_BSW_00359, SRS_BSW_00333 ⌈If the function CanSM_ControllerBusOff gets a Controller, which is not configured as CanSMControllerId in the configuration of the CanSM module, it shall call the function Det_ReportError (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_PARAM_CONTROLLER.⌋
requirement SWS_CanSM_00190 [SWS_CanSM_00190] 📄 PDF
[SWS_CanSM_00190] Upstream requirements: SRS_BSW_00359, SRS_BSW_00333 ⌈If the CanSM module is not initialized, when the function CanSM_ControllerBu- sOff is called, then the function CanSM_ControllerBusOff shall call the func- tion Det_ReportError (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_UNINIT.⌋
requirement SWS_CanSM_00235 [SWS_CanSM_00235] 📄 PDF
[SWS_CanSM_00235] Upstream requirements: SRS_BSW_00359, SRS_BSW_00333 ⌈If the CanSM module is initialized and the input parameter Controller is one of the CAN controllers configured with the parameter CanSMControllerId, this bus-off event shall be considered by the CAN Network state machine (ref. to
requirement SWS_CanSM_00243 [SWS_CanSM_00243] 📄 PDF
Module Header File Imported Type Can Can_ General Types.h Can _ Controller State Type Can If Can If.h Can If _ Notif Status Type Can If.h Can If _ Pdu Mode Type Can Trcv Can_ General Types.h Can Trcv _ Trcv Mode Type Com M Rte_ Com M_ Type.h Com M _ Mode Type Com Stack_ Types Com Stack_ Types.h Network Handle Type Dem Rte_ Dem_ Type.h Dem _ Event Id Type Rte_ Dem_ Type.h Dem _ Event Status Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type
requirement SWS_CanSM_00266 [SWS_CanSM_00266] 📄 PDF
[SWS_CanSM_00266] Upstream requirements: SRS_Can_01142 ⌈The CanSM module shall store the current network mode for each configured CAN network internally (ref. to [ECUC_CanSM_00126]).⌋
requirement SWS_CanSM_00278 [SWS_CanSM_00278] 📄 PDF
[SWS_CanSM_00278] Upstream requirements: SRS_Can_01142 ⌈If the CanSM state machine CANSM_BSM is in the state CANSM_BSM_S_NOT_INITIALIZED, it shall deny network mode requests from the ComM module (ref. to [SWS_CanSM_00062]).⌋
requirement SWS_CanSM_00282 [SWS_CanSM_00282] 📄 PDF
[SWS_CanSM_00282] Upstream requirements: SRS_Can_01142 ⌈The CanSM module shall return E_NOT_OK for the API request CanSM_- GetCurrentComMode until the call of the provided API CanSM_Init (ref. to
requirement SWS_CanSM_00284 [SWS_CanSM_00284] 📄 PDF
[SWS_CanSM_00284] Upstream requirements: SRS_Can_01142 ⌈The internally stored network modes of the CanSM module can have the values COMM_NO_COMMUNICATION, COMM_SILENT_COMMUNICATION, COMM_FULL_COMMUNICATION.⌋
requirement SWS_CanSM_00360 [SWS_CanSM_00360] 📄 PDF
[SWS_CanSM_00360] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall report the development error CANSM_E_PARAM_POINTER to the DET, if the user of this function hands over a NULL- pointer as mode.⌋
requirement SWS_CanSM_00369 [SWS_CanSM_00369] 📄 PDF
[SWS_CanSM_00369] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The function CanSM_RequestComMode shall accept its request, if the NetworkHan- dle parameter of the request is a handle contained in the configuration of the CanSM module (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00370 [SWS_CanSM_00370] 📄 PDF
[SWS_CanSM_00370] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The function CanSM_RequestComMode shall deny its request, if the NetworkHandle parameter of the request is not a handle contained in the configuration of the CanSM module (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00371 [SWS_CanSM_00371] 📄 PDF
[SWS_CanSM_00371] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall accept its request, if the network parameter of the request is a handle contained in the configuration of the CanSM module (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00372 [SWS_CanSM_00372] 📄 PDF
[SWS_CanSM_00372] Upstream requirements: SRS_Can_01142 ⌈The function CanSM_GetCurrentComMode shall deny its request, if the network parameter of the request is not a handle contained in the configuration of the CanSM module (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00374 [SWS_CanSM_00374] 📄 PDF
The function CanSM_GetVersionInfo shall report the development error CANSM_E_PARAM_POINTER to the DET, if the user of this function hands over a NULL - pointer as VersionInfo .
requirement SWS_CanSM_00385 [SWS_CanSM_00385] 📄 PDF
[SWS_CanSM_00385] Upstream requirements: SRS_Can_01142 ⌈If CanSM has repeated one of the CanIf API calls CanIf_SetControllerMode (ref. to [SWS_CanSM_91002]), CanIf_SetTrcvMode (ref. to [SWS_CanSM_91002]), CanIf_ClearTrcvWufFlag (ref.
requirement SWS_CanSM_00397 [SWS_CanSM_00397] 📄 PDF
[SWS_CanSM_00397] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_ControllerModeIndication gets a ControllerId, which is not configured as CanSMControllerId in the configuration of the CanSM module, it shall call the function Det_ReportError (ref. to [SWS_CanSM_91003]) with Er- rorId parameter CANSM_E_PARAM_CONTROLLER.⌋
requirement SWS_CanSM_00398 [SWS_CanSM_00398] 📄 PDF
[SWS_CanSM_00398] Upstream requirements: SRS_Can_01145 ⌈If the CanSM module is not initialized, when the function CanSM_ControllerMod- eIndication is called, then the function CanSM_ControllerModeIndication shall call the function Det_ReportError (ref. to [SWS_CanSM_91003]) with Er- rorId parameter CANSM_E_UNINIT.⌋
requirement SWS_CanSM_00400 [SWS_CanSM_00400] 📄 PDF
[SWS_CanSM_00400] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_TransceiverModeIndication gets a TransceiverId, which is not configured as CanSMTransceiverId in the configuration of the CanSM module, it shall call the function Det_ReportError (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_PARAM_TRANSCEIVER.⌋
requirement SWS_CanSM_00401 [SWS_CanSM_00401] 📄 PDF
[SWS_CanSM_00401] Upstream requirements: SRS_Can_01145 ⌈If the CanSM module is not initialized, when the function CanSM_TransceiverMod- eIndication is called, then the function CanSM_TransceiverModeIndication shall call the function Det_ReportError (ref. to [SWS_CanSM_91003]) with Er- rorId parameter CANSM_E_UNINIT.⌋
requirement SWS_CanSM_00411 [SWS_CanSM_00411] 📄 PDF
[SWS_CanSM_00411] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_TxTimeoutException shall report CANSM_E_UNINIT to the DET, if the CanSM module is not initialized yet.⌋
requirement SWS_CanSM_00412 [SWS_CanSM_00412] 📄 PDF
[SWS_CanSM_00412] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_TxTimeoutException is referenced with a Channel, which is not configured as CanSMNetworkHandle in the CanSM configuration, it shall report CANSM_E_INVALID_NETWORK_HANDLE to the DET.⌋ Remarks: Reentrancy is necessary for different Channels.
requirement SWS_CanSM_00414 [SWS_CanSM_00414] 📄 PDF
[SWS_CanSM_00414] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ClearTrcvWufFlagIndication shall report CANSM_E_- UNINIT to the DET, if the CanSM module is not initialized yet.⌋
requirement SWS_CanSM_00415 [SWS_CanSM_00415] 📄 PDF
[SWS_CanSM_00415] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_ClearTrcvWufFlagIndication gets a TransceiverId, which is not configured (ref. to [ECUC_CanSM_00137]) in the configuration of the CanSM module, it shall call the function Det_ReportError (ref. to
requirement SWS_CanSM_00417 [SWS_CanSM_00417] 📄 PDF
[SWS_CanSM_00417] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_CheckTransceiverWakeFlagIndication shall report CANSM_E_UNINIT to the DET, if the CanSM module is not initialized yet.⌋
requirement SWS_CanSM_00418 [SWS_CanSM_00418] 📄 PDF
[SWS_CanSM_00418] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_CheckTransceiverWakeFlagIndication gets a TransceiverId, which is not configured (ref. to [ECUC_CanSM_00137]) in the con- figuration of the CanSM module, it shall call the function Det_ReportError (ref. to
requirement SWS_CanSM_00420 [SWS_CanSM_00420] 📄 PDF
[SWS_CanSM_00420] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ConfirmPnAvailability shall report CANSM_E_UNINIT to the DET, if the CanSM module is not initialized yet.⌋
requirement SWS_CanSM_00421 [SWS_CanSM_00421] 📄 PDF
[SWS_CanSM_00421] Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_ConfirmPnAvailability gets a TransceiverId, which is not configured (ref. to [ECUC_CanSM_00137]) in the configuration of the CanSM module, it shall call the function Det_ReportError (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_PARAM_TRANSCEIVER.⌋
requirement SWS_CanSM_00422 [SWS_CanSM_00422] 📄 PDF
[SWS_CanSM_00422] Upstream requirements: SRS_Can_01142 ⌈If the CanIf module notifies PN availability for a configured CAN Transceiver to the CanSM module with the callback function CanSM_ConfirmPnAvailability (ref. to [SWS_CanSM_00419]), then the CanSM module shall call the API CanNm_Con- firmPnAvailability (ref. to [SWS_CanSM_91002]) with the related CAN network as channel to confirm the PN availability to the CanNm module.⌋
requirement SWS_CanSM_00423 [SWS_CanSM_00423] 📄 PDF
[SWS_CanSM_00423], [SWS_CanSM_00430]).⌋
requirement SWS_CanSM_00425 [SWS_CanSM_00425] 📄 PDF
[SWS_CanSM_00425], [SWS_CanSM_00426]).⌋
requirement SWS_CanSM_00426 [SWS_CanSM_00426] 📄 PDF
[SWS_CanSM_00426]).⌋
requirement SWS_CanSM_00427 [SWS_CanSM_00427] 📄 PDF
[SWS_CanSM_00427], [SWS_CanSM_00429],
requirement SWS_CanSM_00428 [SWS_CanSM_00428] 📄 PDF
[SWS_CanSM_00428] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈All effects of the CanSM state machine CANSM_BSM shall be operated in the context of the CanSM main function (ref. to [SWS_CanSM_00065]).⌋
requirement SWS_CanSM_00429 [SWS_CanSM_00429] 📄 PDF
[SWS_CanSM_00429] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The guarding condition G_SILENT_COM_MODE_REQUESTED of the CanSM_BSM state machine shall evaluate, if the latest accepted communication mode request with CanSM_RequestComMode (ref. to [SWS_CanSM_00635]) for the respective net- work handle of the state machine has been with the parameter ComM_Mode equal to COMM_SILENT_COMMUNICATION.⌋
requirement SWS_CanSM_00430 [SWS_CanSM_00430] 📄 PDF
[SWS_CanSM_00430] ⌈The effect E_NOCOM of the CanSM_BSM state machine shall change the internally stored network mode (ref. to [SWS_CanSM_00266]) of the addressed CAN network to COMM_NO_COMMUNICATION.⌋(SRS_Can_01142, SRS_- Can_01145)
requirement SWS_CanSM_00431 [SWS_CanSM_00431] 📄 PDF
[SWS_CanSM_00431] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The effect E_PRE_NOCOM of the CanSM_BSM state machine shall call for the corresponding CAN network the API BswM_CanSM_CurrentState (ref. to
requirement SWS_CanSM_00434 [SWS_CanSM_00434] 📄 PDF
[SWS_CanSM_00434] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The effect E_FULL_TO_SILENT_COM of the CanSM_BSM state machine shall call at 1st place for the corresponding CAN network the API BswM_CanSM_CurrentState (ref. to [SWS_CanSM_91002]) with the parameters Network := CanSMComMNet- workHandleRef and CurrentState := CANSM_BSWM_SILENT_COMMUNICATION.⌋
requirement SWS_CanSM_00435 [SWS_CanSM_00435] 📄 PDF
[SWS_CanSM_00435] Upstream requirements: SRS_Can_01158 ⌈After considering [SWS_CanSM_00539] and [SWS_CanSM_00647] in context of the effect E_FULL_COM of the CanSM_BSM state machine, the CanSM module shall call the API ComM_BusSM_ModeIndication (ref. to [SWS_CanSM_91002]) for the corresponding CAN network with the parameters Channel := CanSM- ComMNetworkHandleRef (ref. to [ECUC_CanSM_00161]) and ComMode := COMM_FULL_COMMUNICATION.⌋
requirement SWS_CanSM_00438 [SWS_CanSM_00438] 📄 PDF
[SWS_CanSM_00438] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈As long the sub state machine CANSM_BSM_DeinitPnSupported is in the state S_PN_CLEAR_WUF, the CanSM module operate the do action DO_CLEAR_TRCV_WUF and therefore repeat the API request CanIf_ClearTrcvWufFlag and use the con- figured Transceiver (ref. to [ECUC_CanSM_00137]) as API function parameter.⌋
requirement SWS_CanSM_00444 [SWS_CanSM_00444] 📄 PDF
[SWS_CanSM_00444]), this condition shall trigger the sub state machine CANSM_BSM_DeinitPnSupported of the respective network with T_CC_STOPPED_TIMEOUT.⌋
requirement SWS_CanSM_00445 [SWS_CanSM_00445] 📄 PDF
[SWS_CanSM_00445] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈After a timeout of CANSM_MODEREQ_REPEAT_TIME (ref. to [ECUC_CanSM_00336]) for all supposed controller stopped mode indications (ref. to [SWS_CanSM_00444]), this condition shall trigger the sub state machine CANSM_BSM_DeinitPnSupported of the respective network with T_CC_STOPPED_TIMEOUT.⌋
requirement SWS_CanSM_00446 [SWS_CanSM_00446] 📄 PDF
[SWS_CanSM_00446] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈As long the sub state machine CANSM_BSM_DeinitPnSupported is in the state S_TRCV_NORMAL, the CanSM module shall operate the do ac- tion DO_SET_TRCV_MODE_NORMAL and therefore repeat for the configured CAN Transceiver of the CAN network (ref. to [ECUC_CanSM_00137]) the API request CanIf_SetTrcvMode (ref. to [SWS_CanSM_91002]) with TransceiverMode equal to CANTRCV_TRCVMODE_NORMAL.⌋
requirement SWS_CanSM_00448 [SWS_CanSM_00448] 📄 PDF
[SWS_CanSM_00448] ⌈If CanSM module has got the CANTRCV_TRCVMODE_NORMAL mode indication (ref. to
requirement SWS_CanSM_00452 [SWS_CanSM_00452] 📄 PDF
[SWS_CanSM_00452]), this condition shall trigger the sub state machine CANSM_BSM_DeinitPnSupported of the respective network with T_TRCV_STANDBY_TIMEOUT.⌋(SRS_Can_01142, SRS_Can_01145)
requirement SWS_CanSM_00454 [SWS_CanSM_00454] 📄 PDF
[SWS_CanSM_00454] ⌈After a timeout of CANSM_MODEREQ_REPEAT_TIME (ref. to [ECUC_CanSM_00336]) for the supposed transceiver standby indication (ref. to
requirement SWS_CanSM_00458 [SWS_CanSM_00458] 📄 PDF
[SWS_CanSM_00458] ⌈As long the sub state machine CANSM_BSM_DeinitPnSupported is in the state S_CHECK_WFLAG_IN_CC_SLEEP, the CanSM module operate the do action DO_CHECK_WFLAG and therefore repeat the API request CanIf_CheckTrcvWakeFlag (ref. [SWS_CanSM_91002]) and use the configured CAN Transceiver of the related Network (ref. to [ECUC_CanSM_00137]) as Transceiver parameter.⌋(SRS_Can_01142, SRS_Can_01145)
requirement SWS_CanSM_00464 [SWS_CanSM_00464] 📄 PDF
[SWS_CanSM_00464] ⌈As long the sub state machine CANSM_BSM_DeinitPnNotSupported is in the state S_CC_STOPPED, the CanSM module shall operate the do action DO_SET_CC_MODE_STOPPED and therefore repeat for all configured CAN controllers of the CAN network (ref. to [ECUC_CanSM_00141]) the API request CanIf_SetControllerMode (ref. to [SWS_CanSM_91002]) with ControllerMode equal to CAN_CS_STOPPED, if the current CAN controller mode (ref. to [SWS_CanSM_00638]) is different.⌋(SRS_Can_01142, SRS_Can_01145)
requirement SWS_CanSM_00483 [SWS_CanSM_00483] 📄 PDF
[SWS_CanSM_00483] has returned E_OK.⌋(SRS_Can_01145, SRS_Can_01142)
requirement SWS_CanSM_00484 [SWS_CanSM_00484] 📄 PDF
[SWS_CanSM_00484] ⌈The guarding condition G_TRCV_NORMAL_E_OK of the sub state machine CANSM_BSM_S_PRE_FULLCOM shall be passed, if the API call of
requirement SWS_CanSM_00487 [SWS_CanSM_00487] 📄 PDF
[SWS_CanSM_00487] have returned E_OK.⌋(SRS_Can_01145, SRS_Can_01142)
requirement SWS_CanSM_00488 [SWS_CanSM_00488] 📄 PDF
[SWS_CanSM_00488] ⌈The guarding condition G_CC_STOPPED_OK of the sub state machine CANSM_BSM_S_PRE_FULLCOM shall be passed, if all API calls of
requirement SWS_CanSM_00498 [SWS_CanSM_00498] 📄 PDF
[SWS_CanSM_00498] Upstream requirements: SRS_BSW_00422 ⌈The effect E_BUS_OFF_PASSIVE of the sub state machine CANSM_BSM_S_FULLCOM shall invocate Dem_SetEventStatus (ref. to [SWS_CanSM_91002]) with the pa- rameters EventId := CANSM_E_BUS_OFF (ref. to [ECUC_CanSM_00070]) and EventStatus := DEM_EVENT_STATUS_PASSED.⌋
requirement SWS_CanSM_00499 [SWS_CanSM_00499] 📄 PDF
The API request CanSM_RequestComMode (ref. to SWS_CanSM_00635 ) with the parameter ComM_Mode equal to COMM_SILENT_COMMUNICATION shall trigger the sub state machine CANSM_BSM_S_FULLCO M (ref. to Figure 7 - 1 ) with T_SILENT_COM_MODE_REQUEST , which corresponds to the function parameter network and the configuration parameter CANSM_NETWORK_HANDLE (ref. to ECUC_CanSM_00161 ).
requirement SWS_CanSM_00500 [SWS_CanSM_00500] 📄 PDF
[SWS_CanSM_00500] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The callback function CanSM_ControllerBusOff (ref. to [SWS_CanSM_00064]) shall trigger the sub state machine CANSM_BSM_S_FULLCOM for the CAN network with T_BUS_OFF, if one of its configured CAN controllers matches to the function parameter ControllerId of the callback function CanSM_ControllerBusOff.⌋
requirement SWS_CanSM_00502 [SWS_CanSM_00502] 📄 PDF
The CanSM module shall deny the CanSM_ Set Baudrate API request, if the NetworkHandle parameter does not match to the configured Network handles of the CanSM module (ref. to E CUC_CanSM_00161 ) .
requirement SWS_CanSM_00503 [SWS_CanSM_00503] 📄 PDF
I If no condition is present to deny the CanSM_SetBaudrate request according to SWS_CANSM_00502 and SWS_CANSM_00505 , SWS_CANSM_00530 , then the CanSM module shall return E_OK and operate the process for the requested baud rate change as specified with SWS_CANSM_00507 .
requirement SWS_CanSM_00504 [SWS_CanSM_00504] 📄 PDF
The function CanSM_ Set Baudrate shall call the function Det_ReportError with ErrorId parameter CANSM_E_INVALID_NETWORK_HANDLE (ref. to chapter 7.3 ), if it does not accept t he network handle of the request.
requirement SWS_CanSM_00505 [SWS_CanSM_00505] 📄 PDF
The function CanSM_ Set Baudrate shall deny its request, if the requested CAN network is not in the communication mode COMM_FULL_COMMUNICATION .
requirement SWS_CanSM_00506 [SWS_CanSM_00506] 📄 PDF
If the function CanSM_ Set Baudrate is called and the CanSM module is not initialized, then this function shall call the function Det_ReportError w ith ErrorId parameter CANSM_E_UNINIT (ref. to chapter 7.3 ).
requirement SWS_CanSM_00507 [SWS_CanSM_00507] 📄 PDF
[SWS_CanSM_00507].⌋
requirement SWS_CanSM_00508 [SWS_CanSM_00508] 📄 PDF
[SWS_CanSM_00508] ⌈The effect E_BUS_OFF of the sub state machine CANSM_BSM_S_FULLCOM shall call at 1st place for the corresponding CAN net- work the API BswM_CanSM_CurrentState (ref. to [SWS_CanSM_91002]) with the parameters Network := CanSMComMNetworkHandleRef and CurrentState := CANSM_BSWM_BUS_OFF.⌋(SRS_Can_01145, SRS_Can_01142)
requirement SWS_CanSM_00509 [SWS_CanSM_00509] 📄 PDF
[SWS_CanSM_00509] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈As long the sub state machine CANSM_BSM_S_FULLCOM is in the state S_RESTART_CC, the CanSM module shall operate the do action DO_SET_CC_MODE_STARTED and therefore repeat for all configured CAN controllers of the CAN network (ref. to [ECUC_CanSM_00141]) the API request CanIf_Set- ControllerMode (ref. to [SWS_CanSM_91002]) with ControllerMode equal to CAN_CS_STARTED, if the current CAN controller mode (ref. to [SWS_CanSM_00638]) is different.⌋
requirement SWS_CanSM_00516 [SWS_CanSM_00516] 📄 PDF
[SWS_CanSM_00516] Upstream requirements: SRS_Can_01158 ⌈If ECU passive is FALSE (ref. to [SWS_CanSM_00646]), then the effect E_TX_ON of the sub state machine CANSM_BSM_S_FULLCOM shall call at 1st place for the config- ured CAN controllers of the CAN network (ref. to [ECUC_CanSM_00141]) the API function CanIf_SetPduMode (ref. to [SWS_CanSM_91002]) with the parameters ControllerId := CanSMControllerId (ref. to [ECUC_CanSM_00141]) and Pdu- ModeRequest := CANIF_ONLINE.⌋
requirement SWS_CanSM_00517 [SWS_CanSM_00517] 📄 PDF
[SWS_CanSM_00517] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The effect E_TX_ON of the sub state machine CANSM_BSM_S_FULLCOM shall call at 2nd place for the corresponding CAN network the API BswM_CanSM_CurrentState (ref. to [SWS_CanSM_91002]) with the parameters Network := CanSMComMNet- workHandleRef and CurrentState := CANSM_BSWM_FULL_COMMUNICATION.⌋
requirement SWS_CanSM_00518 [SWS_CanSM_00518] 📄 PDF
[SWS_CanSM_00518] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The effect E_TX_ON of the sub state machine CANSM_BSM_S_FULLCOM shall call at 3rd place the API ComM_BusSM_ModeIndication (ref. to [SWS_CanSM_91002]) with the parameters Channel := CanSMComMNetworkHandleRef (ref. to [ECUC_CanSM_00161]) and ComMode := COMM_FULL_COMMUNICATION.⌋
requirement SWS_CanSM_00521 [SWS_CanSM_00521] 📄 PDF
[SWS_CanSM_00521] ⌈The effect E_BUS_OFF of the sub state machine CANSM_BSM_S_FULLCOM shall call at 2nd place for the corresponding CAN network the API ComM_BusSM_ModeIndication (ref. to [SWS_CanSM_91002]) with the param- eters Channel := CanSMComMNetworkHandleRef (ref. to [ECUC_CanSM_00161]) and ComMode := COMM_SILENT_COMMUNICATION.⌋(SRS_Can_01145, SRS_Can_- 01142)
requirement SWS_CanSM_00522 [SWS_CanSM_00522] 📄 PDF
[SWS_CanSM_00522]). The DEM event for this error is configured per CAN network in the CANSM_E_BUS_OFF (see [ECUC_CanSM_00070]). • CANSM informs the Communication Manager about the communication status (COMM_SILENT_COMMUNICATION) notified with ComM_BusSM_ModeIndication (see
requirement SWS_CanSM_00524 [SWS_CanSM_00524] 📄 PDF
[SWS_CanSM_00524]), this shall trigger the sub state machine CANSM_BSM_S_CHANGE_BAUDRATE of the CAN network with T_CC_STOPPED_INDICATED.⌋
requirement SWS_CanSM_00525 [SWS_CanSM_00525] 📄 PDF
[SWS_CanSM_00525] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The guarding condition G_CC_STOPPED_OK of the sub state machine CANSM_BSM_S_CHANGE_BAUDRATE shall be passed, if all API calls of
requirement SWS_CanSM_00526 [SWS_CanSM_00526] 📄 PDF
[SWS_CanSM_00526] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈If CanSM module has got all mode indications (ref. to [SWS_CanSM_00396]) for the configured CAN controllers of the CAN network (ref. to [ECUC_CanSM_00141]) after the respective requests to stop the CAN controllers of the CAN net- work (ref. to
requirement SWS_CanSM_00530 [SWS_CanSM_00530] 📄 PDF
The CanSM module shall deny the CanSM_ Set Baudrate API request, if the CanSM module is not initialized.
requirement SWS_CanSM_00532 [SWS_CanSM_00532] 📄 PDF
[SWS_CanSM_00532] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈As long the sub state machine CANSM_BSM_S_CHANGE_BAUDRATE is in the state S_CC_STARTED, the CanSM module shall operate the do action DO_SET_CC_MODE_STARTED and therefore repeat for all configured CAN controllers of the CAN network (ref. to [ECUC_CanSM_00141]) the API request CanIf_Set- ControllerMode (ref. to [SWS_CanSM_91002]) with ControllerMode equal to CAN_CS_STARTED, if the current CAN controller mode (ref. to [SWS_CanSM_00638]) is different.⌋
requirement SWS_CanSM_00538 [SWS_CanSM_00538] 📄 PDF
[SWS_CanSM_00538] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The effect E_FULL_TO_SILENT_COM of the CanSM_BSM state machine shall call at 3th place for the corresponding CAN network the API ComM_BusSM_Mod- eIndication (ref. to [SWS_CanSM_91002]) with the parameters Channel := CanSMComMNetworkHandleRef (ref. to [ECUC_CanSM_00161]) and ComMode := COMM_SILENT_COMMUNICATION.⌋
requirement SWS_CanSM_00539 [SWS_CanSM_00539] 📄 PDF
If ECU passive is FALSE (ref. to SWS_CanSM_00646 ) , then the effect E_FULL_COM of the CanSM_BSM state machine (ref. to Figure 7 - 1 ) shall call at 1 st place for each configured CAN controller of the CAN network the API CanIf_SetPduMode with the parameters ControllerId := CanSMControllerId (ref. to ECUC_CanSM_00141 ) and PduModeRequest := CANIF_ ONLINE .
requirement SWS_CanSM_00540 [SWS_CanSM_00540] 📄 PDF
[SWS_CanSM_00540] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈After considering [SWS_CanSM_00435] in context of the effect E_FULL_COM of the CanSM_BSM state machine, the CanSM module shall call the API BswM_CanSM_Cur- rentState (ref. to [SWS_CanSM_91002]) for the corresponding CAN network with the parameters Network := CanSMComMNetworkHandleRef and CurrentState := CANSM_BSWM_FULL_COMMUNICATION.⌋
requirement SWS_CanSM_00541 [SWS_CanSM_00541] 📄 PDF
[SWS_CanSM_00541] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈The effect E_FULL_TO_SILENT_COM of the CanSM_BSM state machine shall call at 2nd place for each configured CAN controller of the CAN network the API CanIf_- SetPduMode (ref. to [SWS_CanSM_91002]) with the parameters ControllerId := CanSMControllerId (ref. to [ECUC_CanSM_00141]) and PduModeRequest := CANIF_TX_OFFLINE.⌋
requirement SWS_CanSM_00542 [SWS_CanSM_00542] 📄 PDF
[SWS_CanSM_00542],
requirement SWS_CanSM_00543 [SWS_CanSM_00543] 📄 PDF
[SWS_CanSM_00543],
requirement SWS_CanSM_00546 [SWS_CanSM_00546] 📄 PDF
[SWS_CanSM_00546] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ConfirmPnAvailability shall notify the Can_Nm module (ref. to [SWS_CanSM_00422]), if it is called with a configured Transceiver as input parameter (ref. to [ECUC_CanSM_00137]).⌋
requirement SWS_CanSM_00555 [SWS_CanSM_00555] 📄 PDF
[SWS_CanSM_00555] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The CanSM module shall deny the API requestCanSM_RequestComMode, if the ini- tial transition for the requested CAN network is not finished yet after the CanSM_Init request (ref. to [SWS_CanSM_00423], [SWS_CanSM_00430]).⌋
requirement SWS_CanSM_00560 [SWS_CanSM_00560] 📄 PDF
[SWS_CanSM_00560] Upstream requirements: SRS_Can_01145 ⌈If no CanSMTransceiverId (ref. to [ECUC_CanSM_00137]) is configured for a CAN Network, then the CanSM module shall bypass all specified CanIf_SetTrcv- Mode (ref. to [SWS_CanSM_91002]) (e.g. [SWS_CanSM_00446]) calls for the CAN Network and proceed in the different state transitions as if it has got the supposed CanSM_TransceiverModeIndication already (e.g. [SWS_CanSM_00448]).⌋
requirement SWS_CanSM_00569 [SWS_CanSM_00569] 📄 PDF
The CanSM module shall provide the API function CanSM_ Set Baudrate , if the CANSM_SET_BAUDRATE_API parameter (ref. to ECUC_CanSM_00343 ) is configured with the value TRUE .
requirement SWS_CanSM_00570 [SWS_CanSM_00570] 📄 PDF
[SWS_CanSM_00570] Upstream requirements: SRS_Can_01142 ⌈The CanSM module shall not provide the API function CanSM_SetBaudrate, if the CanSMSetBaudrateApi is configured with the value FALSE.⌋
requirement SWS_CanSM_00578 [SWS_CanSM_00578] 📄 PDF
[SWS_CanSM_00578] ⌈As long the sub state machine CANSM_BSM_S_TX_TIMEOUT_EXCEPTION is in the state S_CC_STOPPED, the CanSM module shall operate the do action DO_SET_CC_MODE_STOPPED and therefore repeat for all configured CAN controllers of the CAN network (ref. to [ECUC_CanSM_00141]) the API request CanIf_SetControllerMode (ref. to
requirement SWS_CanSM_00581 [SWS_CanSM_00581] 📄 PDF
[SWS_CanSM_00581] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The guarding condition G_CC_STARTED_E_OK of the sub state machine CANSM_BSM_S_TX_TIMEOUT_EXCEPTION shall be passed, if all API calls of
requirement SWS_CanSM_00582 [SWS_CanSM_00582] 📄 PDF
[SWS_CanSM_00582] have returned E_OK.⌋
requirement SWS_CanSM_00584 [SWS_CanSM_00584] 📄 PDF
[SWS_CanSM_00584] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈The callback function CanSM_TxTimeoutException (ref. to
requirement SWS_CanSM_00605 [SWS_CanSM_00605] 📄 PDF
[SWS_CanSM_00605] Upstream requirements: SRS_BSW_00422 ⌈The effect E_BUS_OFF of the sub state machine CANSM_BSM_S_FULLCOM CANSM_BSM_S_SILENTCOM_BOR shall invocate Dem_SetEventStatus (ref. to
requirement SWS_CanSM_00606 [SWS_CanSM_00606] 📄 PDF
[SWS_CanSM_00606] ⌈The callback function CanSM_ControllerBusOff (ref. to
requirement SWS_CanSM_00607 [SWS_CanSM_00607] 📄 PDF
[SWS_CanSM_00607]) for the state machine of the related network, if the CanSM module is initialized and the requested handle is valid concerning the CanSM configuration (ref. to [ECUC_CanSM_00161]).⌋ (SRS_Can_01145)
requirement SWS_CanSM_00608 [SWS_CanSM_00608] 📄 PDF
[SWS_CanSM_00608]) for the state ma- chine of the related network, if the CanSM module is initialized and the requested handle is valid concerning the CanSM configuration (ref. to [ECUC_CanSM_00161]).⌋ (SRS_Can_01145)
requirement SWS_CanSM_00611 [SWS_CanSM_00611] 📄 PDF
[SWS_CanSM_00611] Upstream requirements: SRS_Can_01145 ⌈The API function CanSM_StartWakeupSource shall return E_NOT_OK, if the CanSM module is not initialized yet with CanSM_Init (ref. to
requirement SWS_CanSM_00612 [SWS_CanSM_00612] 📄 PDF
[SWS_CanSM_00612] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StartWakeupSource shall return E_NOT_OK, if the CanSM module is initialized and the network parameter of the request is not a handle contained in the configuration of the CanSM module (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00613 [SWS_CanSM_00613] 📄 PDF
[SWS_CanSM_00613] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StartWakeupSource shall call the function Det_ReportEr- ror (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_INVALID_- NETWORK_HANDLE, if the CanSM module is initialized and the requested handle is invalid concerning the CanSM configuration (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00616 [SWS_CanSM_00616] 📄 PDF
[SWS_CanSM_00616] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StartWakeupSource shall return E_OK and it shall be con- sidered as trigger (ref. to [SWS_CanSM_00607]) for the state machine of the related network, if the CanSM module is initialized and the requested handle is valid concern- ing the CanSM configuration (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00617 [SWS_CanSM_00617] 📄 PDF
[SWS_CanSM_00617] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StartWakeupSource shall call the function Det_Re- portError (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_- UNINIT, if the CanSM module is not initialized yet with CanSM_Init (ref. to
requirement SWS_CanSM_00618 [SWS_CanSM_00618] 📄 PDF
[SWS_CanSM_00618] Upstream requirements: SRS_Can_01145 ⌈The API function CanSM_StopWakeupSource shall return E_NOT_OK, if the CanSM module is not initialized yet with CanSM_Init (ref. to [SWS_CanSM_00023]).⌋
requirement SWS_CanSM_00619 [SWS_CanSM_00619] 📄 PDF
[SWS_CanSM_00619] ⌈The function CanSM_StopWakeupSource shall call the func- tion Det_ReportError (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_UNINIT, if the CanSM module is not initialized yet with CanSM_Init (ref. to [SWS_CanSM_00023]).⌋(SRS_Can_01145)
requirement SWS_CanSM_00620 [SWS_CanSM_00620] 📄 PDF
[SWS_CanSM_00620] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StopWakeupSource shall return E_NOT_OK, if the CanSM module is initialized and the network parameter of the request is not a handle con- tained in the configuration of the CanSM module (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00621 [SWS_CanSM_00621] 📄 PDF
[SWS_CanSM_00621] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StopWakeupSource shall call the function Det_ReportEr- ror (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_INVALID_ NETWORK_HANDLE, if the CanSM module is initialized and the requested handle is invalid concerning the CanSM configuration (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00622 [SWS_CanSM_00622] 📄 PDF
[SWS_CanSM_00622] Upstream requirements: SRS_Can_01145 ⌈The function CanSM_StopWakeupSource shall return E_OK and it shall be consid- ered as trigger (ref. to [SWS_CanSM_00608]) for the state machine of the related network, if the CanSM module is initialized and the requested handle is valid concern- ing the CanSM configuration (ref. to [ECUC_CanSM_00161]).⌋
requirement SWS_CanSM_00623 [SWS_CanSM_00623] 📄 PDF
[SWS_CanSM_00623] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈If for the CAN network a CAN Transceiver is configured (ref. to [ECUC_CanSM_00137]), then as long the sub state machine CANSM_BSM_WUVALIDATION is in the state S_TRCV_NORMAL, the CanSM mod- ule shall operate the do action DO_SET_TRCV_MODE_NORMAL and therefore repeat for the configured CAN Transceiver of the CAN network (ref. to [ECUC_CanSM_00137]) the API request CanIf_SetTrcvMode (ref. to [SWS_CanSM_91002]) with TransceiverMode equal to CANTRCV_TRCVMODE_NORMAL.⌋
requirement SWS_CanSM_00629 [SWS_CanSM_00629] 📄 PDF
[SWS_CanSM_00629]), this condition shall trigger the sub state machine CANSM_BSM_WUVALIDATION of the respective network with T_CC_STOPPED_TIMEOUT.⌋
requirement SWS_CanSM_00630 [SWS_CanSM_00630] 📄 PDF
[SWS_CanSM_00630] Upstream requirements: SRS_Can_01142, SRS_Can_01145 ⌈After a timeout of CANSM_MODEREQ_REPEAT_TIME (ref. to [ECUC_CanSM_00336]) for all supposed controller stopped mode indications (ref. to [SWS_CanSM_00629]), this condition shall trigger the sub state machine CANSM_BSM_WUVALIDATION of the respective network with T_CC_STOPPED_TIMEOUT.⌋
requirement SWS_CanSM_00635 [SWS_CanSM_00635] 📄 PDF
[SWS_CanSM_00635]) and the stored communica- tion mode request is COMM_NO_COMMUNICATION, then the effect E_NOCOM of the CanSM_BSM state machine shall call the API ComM_BusSM_ModeIndica- tion (ref. to [SWS_CanSM_91002]) with the parameters Channel := CanSM- ComMNetworkHandleRef (ref. to [ECUC_CanSM_00161]) and ComMode := COMM_NO_COMMUNICATION.⌋(SRS_Can_01142, SRS_Can_01145)
requirement SWS_CanSM_00638 [SWS_CanSM_00638] 📄 PDF
[SWS_CanSM_00638] Upstream requirements: SRS_Can_01145 ⌈The CanSM module shall store after every successful CAN controller mode change (ref. to [SWS_CanSM_00396]) or bus-off conditioned change to CAN_CS_STOPPED (ref. to [SWS_CanSM_00064]), the changed mode internally for each CAN controller.⌋
requirement SWS_CanSM_00639 [SWS_CanSM_00639] 📄 PDF
[SWS_CanSM_00639] ⌈The state operation DO_SET_BAUDRATE_DIRECT shall call the API request CanIf_SetBaudrate (ref. to [SWS_CanSM_91003])) for all con- figured CAN controllers of the CAN network (ref. to [ECUC_CanSM_00141] with the respective ControllerId parameter. It shall use as BaudRateConfigID parame- ter the respective function parameter BaudRateConfigID from the call CanSM_Set- Baudrate.⌋(SRS_Can_01145, SRS_Can_01142)
requirement SWS_CanSM_00641 [SWS_CanSM_00641] 📄 PDF
[SWS_CanSM_00641] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈If all CanIf_SetBaudrate (ref. to
requirement SWS_CanSM_00645 [SWS_CanSM_00645] 📄 PDF
[SWS_CanSM_00645] Upstream requirements: SRS_Can_01158 ⌈The CanSM module shall provide the API function CanSM_SetEcuPassive, if the CanSMTxOfflineActiveSupport parameter is configured with the value TRUE.⌋
requirement SWS_CanSM_00646 [SWS_CanSM_00646] 📄 PDF
[SWS_CanSM_00646]), then the effect E_TX_ON of the sub state machine CANSM_BSM_S_FULLCOM shall call at 1st place for the config- ured CAN controllers of the CAN network (ref. to [ECUC_CanSM_00141]) the API function CanIf_SetPduMode (ref. to [SWS_CanSM_91002]) with the parameters ControllerId := CanSMControllerId (ref. to [ECUC_CanSM_00141]) and Pdu- ModeRequest := CANIF_ONLINE.⌋
requirement SWS_CanSM_00647 [SWS_CanSM_00647] 📄 PDF
[SWS_CanSM_00647] Upstream requirements: SRS_Can_01158 ⌈If ECU passive is TRUE (ref. to [SWS_CanSM_00646]), then the effect E_FULL_COM of the CanSM_BSM state machine shall call at 1st place for each configured CAN controller of the CAN network the API CanIf_SetPdu- Mode (ref. to [SWS_CanSM_91002]) with the parameters ControllerId := CanSMControllerId (ref. to [ECUC_CanSM_00141]) and PduModeRequest := CANIF_TX_OFFLINE_ACTIVE.⌋
requirement SWS_CanSM_00648 [SWS_CanSM_00648] 📄 PDF
[SWS_CanSM_00648] Upstream requirements: SRS_Can_01158 ⌈If ECU passive is TRUE (ref. to [SWS_CanSM_00646]), then the effect E_TX_ON of the sub state machine CANSM_BSM_S_FULLCOM shall call at 1st place for the config- ured CAN controllers of the CAN network (ref. to [ECUC_CanSM_00141]) the API function CanIf_SetPduMode (ref. to [SWS_CanSM_91002]) with the parameters ControllerId := CanSMControllerId (ref. to [ECUC_CanSM_00141]) and Pdu- ModeRequest := CANIF_TX_OFFLINE_ACTIVE.⌋
requirement SWS_CanSM_00649 [SWS_CanSM_00649] 📄 PDF
[SWS_CanSM_00649] Upstream requirements: SRS_Can_01158 ⌈When CanSM_SetEcuPassive is called with CanSM_Passive=true; (ref. to
requirement SWS_CanSM_00650 [SWS_CanSM_00650] 📄 PDF
[SWS_CanSM_00650] Upstream requirements: SRS_Can_01158 ⌈If CanSM_SetEcuPassive called with CanSM_Passive=false; (ref. to
requirement SWS_CanSM_00651 [SWS_CanSM_00651] 📄 PDF
[SWS_CanSM_00651] ⌈If a communication mode request for the network is present already (ref. to [SWS_CanSM_00635]) and the stored communica- tion mode request is COMM_NO_COMMUNICATION, then the effect E_NOCOM of the CanSM_BSM state machine shall call the API ComM_BusSM_ModeIndica- tion (ref. to [SWS_CanSM_91002]) with the parameters Channel := CanSM- ComMNetworkHandleRef (ref. to [ECUC_CanSM_00161]) and ComMode := COMM_NO_COMMUNICATION.⌋(SRS_Can_01142, SRS_Can_01145)
requirement SWS_CanSM_00652 [SWS_CanSM_00652] 📄 PDF
[SWS_CanSM_00652] [SRS_ModeMgm_- 09221] The Watchdog Manager shall check the correct sequence of code execution in supervised entities
requirement SWS_CanSM_00653 [SWS_CanSM_00653] 📄 PDF
[SWS_CanSM_00653] Upstream requirements: SRS_Can_01145, SRS_Can_01142 ⌈If more than one CAN controller belongs to one CAN network and for one of its con- trollers a bus-off is indicated with CanSM_ControllerBusOff, then the CanSM shall stop in context of the effect E_BUS_OFF the other CAN contoller(s) of the CAN network, too.⌋
requirement SWS_CanSM_00654 [SWS_CanSM_00654] 📄 PDF
Type of error Related error code Error value API service used without module initialization CANSM_ E_ UNINIT 0x01 API service called with wrong pointer CANSM_ E_ PARAM_ POINTER 0x02 API service called with wrong parameter CANSM_ E_ INVALID_ NETWORK_ HANDLE 0x03 API service called with wrong parameter CANSM_ E_ PARAM_ CONTROLLER 0x04 API service called with wrong parameter CANSM_ E_ PARAM_ TRANSCEIVER 0x05 De Init API service called when not all CAN networks are in state CANSM_ NO_ COMMUNICATION CANSM_ E_ NOT_ IN_ NO_ COM 0x0B
requirement SWS_CanSM_00655 [SWS_CanSM_00655] 📄 PDF
If the sub state machine CANSM_BSM_S_TX_TIMEOUT_EXCEPTION (ref. to Figure 7 - 9) is triggered with T_CC_STARTED_INDICATED, the API CanIf_SetPduMode() shall be called with CANI F_ONLINE
requirement SWS_CanSM_00656 [SWS_CanSM_00656] 📄 PDF
If the CanSM needs informations about the actual PduMode, the CanSM shall call the API CanIf_GetPduMode to get the current Pdu Mode of the CanIf.
requirement SWS_CanSM_00658 [SWS_CanSM_00658] 📄 PDF
If the CanSM module is reque sted with the function CanSM_DeInit, this shall trigger the CanSM state machines (ref. to Figure 7 - 1) for all configured CAN Networks (ref. to ECUC_CanSM_00126) with the trig ger CanSM_DeInit.
requirement SWS_CanSM_00660 [SWS_CanSM_00660] 📄 PDF
If development error detection for the CanSM module is enabled: The function CanSM_DeInit shall raise the error CANSM_E_NOT_IN_NO_COM if not all CAN networks are in state CANSM_NO_COMMUNICATION .
requirement SWS_CanSM_00664 [SWS_CanSM_00664] 📄 PDF
Type of error Related error code Error value Mode request for a network failed more often than allowed by configuration CANSM_ E_ MODE_ REQUEST_ TIMEOUT 0x0A
requirement SWS_CanSM_00666 [SWS_CanSM_00666] 📄 PDF
: Bus - off detection Long Description: The bus - off recovery st ate machine of a CAN network has detected a certain amount of sequential bus - offs without successful recovery Recommended DTC: Assigned by DEM Detection Criteria: Fail PRE_FAILED when CanSM_ControllerBusOff is called (T_BUS_OFF/E_BUS_OFF), debouncing to be defined by OEM in DEM Pass A fter successful transmission of a CAN frame (G_BUS_OFF_PASSIVE/E_BUS_OFF_PASSIVE) Secondary Parameters: None Time Required : PRE_FAILED immediately (in error interrupt context), FAILED depending on debounce config uration of DEM Monitor Frequency Continuous MIL illumniation : Assigned by DEM
requirement SWS_CanSM_00667 [SWS_CanSM_00667] 📄 PDF
[SWS_CanSM_00667] Status: DRAFT Upstream requirements: SRS_Can_01142 ⌈If the CanIf module notifies PN availability for a configured CAN Controller to the CanSM module with the callback function CanSM_ConfirmCtrlPnAvailability (ref. to [SWS_CanSM_91004]), then the CanSM module shall call the API CanNm_ ConfirmPnAvailability (ref. to [SWS_CanSM_91002]) with the related CAN net- work as channel to confirm the PN availability to the CanNm module.⌋
requirement SWS_CanSM_00668 [SWS_CanSM_00668] 📄 PDF
[SWS_CanSM_00668] Status: DRAFT Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ConfirmCtrlPnAvailability shall notify the CanNm mod- ule (ref. to [SWS_CanSM_00667]), if it is called with a configured Controller as input parameter (ref. to [ECUC_CanSM_00141]).⌋
requirement SWS_CanSM_00669 [SWS_CanSM_00669] 📄 PDF
[SWS_CanSM_00669] Status: DRAFT Upstream requirements: SRS_Can_01145 ⌈The function CanSM_ConfirmCtrlPnAvailability shall report CANSM_E_- UNINIT to the DET, if the CanSM module is not initialized yet.⌋
requirement SWS_CanSM_00670 [SWS_CanSM_00670] 📄 PDF
[SWS_CanSM_00670] Status: DRAFT Upstream requirements: SRS_Can_01145 ⌈If the function CanSM_ConfirmCtrlPnAvailability gets a ControllerId, which is not configured (ref. to [ECUC_CanSM_00141]) in the configuration of the CanSM module, it shall call the function Det_ReportError (ref. to [SWS_CanSM_91003]) with ErrorId parameter CANSM_E_PARAM_CONTROLLER.⌋
requirement SWS_CanSM_91002 [SWS_CanSM_91002] 📄 PDF
[SWS_CanSM_91002]) with the parameters Channel := CanSM- ComMNetworkHandleRef (ref. to [ECUC_CanSM_00161]) and ComMode := COMM_NO_COMMUNICATION.⌋(SRS_Can_01142, SRS_Can_01145)
requirement SWS_CanSM_91003 [SWS_CanSM_91003] 📄 PDF
CanIf_SetBaudrate CanIf.h This service shall set the baud rate configuration of the CAN controller. Depending on necessary baud rate modifications the controller might have to reset. Det_ReportError Det.h Service to report development errors. ⌋
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_CanSM- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_CanSM@rel:R20-11#339b4424- Content hash
339b4424- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CANStateManager.pdf#nameddest=SWS_CanSM_00023