FlexRay Interface (FrIf)
Abstracts FlexRay hardware controllers for upper layers.
Funktionen — Übersicht
void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);Initializes the Flex Ray Interface.Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);Initialized a Flex Ray CC.Std_ReturnType FrIf_SetAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, uint8 FrIf_Cycle, uint16 FrIf_Offset);Wraps the Flex Ray Driver API function Fr_ Set Absolute Timer().Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Service FrIf_EnableAbsoluteTimerIRQ.Std_ReturnType FrIf_AckAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Wraps the Flex Ray Driver API function Fr_ Ack Absolute Timer IRQ()Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Start Communication().Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Halt Communication().Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Abort Communication().Std_ReturnType FrIf_GetState (uint8 FrIf_ClstIdx, FrIf_StateType* FrIf_StatePtr);Get current Fr If state.Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);Requests Fr If state machine transition.Std_ReturnType FrIf_SetWakeupChannel (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);Wraps the Flex Ray Driver API functi on Fr_ Set Wakeup Channel().Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Send WUP().Std_ReturnType FrIf_GetPOCStatus (uint8 FrIf_CtrlIdx, Fr_POCStatusType* FrIf_POCStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get POCStatus().Std_ReturnType FrIf_GetGlobalTime (uint8 FrIf_CtrlIdx, uint8* FrIf_CyclePtr, uint16* FrIf_MacroTickPtr);Wraps the Flex Ray Driver API function Fr_ Get Global Time().Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().uint16 FrIf_GetMacroticksPerCycle (uint8 FrIf_CtrlIdx);Retrieves the amount of Macroticks per Cycleuint16 FrIf_GetMacrotickDuration (uint8 FrIf_CtrlIdx);Retrieves the Duration of a Macrotick in nsStd_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType FrIf_SetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, Limited by st atic configuration [Configuration Parameter FrIfCounterLimit, see FrIf06076 ]); ⚠️Wraps the Flex Ray Transceiver Driver API function FrStd_ReturnType FrIf_GetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvModeType* FrIf_TrcvModePtr);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Mode().Std_ReturnType FrIf_GetTransceiverWUReason (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvWUReasonType* FrIf_TrcvWUReasonPtr);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver WUReason().Std_ReturnType FrIf_ClearTransceiverWakeup (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Clear Transceiver Wakeup().Std_ReturnType FrIf_CancelAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Wraps the Flex Ray Driver API function Fr_ Cancel Absolute Timer().Std_ReturnType FrIf_GetAbsoluteTimerIRQStatus (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, boolean* FrIf_IRQStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get Absolute Timer IRQStatus()Std_ReturnType FrIf_DisableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Wraps the Flex Ray Driver API function Fr_ Disable Absolute Timer IRQ().uint32 FrIf_GetCycleLength (uint8 FrIf_CtrlIdx);This API returns the configured time of the configuration parameter "Gd Cycle" in nanoseconds for the Flex Ray controller with...Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ All SlotsStd_ReturnType FrIf_GetChannelStatus (uint8 FrIf_CtrlIdx, uint16* FrIf_ChannelAStatusPtr, uint16* FrIf_ChannelBStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get Channel Status() and gets the channel status information.Std_ReturnType FrIf_GetClockCorrection (uint8 FrIf_CtrlIdx, sint16* FrIf_RateCorrectionPtr, sint32* FrIf_OffsetCorrectionPtr);Wraps the Flex Ray Driver API function Fr_ Get Clock Correction () and gets the current clock correction values.Std_ReturnType FrIf_GetSyncFrameList (uint8 FrIf_CtrlIdx, uint8 FrIf_ListSize, uint16* FrIf_ChannelAEvenListPtr, uint16* FrIf_ChannelBEvenListPtr, uint16* FrIf_ChannelAOddListPtr, uint16* FrIf_ChannelBOddListPtr);Service FrIf_GetSyncFrameList.Std_ReturnType FrIf_GetNumOfStartup FrIf_GetNumStartupFrames (uint8 FrIf_CtrlIdx, uint8* FrIf_NumOfStartupFramesPtr); ⚠️Wraps the Flex Ray Driver API function Fr_ Get Num Of Startup Frames and gets a list of the current number of startup frames...Std_ReturnType FrIf_GetWakeupRxStatus (uint8 FrIf_CtrlIdx, uint8* FrIf_WakeupRxStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get Wakeup Rx Status and gets the wakeup received information from the Flex Ray...Std_ReturnType FrIf_CancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission o f a PDU in a lower layer communication module.Std_ReturnType FrIf_DisableLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);Wraps the Flex Ray Driver Function Fr_ Disable LPdu.Std_ReturnType FrIf_GetTransceiverError (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx, uint32* FrIf_BusErrorState);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Error.Std_ReturnType FrIf_EnableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Enable Transceiver Branch.Std_ReturnType FrIf_DisableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Disable Transceiver Branch.Std_ReturnType FrIf_ReconfigLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx, uint16 FrIf_FrameId, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_CycleRepetition, uint8 FrIf_CycleOffset, uint8 FrIf_PayloadLength, uint16 FrIf_Header CRC); ⚠️Service FrIf_ReconfigLPdu.Std_ReturnType FrIf_GetNmVector (uint8 FrIf_CtrlIdx, uint8* FrIf_NmVectorPtr);Derives the Flex Ray NM Vector.void FrIf_GetVersionInfo (Std_VersionInfoType* FrIf_VersionInfoPtr);Returns the version information of this module.Std_ReturnType FrIf_ReadCCConfig (uint8 FrIf_CtrlIdx, uint8 FrIf_Config ParamIdx, uint32* FrIf_Config ParamValuePtr); ⚠️Wraps the Flex Ray Driver API function Fr_ Read CCConfig().Std_ReturnType FrIf_EnableBusMirroring (uint8 FrIf_ClstIdx, boolean FrIf_MirroringActive);Enables or disables mirroring for all Flex Ray controllers connected to the addressed Flex Ray cluster.void FrIf_CheckWakeupByTransceiver (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Check Wakeup By Transceiver().void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API, the upper lay er module (called module) shall check whether thevoid <Free_Op_A> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);User defined communication operation in order to support hardware specific or additional communication controller features to...void <Free_Op_B> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);User defined communication operation in order to support hardware specific or additional communication controller features to...void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);Notification in case a Tx Conflict has been detected.
Typen — Übersicht
struct FrIf_ConfigTypeThis type contains the implementation - specific post build time configuration structure.enum FrIf_StateTypeVariables of this type are used to represent the Fr If_ State of a Flex Ray CC.FrIf_StateTransitionTypeVariables of this type are used to represent the Fr If_ State of a Flex Ray CC.
Funktionen & Typen — Detailansicht
دالة FrIf_Init [SWS_FrIf_05003] 📄 PDF
void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);
Initializes the Flex Ray Interface.
تُستخدم الدالة FrIf_Init لتهيئة وحدة واجهة FlexRay ([SWS_FrIf_05003]). يتم الاستدعاء بشكل متزامن ومحدد بأنه غير قابل لإعادة الدخول (Non Reentrant) ([SWS_FrIf_05003]).
المعلمات وقيم الإرجاع
FrIf_ConfigPtr(معلمة إدخال): مؤشر أساسي إلى بنية تكوين واجهة FlexRay ([SWS_FrIf_05003]).- قيمة الإرجاع:
void- الدالة لا تُرجع أي قيمة إرجاع ([SWS_FrIf_05003]).
القيود وشروط الاستدعاء
نظرًا لأن FrIf_Init غير قابلة لإعادة الدخول، فلا يجوز استدعاء الدالة مرة أخرى بشكل متوازٍ أو مقاطِع بواسطة نفس سلسلة العمليات أو المهمة أو سلسلة أخرى في أي وقت ([SWS_FrIf_05003]). يجب أن يتم الاستدعاء في سياق تهيئة النظام قبل استخدام الخدمات العادية لواجهة FlexRay.
تم إنشاء ملاحظة الاستخدام هذه بصورة آلية بناءً على مواصفة AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة FrIf_ControllerInit [SWS_FrIf_05004] 📄 PDF
Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);
Initialized a Flex Ray CC.
تُستخدم الدالة المتزامنة FrIf_ControllerInit لتهيئة وحدة التحكم بالاتصال FlexRay Communication Controller المسماة (FlexRay CC) [SWS_FrIf_05004]. تتوفر الدالة عبر ملف الرأس FrIf.h ويتم تحديدها بواسطة معرّف الخدمة 0x03 [SWS_FrIf_05004].
يتم عبر مُعامل الإدخال FrIf_CtrlIdx من نوع البيانات uint8 تمرير فهرس وحدة تحكم FlexRay المراد عنونتها [SWS_FrIf_05004]. ولا توجد أي مُعاملات إدخال أو إخراج أخرى لهذه الواجهة [SWS_FrIf_05004].
تكون قيمة الإرجاع من النوع Std_ReturnType وتُرجع حالة التهيئة إلى جهة الاستدعاء [SWS_FrIf_05004]:
E_OK: نجح استدعاء خدمة API لبرنامج تشغيل FlexRay الأساسي وأرجعE_OK[SWS_FrIf_05004].E_NOT_OK: أرجعت خدمة API لبرنامج تشغيل FlexRay القيمةE_NOT_OKأو تم اكتشاف خطأ في وضع التطوير [SWS_FrIf_05004].
فيما يتعلق بالتزامن، فإن FrIf_ControllerInit قابلة لإعادة الدخول لفهارس وحدات تحكم مختلفة (FrIf_CtrlIdx)، ولكنها غير قابلة لإعادة الدخول لقيم متطابقة من FrIf_CtrlIdx [SWS_FrIf_05004]. ولذلك يجب منع الاستدعاءات المتزامنة لوحدة التحكم نفسها بواسطة النظام الكلي.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بالاستناد إلى مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_SetAbsoluteTimer [SWS_FrIf_05021] 📄 PDF
Std_ReturnType FrIf_SetAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, uint8 FrIf_Cycle, uint16 FrIf_Offset);
Wraps the Flex Ray Driver API function Fr_ Set Absolute Timer().
دالة FrIf_EnableAbsoluteTimerIRQ [SWS_FrIf_05025] 📄 PDF
Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Service FrIf_EnableAbsoluteTimerIRQ.
الاستخدام
تمثل الدالة FrIf_EnableAbsoluteTimerIRQ خدمة تزامنية بمعرف الخدمة (Service ID) 0x1d، وتُتاح عبر ملف الرأس FrIf.h [SWS_FrIf_05025]. وتعمل كغلاف حول واجهة Fr_EnableAbsoluteTimerIRQ() الخاصة ببرنامج تشغيل FlexRay لتفعيل مقاطعة مؤقت مطلق [SWS_FrIf_05025].
يتطلب الاستدعاء معلمتي إدخال [SWS_FrIf_05025]:
FrIf_CtrlIdx: فهرس وحدة تحكم اتصالات FlexRay (FlexRay CC) المعنية [SWS_FrIf_05025].FrIf_AbsTimerIdx: فهرس المؤقت المطلق المراد تفعيله في وحدة التحكم المعنونة [SWS_FrIf_05025].
قيم الإرجاع ومعالجة الأخطاء
تُرجع الوظيفة قيمة حالة من النوع Std_ReturnType [SWS_FrIf_05025]:
E_OK: نجح استدعاء خدمة برنامج التشغيل الأساسية وأرجعE_OK[SWS_FrIf_05025].E_NOT_OK: أرجعت دالة برنامج التشغيلE_NOT_OKأو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05025].
التزامن وإعادة الدخول
فيما يتعلق بسياق الاستدعاء، فإن FrIf_EnableAbsoluteTimerIRQ غير قابلة لإعادة الدخول (non-reentrant) لنفس وحدة تحكم FlexRay، ولكن يُسمح باستدعائها بشكل قابل لإعادة الدخول لوحدات تحكم FlexRay مختلفة [SWS_FrIf_05025].
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_AckAbsoluteTimerIRQ [SWS_FrIf_05029] 📄 PDF
Std_ReturnType FrIf_AckAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Wraps the Flex Ray Driver API function Fr_ Ack Absolute Timer IRQ()
تُغلف دالة الواجهة التزامنية FrIf_AckAbsoluteTimerIRQ، كغلاف، استدعاء واجهة برمجة التطبيقات (API) لدالة برنامج التشغيل Fr_AckAbsoluteTimerIRQ() التابعة لبرنامج تشغيل FlexRay [SWS_FrIf_05029]. وتحمل معرف الخدمة 0x21، وتُتاح عبر ملف الرأس FrIf.h، وتُستخدم لتأكيد طلب مقاطعة لمؤقت مطلق خاص بـ FlexRay Communication Controller.
عند استدعاء الدالة، يجب تمرير معلمتي إدخال [SWS_FrIf_05029]:
FrIf_CtrlIdx: فهرس وحدة تحكم اتصالات FlexRay (CC) المطلوب مخاطبتها.FrIf_AbsTimerIdx: فهرس المؤقت المطلق المحدد المراد إقرار مقاطعته.
تُرجع الدالة قيمة إرجاع من النوع Std_ReturnType لتقييم النتيجة [SWS_FrIf_05029]:
E_OK: نُفذ استدعاء واجهة برمجة التطبيقات (API) لبرنامج التشغيلFr_AckAbsoluteTimerIRQ()بنجاح.E_NOT_OK: أبلغ برنامج تشغيل FlexRay عند الاستدعاء عنE_NOT_OK، أو تم اكتشاف خطأ في وضع التطوير (Development Mode).
فيما يتعلق بسلوك التزامن، تعمل الدالة بشكل تزامني. الاستدعاءات لوحدات FlexRay CC مختلفة تكون قابلة لإعادة الدخول، بينما الاستدعاءات المتزامنة لنفس وحدة FlexRay CC غير قابلة لإعادة الدخول ويجب تجنبها [SWS_FrIf_05029].
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_StartCommunication [SWS_FrIf_05005] 📄 PDF
Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Start Communication().
تعمل الدالة FrIf_StartCommunication كغلاف لدالة برنامج تشغيل FlexRay المسماة Fr_StartCommunication() وتُطلق بدء الاتصال لوحدة التحكم باتصال FlexRay المعنونة [SWS_FrIf_05005].
الاستخدام وسياق الاستدعاء
تم التصريح عن الواجهة عبر ملف الرأس FrIf.h ولديها معرّف الخدمة 0x04 [SWS_FrIf_05005]. تتم معالجة الاستدعاء بشكل غير متزامن [SWS_FrIf_05005]. ويعمل FrIf_CtrlIdx (النوع uint8) كمُعامل إدخال وحيد يحدد فهرس وحدة التحكم باتصال FlexRay المراد التحكم بها؛ ولا توجد مُعاملات إدخال/إخراج أو مُعاملات إخراج بحتة [SWS_FrIf_05005].
معالجة الأخطاء وقيم الإرجاع
تُرجع الدالة رمز حالة من النوع Std_ReturnType [SWS_FrIf_05005]:
E_OK: نجح استدعاء خدمة API الأساسية في برنامج تشغيل FlexRay وأرجعE_OK[SWS_FrIf_05005].E_NOT_OK: أبلغت خدمة API لبرنامج التشغيل عنE_NOT_OKأو تم اكتشاف خطأ أثناء التنفيذ في وضع التطوير (Development Mode) [SWS_FrIf_05005].
التزامن والقيود
فيما يتعلق بإعادة الدخول، فإن FrIf_StartCommunication قابلة لإعادة الدخول لفهارس وحدات التحكم المتباينة (FrIf_CtrlIdx)، ولكنها غير قابلة لإعادة الدخول لقيم وحدات التحكم المتطابقة [SWS_FrIf_05005]. ولذلك، يجب على الوحدات المستدعية التأكد عند عمليات الوصول المتزامنة من عدم إجراء استدعاءات متزامنة لوحدة التحكم نفسها.
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة FrIf_HaltCommunication [SWS_FrIf_05006] 📄 PDF
Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Halt Communication().
تمثل الدالة FrIf_HaltCommunication (معرّف الخدمة 0x05) في واجهة FlexRay Interface (FrIf) غلافاً لاستدعاء دالة API لبرنامج التشغيل Fr_HaltCommunication() ويتم التصريح عنها عبر ملف الرأس FrIf.h [SWS_FrIf_05006]. يتم تنفيذ الخدمة بدلالات غير متزامنة [SWS_FrIf_05006]. كمعامل وحيد، يتم تمرير قيمة الإدخال FrIf_CtrlIdx، والتي تحدد فهرس وحدة التحكم باتصال FlexRay المراد مخاطبتها في كل حالة؛ ولم يتم تحديد مُعاملات إدخال/إخراج أو مُعاملات إخراج بحتة لهذه الخدمة [SWS_FrIf_05006].
قيمة الإرجاع من النوع Std_ReturnType وتشير إلى نتيجة الاستدعاء [SWS_FrIf_05006]:
E_OK: نجح استدعاء خدمة API في برنامج تشغيل FlexRay وأرجعE_OK[SWS_FrIf_05006].E_NOT_OK: أرجع استدعاء API لبرنامج تشغيل FlexRay القيمةE_NOT_OKأو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05006].
فيما يتعلق بالتزامن، فإن FrIf_HaltCommunication قابلة لإعادة الدخول لقيم مختلفة لفهرس وحدة التحكم FrIf_CtrlIdx، ولكنها غير قابلة لإعادة الدخول عند تطابق قيم FrIf_CtrlIdx [SWS_FrIf_05006]. وبالتالي، فإن الاستدعاءات المتزامنة أو المقاطِعة لوحدة التحكم نفسها غير مسموح بها ويجب منعها في سياق جهة الاستدعاء.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استناداً إلى مواصفة AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_AbortCommunication [SWS_FrIf_05007] 📄 PDF
Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Abort Communication().
الاستخدام وسياق الاستدعاء
تعمل دالة الواجهة المتزامنة FrIf_AbortCommunication كغلاف مباشر لدالة API Fr_AbortCommunication() الخاصة ببرنامج تشغيل FlexRay [SWS_FrIf_05007]. تم التصريح عنها في ملف الترويسة FrIf.h ولديها معرّف الخدمة 0x06 [SWS_FrIf_05007].
عبر معلمة الإدخال FrIf_CtrlIdx، يتم تحديد فهرس FlexRay Communication Controller المراد مخاطبته [SWS_FrIf_05007]. لم يتم تحديد معلمات إدخال أو إخراج إضافية لهذه الواجهة [SWS_FrIf_05007].
قيم الإرجاع ومعالجة الأخطاء
تُرجع الوظيفة قيمة حالة من النوع Std_ReturnType [SWS_FrIf_05007]:
E_OK: كان استدعاء خدمة API الخاصة ببرنامج تشغيل FlexRay ناجحًا وأرجعE_OK[SWS_FrIf_05007].E_NOT_OK: أرجعت خدمة API الخاصة ببرنامج تشغيل FlexRayE_NOT_OKأو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05007].
التزامن والقيود
تنفيذ FrIf_AbortCommunication متزامن [SWS_FrIf_05007]. الدالة قابلة لإعادة الدخول للقيم المختلفة لـ FrIf_CtrlIdx، لكنها غير قابلة لإعادة الدخول لفهارس وحدات التحكم المتطابقة [SWS_FrIf_05007].
تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_GetState [SWS_FrIf_05170] 📄 PDF
Std_ReturnType FrIf_GetState (uint8 FrIf_ClstIdx, FrIf_StateType* FrIf_StatePtr);
Get current Fr If state.
دالة FrIf_SetState [SWS_FrIf_05174] 📄 PDF
Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);
Requests Fr If state machine transition.
الاستخدام والاستدعاء
تطلب الدالة التزامنية FrIf_SetState انتقال حالة في آلة حالة واجهة FlexRay [SWS_FrIf_05174]. ويتم تمرير فهرس المجموعة FrIf_ClstIdx والانتقال المطلوب FrIf_StateTransition كمعلمات. وتُرجع الدالة E_OK إذا نُفذ الاستدعاء بنجاح وقُبل تغيير الحالة؛ وفي حالة الخطأ تُرجع E_NOT_OK [SWS_FrIf_05174].
معالجة الأخطاء والشروط الحدية
عُرفت الدالة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_FrIf_05174]. وإذا كان فحص التطوير مفعلًا (FrIfDevErrorDetect == ON) واحتوت المعلمة FrIf_StateTransition على قيمة غير صالحة، تبلغ الدالة عن رمز الخطأ FRIF_E_INV_FRIF_STATE عبر Det_ReportError إلى وحدة DET [SWS_FrIf_05037].
التفاعل أثناء الانتقالات إلى وضع عدم الاتصال (Offline)
إذا تم استدعاء FrIf_SetState باستخدام معلمة الانتقال FRIF_STATE_OFFLINE، تتحقق واجهة FlexRay من العداد TxConfCounter لكل PDU [SWS_FrIf_05501]. وإذا كانت هذه القيمة أكبر من 0 لـ PDU ما، تُخطر الوحدة الطبقة الواقعة أعلاها عبر الاستدعاء <UL>_TxConfirmation(id, E_NOT_OK) بفشل التأكيد المعلق [SWS_FrIf_05501].
تم إنشاء هذا النص بواسطة نظام ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة FrIf_SetWakeupChannel [SWS_FrIf_05010] 📄 PDF
Std_ReturnType FrIf_SetWakeupChannel (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);
Wraps the Flex Ray Driver API functi on Fr_ Set Wakeup Channel(). The enum value "FR_ CHANNEL_ AB" shall not be used.
دالة FrIf_SendWUP [SWS_FrIf_05011] 📄 PDF
Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Send WUP().
تتوفر الدالة FrIf_SendWUP (معرّف الخدمة 0x0a) للوحدة FrIf عبر ملف الرأس FrIf.h وتعمل كغلاف واجهة لاستدعاء دالة API المسماة Fr_SendWUP() لبرنامج تشغيل FlexRay الأساسي [SWS_FrIf_05011].
الاستخدام والمعلمات
يتم تنفيذ الخدمة بشكل غير متزامن [SWS_FrIf_05011]. ويعمل مُعامل الإدخال FrIf_CtrlIdx من النوع uint8 كمُعامل التمرير الوحيد، والذي يحدد فهرس وحدة تحكم الاتصال FlexRay Communication Controller (FlexRay CC) المراد عنونتها [SWS_FrIf_05011]. ولا يتم استخدام أي مُعاملات Inout أو Out [SWS_FrIf_05011].
قيم الإرجاع ومعالجة الأخطاء
تُرجع الدالة حالة من النوع Std_ReturnType كقيمة إرجاع [SWS_FrIf_05011]:
E_OK: تم تنفيذ استدعاء خدمة API لبرنامج تشغيل FlexRay بنجاح وأبلغ عنE_OK[SWS_FrIf_05011].E_NOT_OK: أرجع استدعاء خدمة API لبرنامج تشغيل FlexRay القيمةE_NOT_OKأو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05011].
التزامن وإعادة الدخول
فيما يتعلق بالوصول المتزامن، فإن FrIf_SendWUP قابل لإعادة الدخول (reentrant) للاستدعاءات ذات القيم المختلفة لـ FrIf_CtrlIdx، ولكنه غير قابل لإعادة الدخول (non-reentrant) للقيم المتطابقة لـ FrIf_CtrlIdx [SWS_FrIf_05011].
تم إنشاء هذا النص تلقائيًا ويستند إلى مواصفات AUTOSAR للإصدار R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_GetPOCStatus [SWS_FrIf_05014] 📄 PDF
Std_ReturnType FrIf_GetPOCStatus (uint8 FrIf_CtrlIdx, Fr_POCStatusType* FrIf_POCStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get POCStatus().
دالة FrIf_GetGlobalTime [SWS_FrIf_05015] 📄 PDF
Std_ReturnType FrIf_GetGlobalTime (uint8 FrIf_CtrlIdx, uint8* FrIf_CyclePtr, uint16* FrIf_MacroTickPtr);
Wraps the Flex Ray Driver API function Fr_ Get Global Time(). Impo rtant Note: Fr If_ Get Global Time may be called within an exclusive area.
دالة FrIf_AllowColdstart [SWS_FrIf_05017] 📄 PDF
Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().
الاستخدام وطريقة العمل
تخدم الدالة FrIf_AllowColdstart كغلاف لـ FlexRay-Treiber-API Fr_AllowColdstart() وفقًا لـ [SWS_FrIf_05017]. وهي تعنون عبر معلمة الإدخال FrIf_CtrlIdx وحدة FlexRay Communication Controller (CC) المراد مخاطبتها [SWS_FrIf_05017]. تم تحديد تنفيذ الدالة على أنه غير متزامن [SWS_FrIf_05017].
قيم الإرجاع ومعالجة الأخطاء
تعكس قيمة الإرجاع من النوع Std_ReturnType نتيجة التنفيذ [SWS_FrIf_05017]:
E_OK: تم استدعاء خدمة API الأساسية لبرنامج تشغيل FlexRay بنجاح وأبلغت بإرجاعE_OK[SWS_FrIf_05017].E_NOT_OK: فشل استدعاء برنامج التشغيل (قيمة الإرجاعE_NOT_OK) أو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05017].
تفسير: يُرجّح أن اكتشاف الأخطاء في Development Mode يتم عبر وحدة Default Error Tracer (DET)، على الرغم من عدم توثيق أي معرّفات أخطاء محددة أو عمليات فحص في مقتطف المواصفات. سؤال Q-5dffd71d66731cc9 (مفتوح)
التزامن والقيود
فيما يتعلق بإمكانية إعادة الدخول، فإن FrIf_AllowColdstart غير قابلة لإعادة الدخول للقيم المتطابقة لـ FrIf_CtrlIdx، ولكن يُسمح باستدعائها بالتوازي لفهارس وحدات التحكم المختلفة [SWS_FrIf_05017]. لذلك، يجب على جهات الاستدعاء التأكد من مزامنة الاستدعاءات المتزامنة لوحدة التحكم نفسها. يتم توفير الواجهة عبر الترويسة FrIf.h [SWS_FrIf_05017].
أُنشئت إرشادات الاستخدام هذه بواسطة ذكاء اصطناعي وتستند إلى بيانات المواصفات من AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_GetMacroticksPerCycle [SWS_FrIf_05018] 📄 PDF
uint16 FrIf_GetMacroticksPerCycle (uint8 FrIf_CtrlIdx);
Retrieves the amount of Macroticks per Cycle
دالة FrIf_GetMacrotickDuration [SWS_FrIf_05019] 📄 PDF
uint16 FrIf_GetMacrotickDuration (uint8 FrIf_CtrlIdx);
Retrieves the Duration of a Macrotick in ns
دالة FrIf_Transmit [SWS_FrIf_05033] 📄 PDF
Std_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
تطلب الدالة المتزامنة FrIf_Transmit إرسال PDU عبر واجهة FlexRay [SWS_FrIf_05033]. وتستقبل معرّف الـ PDU المراد إرسالها (TxPduId) بالإضافة إلى مؤشر إلى البنية PduInfoPtr، التي توفر طول الـ PDU ومؤشرات البيانات والبيانات الوصفية [SWS_FrIf_05033].
فيما يتعلق بالتزامن وإعادة الدخول، فإن FrIf_Transmit قابل لإعادة الدخول لمعرّفات PDU المختلفة، ولكنه غير قابل لإعادة الدخول لنفس معرّف الـ PDU [SWS_FrIf_05033]. يُرجع الاستدعاء E_OK بمجرد قبول طلب الإرسال، وإلا فإنه يُرجع E_NOT_OK [SWS_FrIf_05033].
يتم إجراء فحص أخطاء محدد مع وحدات الـ PDU الفورية (Immediate PDUs)، بشرط إلغاء تفعيل أطوال L-SDU الديناميكية عبر معامل التكوين FrIfAllowDynamicLSduLength إلى FALSE [SWS_FrIf_05757]:
- يتم فحص الطول المُمرّر في
PduInfoPtrمقارنةً بطول الـ PDU المكوّن استاتيكيًا [SWS_FrIf_05757]. - إذا لم يتطابق تحديد الطول، يُلغي
FrIf_Transmitإرسال الـ Immediate PDU ويُرجعE_NOT_OK[SWS_FrIf_05757]. - طالما أن اكتشاف التطوير (
FrIfDevErrorDetect == ON) نشط، تُبلّغ الدالة عن خطأ التطويرFRIF_E_INV_PDULENGTHعبرDet_ReportErrorإلى وحدة DET [SWS_FrIf_05757].
تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفة R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة FrIf_SetTransceiverMode [SWS_FrIf_05034] 📄 PDF
Std_ReturnType FrIf_SetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, Limited by st atic configuration [Configuration Parameter FrIfCounterLimit, see FrIf06076 ]); ⚠️
Wraps the Flex Ray Transceiver Driver API function Fr
تعمل الواجهة المتزامنة FrIf_SetTransceiverMode ذات معرّف الخدمة 0x13 في واجهة FlexRay كغلاف (wrapper) لدالة المشغل FrTrcv_SetTransceiverMode() الخاصة بمشغل جهاز إرسال واستقبال FlexRay، وهي متاحة عبر ملف الرأس FrIf.h [SWS_FrIf_05034]. وتتيح للطبقات العليا ضبط نمط تشغيل جهاز إرسال واستقبال لمتحكم FlexRay وقناة محددين [SWS_FrIf_05034].
عند الاستدعاء، يجب تمرير ثلاث معلمات: فهرس المتحكم FrIf_CtrlIdx لعنونة FlexRay Communication Controller، وفهرس القناة FrIf_ChnlIdx لتحديد قناة FlexRay ضمن نطاق صلاحية المتحكم، بالإضافة إلى نمط جهاز الإرسال والاستقبال المطلوب FrIf_TrcvMode من النوع FrTrcv_TrcvModeType [SWS_FrIf_05034]. لا توجد معلمات إدخال/إخراج ولا معلمات إخراج [SWS_FrIf_05034]. بالنسبة للمعلمة FrIf_ChnlIdx، يسري المتطلب الإلزامي بأنه لا يجوز بأي حال من الأحوال استخدام قيمة التعداد FR_CHANNEL_AB [SWS_FrIf_05034].
الدالة محددة على أنها قابلة لإعادة الدخول وتمرر تغيير النمط بشكل متزامن إلى مشغل جهاز الإرسال والاستقبال [SWS_FrIf_05034]. وكنتيجة، تُرجع الحالة Std_ReturnType: حيث تُبلّغ عن E_OK إذا أرجع استدعاء خدمة الـ API في مشغل جهاز الإرسال والاستقبال بنجاح E_OK؛ وإذا فشل استدعاء المشغل هذا وأرجع E_NOT_OK، فسيتم إرجاع E_NOT_OK أيضًا [SWS_FrIf_05034].
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على مواصفات AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة FrIf_GetTransceiverMode [SWS_FrIf_05035] 📄 PDF
Std_ReturnType FrIf_GetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvModeType* FrIf_TrcvModePtr);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Mode(). The enum value "FR_ CHANNEL_ AB" shall not be used.
دالة FrIf_GetTransceiverWUReason [SWS_FrIf_05036] 📄 PDF
Std_ReturnType FrIf_GetTransceiverWUReason (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvWUReasonType* FrIf_TrcvWUReasonPtr);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver WUReason(). The enum value "FR_ CHANNEL_ AB" shall not be used.
دالة FrIf_ClearTransceiverWakeup [SWS_FrIf_05039] 📄 PDF
Std_ReturnType FrIf_ClearTransceiverWakeup (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Clear Transceiver Wakeup(). The enum value "FR_ CHANNEL_ AB" shall not be used. A vailable via Fr If.h
تعمل الدالة التزامنية FrIf_ClearTransceiverWakeup (معرف الخدمة 0x18) كغلاف ضمن واجهة FlexRay وتُغلف استدعاء دالة API FrTrcv_ClearTransceiverWakeup() الخاصة ببرنامج تشغيل جهاز إرسال واستقبال FlexRay [SWS_FrIf_05039]. وتتوفر الواجهة عبر ملف الرأس FrIf.h [SWS_FrIf_05039].
عند الاستدعاء، تتوقع الدالة معلمتي إدخال تحديدًا [SWS_FrIf_05039]:
FrIf_CtrlIdx: فهرس وحدة FlexRay-Communication-Controller المراد عنونتها [SWS_FrIf_05039].FrIf_ChnlIdx: فهرس قناة FlexRay المعنية ضمن نطاق صلاحية وحدة التحكمFrIf_CtrlIdx[SWS_FrIf_05039].
لم تُحدد أي معلمات أخرى (inout أو out) للدالة [SWS_FrIf_05039].
فيما يتعلق بالتزامن والشروط الحدية، صُنفت الدالة على أنها قابلة لإعادة الدخول [SWS_FrIf_05039]. وكقيد وظيفي أساسي، تنص المواصفة على عدم جواز استخدام قيمة التعداد FR_CHANNEL_AB للمعلمة FrIf_ChnlIdx [SWS_FrIf_05039].
تُرجع نتيجة العملية بشكل تزامني كـ Std_ReturnType وتعكس مباشرة نتيجة خدمة برنامج التشغيل [SWS_FrIf_05039]:
E_OK: نُفذت خدمة API لبرنامج تشغيل جهاز إرسال واستقبال FlexRay بنجاح وأرجعتE_OK[SWS_FrIf_05039].E_NOT_OK: فشل استدعاء خدمة برنامج التشغيل وأبلغ عنE_NOT_OK[SWS_FrIf_05039].
تم توليد ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_CancelAbsoluteTimer [SWS_FrIf_05023] 📄 PDF
Std_ReturnType FrIf_CancelAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Wraps the Flex Ray Driver API function Fr_ Cancel Absolute Timer() .
تُستخدم الدالة FrIf_CancelAbsoluteTimer للإلغاء المتزامن لمؤقت مطلق تم تكوينه على وحدة التحكم في اتصالات (CC) FlexRay [SWS_FrIf_05023]. وهي تعمل كغلاف حول دالة برنامج التشغيل المقابلة Fr_CancelAbsoluteTimer() لبرنامج تشغيل FlexRay وتتوفر عبر ملف الرأس FrIf.h [SWS_FrIf_05023].
المعلمات وقيم الإرجاع
عند الاستدعاء، يتم تمرير معاملي دخل [SWS_FrIf_05023]:
FrIf_CtrlIdx: فهرس وحدة تحكم FlexRay المراد مخاطبتها.FrIf_AbsTimerIdx: فهرس المؤقت المطلق المراد إلغاؤه.
تعيد الدالة حالة من النوع Std_ReturnType [SWS_FrIf_05023]:
E_OK: انتهى الاستدعاء الأساسي لواجهة برمجة تطبيقات (API) برنامج تشغيل FlexRay بنجاح معE_OK[SWS_FrIf_05023].E_NOT_OK: فشل استدعاء واجهة برمجة تطبيقات برنامج التشغيل (Treiber-API) (إرجاعE_NOT_OK) أو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05023].
التزامن والقيود
يتم التنفيذ بشكل متزامن مع معرّف الخدمة 0x1b [SWS_FrIf_05023]. وفيما يتعلق بإمكانية إعادة الدخول، فإن الخدمة قابلة لإعادة الدخول لوحدات FlexRay CC المختلفة، ولكن لا يجوز استدعاؤها بالتزامن لنفس وحدة FlexRay CC [SWS_FrIf_05023].
تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_GetAbsoluteTimerIRQStatus [SWS_FrIf_05027] 📄 PDF
Std_ReturnType FrIf_GetAbsoluteTimerIRQStatus (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, boolean* FrIf_IRQStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get Absolute Timer IRQStatus()
دالة FrIf_DisableAbsoluteTimerIRQ [SWS_FrIf_05031] 📄 PDF
Std_ReturnType FrIf_DisableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Wraps the Flex Ray Driver API function Fr_ Disable Absolute Timer IRQ().
تعد الدالة FrIf_DisableAbsoluteTimerIRQ جزءًا من وحدة واجهة FlexRay (FlexRay-Interface) ويتم توفيرها عبر ملف الترويسة FrIf.h [SWS_FrIf_05031]. وتعمل كغلاف متزامن للدالة Fr_DisableAbsoluteTimerIRQ() الخاصة بـ FlexRay-Treiber-API، وتمرر طلب إلغاء تنشيط توليد المقاطعات للمؤقت المطلق المعنون إلى مستوى برنامج التشغيل [SWS_FrIf_05031].
سياق الاستدعاء والمعلمات
يتم الاستدعاء بشكل متزامن باستخدام معرّف الخدمة 0x23 [SWS_FrIf_05031]. لا تحتوي الواجهة على معاملات دخل/خرج أو معاملات خرج صرفة، ولكنها تتطلب معاملي دخل إلزاميَين [SWS_FrIf_05031]:
FrIf_CtrlIdx: فهرس وحدة التحكم في اتصالات (CC) FlexRay المراد مخاطبتها [SWS_FrIf_05031].FrIf_AbsTimerIdx: فهرس المؤقت المطلق المراد تكوينه [SWS_FrIf_05031].
قيم الإرجاع ومعالجة الأخطاء
تُرجع الدالة الحالة إلى جهة الاستدعاء عبر نوع الإرجاع Std_ReturnType [SWS_FrIf_05031]:
E_OK: تشير إلى أن استدعاء خدمة API لبرنامج تشغيل FlexRay كان ناجحًا وأرجعE_OK[SWS_FrIf_05031].E_NOT_OK: تشير إلى أن خدمة API لبرنامج تشغيل FlexRay أرجعتE_NOT_OKأو تم رصد خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05031].
التزامن وإعادة الدخول
وفقًا لمتطلبات إعادة الدخول، فإن FrIf_DisableAbsoluteTimerIRQ غير قابلة لإعادة الدخول لنفس وحدة التحكم في اتصالات FlexRay، ولكنها قابلة لإعادة الدخول لوحدات FlexRay CC المختلفة [SWS_FrIf_05031]. لذلك لا يجوز إجراء استدعاءات لنفس مثيل وحدة التحكم بالتزامن من سياقات مختلفة دون مزامنة.
تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_GetCycleLength [SWS_FrIf_05239] 📄 PDF
uint32 FrIf_GetCycleLength (uint8 FrIf_CtrlIdx);
This API returns the configured time of the configuration parameter "Gd Cycle" in nanoseconds for the Flex Ray controller with index Fr If_ Ctrl Idx.
دالة FrIf_AllSlots [SWS_FrIf_05020] 📄 PDF
Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ All Slots
تُستخدم الواجهة المتزامنة FrIf_AllSlots داخل واجهة FlexRay كغلاف لاستدعاء دالة برنامج التشغيل الأساسية Fr_AllSlots الخاصة ببرنامج تشغيل FlexRay [SWS_FrIf_05020]. يتم توفير الدالة عبر ملف الرأس FrIf.h وتملك معرّف الخدمة 0x33 [SWS_FrIf_05020]. ويُتوقع كمعامل تمرير وحيد FrIf_CtrlIdx، والذي يحدد الفهرس المنطقي لوحدة التحكم في اتصالات FlexRay المراد مخاطبتها [SWS_FrIf_05020]. لا توجد معاملات دخل وخرج (inout/out) مخصصة لهذه الخدمة [SWS_FrIf_05020].
تُرجع الوظيفة الحالة Std_ReturnType كقيمة مُرجعة بالمعاني التالية [SWS_FrIf_05020]:
E_OK: كان استدعاء واجهة برمجة تطبيقات (API) برنامج التشغيلFr_AllSlotsناجحًا وأرجعE_OK[SWS_FrIf_05020].E_NOT_OK: فشل استدعاء برنامج تشغيل FlexRay أو أرجعE_NOT_OK، أو تم اكتشاف خطأ أثناء التنفيذ في وضع التطوير [SWS_FrIf_05020].
فيما يتعلق بسلوك وقت التشغيل والتزامن، حُددت FrIf_AllSlots على أنها غير قابلة لإعادة الدخول (non reentrant) [SWS_FrIf_05020]. لذلك يجب على الكيان المستدعي ضمان استبعاد الاستدعاءات المتزامنة أو المتداخلة لوحدة التحكم المعنية. تفسير: يُرجح أن الاستدعاء يجب أن يتم من سياق مهمة محمي، لأن الواجهة لا توفر إدارة إعادة دخول خاصة بها عند الوصول المتوازي. سؤال Q-e4ce542c60b470c8 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ والمعيار المعتمد هو معيار AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_GetChannelStatus [SWS_FrIf_05030] 📄 PDF
Std_ReturnType FrIf_GetChannelStatus (uint8 FrIf_CtrlIdx, uint16* FrIf_ChannelAStatusPtr, uint16* FrIf_ChannelBStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get Channel Status() and gets the channel status information.
دالة FrIf_GetClockCorrection [SWS_FrIf_05071] 📄 PDF
Std_ReturnType FrIf_GetClockCorrection (uint8 FrIf_CtrlIdx, sint16* FrIf_RateCorrectionPtr, sint32* FrIf_OffsetCorrectionPtr);
Wraps the Flex Ray Driver API function Fr_ Get Clock Correction () and gets the current clock correction values.
دالة FrIf_GetSyncFrameList [SWS_FrIf_05072] 📄 PDF
Std_ReturnType FrIf_GetSyncFrameList (uint8 FrIf_CtrlIdx, uint8 FrIf_ListSize, uint16* FrIf_ChannelAEvenListPtr, uint16* FrIf_ChannelBEvenListPtr, uint16* FrIf_ChannelAOddListPtr, uint16* FrIf_ChannelBOddListPtr);
Service FrIf_GetSyncFrameList.
دالة FrIf_GetNumStartupFrames [SWS_FrIf_05073] 📄 PDF
Std_ReturnType FrIf_GetNumOfStartupFrames (uint8 FrIf_CtrlIdx, uint8* FrIf_NumOfStartupFramesPtr);
Wraps the Flex Ray Driver API function Fr_ Get Num Of Startup Frames and gets a list of the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.
دالة FrIf_GetWakeupRxStatus [SWS_FrIf_05102] 📄 PDF
Std_ReturnType FrIf_GetWakeupRxStatus (uint8 FrIf_CtrlIdx, uint8* FrIf_WakeupRxStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get Wakeup Rx Status and gets the wakeup received information from the Flex Ray controller.
دالة FrIf_CancelTransmit [SWS_FrIf_05070] 📄 PDF
Std_ReturnType FrIf_CancelTransmit (PduIdType TxPduId);
Requests cancellation of an ongoing transmission o f a PDU in a lower layer communication module.
الاستخدام
تطلب الدالة التزامنية FrIf_CancelTransmit إلغاء عملية نقل PDU جارية في وحدة اتصال تابعة [SWS_FrIf_05070]. ويُمرر TxPduId كمعلمة إدخال، والذي يحدد الـ PDU المراد إلغاؤها. ويتم التنفيذ تزامنيًا ويُرجع قيمة إرجاع من النوع Std_ReturnType [SWS_FrIf_05070]:
E_OK: تم تنفيذ إلغاء الإرسال بنجاح بواسطة الوحدة الهدف.E_NOT_OK: رُفض الإلغاء من قِبل الوحدة المستهدفة.
التزامن والقيود
فيما يتعلق بالتزامن، فإن FrIf_CancelTransmit قابلة لإعادة الدخول لمعرفات PDU مختلفة، لكنها غير قابلة لإعادة الدخول لنفس المعرف TxPduId [SWS_FrIf_05070]. لذلك، عند إجراء استدعاءات من سياقات متوازية لنفس معرف PDU، فمن المرجح أن تكون هناك حاجة إلى مزامنة خارجية من جانب المتصل لتجنب حالات التسابق (Race Conditions). سؤال Q-38e799ac1564f60f (مفتوح)
معالجة الأخطاء والتكامل
لم تُحدد رموز خطأ خاصة بـ DET أو DEM في الواجهة؛ ويُشار إلى فشل الإلغاء مباشرة عبر قيمة الإرجاع E_NOT_OK [SWS_FrIf_05070]. وتحمل الخدمة معرف الخدمة 0x4a وتتوفر عبر ملف الرأس FrIf.h [SWS_FrIf_05070].
تم إنشاء ملاحظة الاستخدام هذه تلقائياً استناداً إلى المواصفة.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة FrIf_DisableLPdu [SWS_FrIf_05710] 📄 PDF
Std_ReturnType FrIf_DisableLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
Wraps the Flex Ray Driver Function Fr_ Disable LPdu. It disables the hardware resource of an LPdu for transmission/ recept ion.
تعمل الدالة FrIf_DisableLPdu كغلاف لدالة المشغل Fr_DisableLPdu الخاصة بمشغل FlexRay، وتعطّل مورد العتاد الأساسي لـ L-PDU الخاصة بالإرسال أو الاستقبال [SWS_FrIf_05710].
الاستدعاء والمعاملات
يتم استدعاء FrIf_DisableLPdu بشكل متزامن عبر الواجهة FrIf.h باستخدام معرّف الخدمة 0x28 [SWS_FrIf_05710]. وتتوقع الدالة معلمتي إدخال:
FrIf_CtrlIdx: فهرس FlexRay Communication Controller في سياق واجهة FlexRay [SWS_FrIf_05710].FrIf_LPduIdx: فهرس فريد لتعريف إطار FlexRay المعني [SWS_FrIf_05710].
قيم الإرجاع ومعالجة الأخطاء
تُرجع الدالة كمعامل نتيجة حالة من النوع Std_ReturnType [SWS_FrIf_05710]:
E_OK: تم اكتمال استدعاء API بنجاح [SWS_FrIf_05710].E_NOT_OK: تم إلغاء استدعاء الـ API بسبب وجود أخطاء [SWS_FrIf_05710].
التزامن والقيود
فيما يتعلق بسلوك التزامن، تم تحديد FrIf_DisableLPdu على أنها غير قابلة لإعادة الدخول لنفس الجهاز (Non Reentrant for the same device) [SWS_FrIf_05710]. ولذلك، يجب تجنب الاستدعاءات المتوازية لنفس المتحكم أو نفس الجهاز من جانب الجهة المستدعية أو مزامنتها.
تم إنشاء هذا النص تلقائيًا ويستند حصرًا إلى بيانات المواصفة.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_GetTransceiverError [SWS_FrIf_05032] 📄 PDF
Std_ReturnType FrIf_GetTransceiverError (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx, uint32* FrIf_BusErrorState);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Error. The enum value "FR_ CHANNEL_ AB" shall not be used.
دالة FrIf_EnableTransceiverBranch [SWS_FrIf_05085] 📄 PDF
Std_ReturnType FrIf_EnableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Enable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.
تُغلّف الدالة FrIf_EnableTransceiverBranch، بوصفها غلافاً متزامناً وقابلاً لإعادة الدخول، استدعاء API FrTrcv_EnableTransceiverBranch لمشغل جهاز إرسال واستقبال FlexRay الأساسي [SWS_FrIf_05085]. ومن خلال هذه الواجهة، يتم تنشيط فرع محدد لجهاز إرسال واستقبال بشكل مستهدف، على سبيل المثال في سياق نجمة نشطة [SWS_FrIf_05085]. ويتم توفير تصريح الدالة والأنواع المرتبطة بها عبر ملف الرأس FrIf.h [SWS_FrIf_05085].
المعلمات وشروط الاستدعاء
عند الاستدعاء، يجب تمرير ثلاث معلمات إدخال [SWS_FrIf_05085]:
FrIf_CtrlIdx: يعنون فهرس وحدة تحكم اتصالات FlexRay المعنية [SWS_FrIf_05085].FrIf_ChnlIdx: يحدد قناة FlexRay ضمن نطاق صلاحية وحدة التحكمFrIf_CtrlIdx[SWS_FrIf_05085]. ينطبق هنا قيد إلزامي يقضي بعدم جواز استخدام قيمة التعدادFR_CHANNEL_AB[SWS_FrIf_05085].FrIf_BranchIdx: يحدد عبر فهرس صفري الأساس الفرع الفعلي لجهاز الإرسال والاستقبال الذي يُطبق عليه التنشيط [SWS_FrIf_05085].
قيم الإرجاع
تُرجع الدالة قيمة حالة من النوع Std_ReturnType، والتي تعكس مباشرة نتيجة استدعاء المشغل الذي تمت إعادة توجيهه [SWS_FrIf_05085]:
E_OK: كان استدعاء خدمة المشغلFrTrcv_EnableTransceiverBranchناجحاً وأرجعE_OK[SWS_FrIf_05085].E_NOT_OK: أبلغ استدعاء خدمة المشغل عنE_NOT_OK[SWS_FrIf_05085].
تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_DisableTransceiverBranch [SWS_FrIf_05028] 📄 PDF
Std_ReturnType FrIf_DisableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Disable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.
تُغلف الدالة التزامنية والقابلة لإعادة الدخول FrIf_DisableTransceiverBranch، كدالة غلاف، الخدمة FrTrcv_DisableTransceiverBranch الخاصة ببرنامج تشغيل جهاز إرسال واستقبال FlexRay [SWS_FrIf_05028]. وتُتاح عبر ملف الرأس FrIf.h، وتحمل معرف الخدمة 0x37، وتُستخدم لتعطيل فرع محدد لجهاز إرسال واستقبال ذي طوبولوجيا نجمية نشطة بشكل موجه [SWS_FrIf_05028].
عند الاستدعاء، يجب تمرير ثلاث معلمات إدخال:
FrIf_CtrlIdx: فهرس وحدة تحكم FlexRay المراد عنونتها [SWS_FrIf_05028].FrIf_ChnlIdx: قناة FlexRay ضمن نطاق صلاحية وحدة التحكم. وهنا تنطبق التوجيهات الإلزامية بعدم جواز استخدام قيمة التعدادFR_CHANNEL_AB[SWS_FrIf_05028].FrIf_BranchIdx: فهرس يبدأ من الصفر، يحدد الفرع المعني لجهاز الإرسال والاستقبال الذي سيتم تطبيق العملية عليه [SWS_FrIf_05028].
كقيمة إرجاع، تُرجع الواجهة حالة من النوع Std_ReturnType. وتُرجع E_OK إذا نجح استدعاء برنامج تشغيل جهاز الإرسال والاستقبال، وE_NOT_OK إذا أبلغت خدمة برنامج التشغيل عن E_NOT_OK [SWS_FrIf_05028]. لم يتم توثيق رسائل خطأ محددة لـ DET أو DEM ضمن نطاق المواصفة؛ ويرجع الفشل على الأرجح مباشرة إلى سلوك برنامج التشغيل التابع. سؤال Q-52d5e5fedd147532 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي استنادًا إلى مواصفات AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة FrIf_ReconfigLPdu [SWS_FrIf_05048] 📄 PDF
Std_ReturnType FrIf_ReconfigLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx, uint16 FrIf_FrameId, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_CycleRepetition, uint8 FrIf_CycleOffset, uint8 FrIf_PayloadLength, uint16 FrIf_Header CRC); ⚠️
Service FrIf_ReconfigLPdu.
تُستخدم الدالة المتزامنة FrIf_ReconfigLPdu لإعادة تكوين L-PDU في واجهة FlexRay (FrIf) وتمرر الاستدعاء مباشرةً إلى واجهة برنامج التشغيل Fr_ReconfigLPdu التابعة لبرنامج تشغيل FlexRay [SWS_FrIf_05048]. يتم توفير الواجهة عبر ملف الرأس FrIf.h [SWS_FrIf_05048].
المعاملات وقيود التكوين
FrIf_CtrlIdx: يعنون فهرس وحدة تحكم اتصالات FlexRay داخل مشغل FlexRay [SWS_FrIf_05048].FrIf_LPduIdx: يحدد الفهرس الفريد لتعريف إطار FlexRay المراد تكوينه [SWS_FrIf_05048].FrIf_FrameIdوFrIf_CycleRepetitionوFrIf_CycleOffset: تحدد معرّف إطار FlexRay الجديد بالإضافة إلى التكرار والإزاحة لآلية تصفية الدورات الخاصة بـ L-PDU [SWS_FrIf_05048].FrIf_ChnlIdx: يحدد قناة FlexRay من النوعFr_ChannelType[SWS_FrIf_05048]. وفي هذا السياق، يُشترط بصرامة عدم جواز استخدام قيمة التعدادFR_CHANNEL_AB[SWS_FrIf_05048].FrIf_PayloadLengthوFrIf_HeaderCRC: يحددان طول البيانات المفيدة بالبايت بالإضافة إلى Header-CRC المرتبط، واللذين يجب ضبط L-PDU عليهما [SWS_FrIf_05048].
قيم الإرجاع وسياق التنفيذ
تشير قيمة الإرجاع من النوع Std_ReturnType إلى نتيجة إعادة التكوين: يشير E_OK إلى التنفيذ الناجح لاستدعاء API، بينما يشير E_NOT_OK إلى الإلغاء بسبب خطأ [SWS_FrIf_05048].
الدالة متزامنة ومحددة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_FrIf_05048]. وبالتالي، لا يجوز استدعاؤها على نحو متزامن.
تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR Classic R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_GetNmVector [SWS_FrIf_05016] 📄 PDF
Std_ReturnType FrIf_GetNmVector (uint8 FrIf_CtrlIdx, uint8* FrIf_NmVectorPtr);
Derives the Flex Ray NM Vector. Av ailable via Fr If.h
دالة FrIf_GetVersionInfo [SWS_FrIf_05002] 📄 PDF
void FrIf_GetVersionInfo (Std_VersionInfoType* FrIf_VersionInfoPtr);
Returns the version information of this module.
دالة FrIf_ReadCCConfig [SWS_FrIf_05313] 📄 PDF
Std_ReturnType FrIf_ReadCCConfig (uint8 FrIf_CtrlIdx, uint8 FrIf_Config ParamIdx, uint32* FrIf_Config ParamValuePtr); ⚠️
Wraps the Flex Ray Driver API function Fr_ Read CCConfig().
تمثل الدالة FrIf_ReadCCConfig خدمة متزامنة لواجهة FlexRay برمز الخدمة ID 0x3b وتكون مصرّحة عبر ملف الرأس FrIf.h [SWS_FrIf_05313]. وتتمثل مهمتها الأساسية في استدعاء دالة المشغل Fr_ReadCCConfig() لمشغل FlexRay الأساسي كغلاف لقراءة معلمات تكوين وحدة التحكم [SWS_FrIf_05313].
تتوقع الواجهة ثلاث معلمات عند الاستدعاء [SWS_FrIf_05313]:
FrIf_CtrlIdx(دخل): الفهرس العددي لوحدة تحكم اتصالات FlexRay المراد مخاطبتها (CC).FrIf_ConfigParamIdx(دخل): فهرس معلمة التكوين المحددة التي يُراد الاستعلام عن قيمتها.FrIf_ConfigParamValuePtr(خرج): مؤشر إلى موقع الذاكرة الذي سيتم تخزين قيمة التكوين المقروءة بعرض 32 بت فيه.
تشير قيمة الإرجاع من النوع Std_ReturnType إلى نتيجة الاستعلام [SWS_FrIf_05313]:
E_OK: تم تنفيذ استدعاء API للمشغلFr_ReadCCConfig()بنجاح وأرجعE_OK.E_NOT_OK: أبلغ مشغل FlexRay عنE_NOT_OKأو تم اكتشاف خطأ أثناء التنفيذ في وضع التطوير (Development Mode).
فيما يتعلق بالتزامن وبيئة التنفيذ، فإن FrIf_ReadCCConfig غير قابلة لإعادة الدخول لنفس وحدة تحكم FlexRay، ولكنها قابلة لإعادة الدخول لوحدات تحكم مختلفة [SWS_FrIf_05313]. وعند الوصول إلى وحدة التحكم نفسها، يجب على المستدعي ضمان المزامنة المناسبة. ويُفترض على الأرجح إعادة توجيه أي خطأ يُكتشف في وضع التطوير إلى Default Error Tracer (DET). سؤال Q-bfe56460515de4de (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند حصرياً إلى بيانات مواصفات AUTOSAR Classic الإصدار R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة FrIf_EnableBusMirroring [SWS_FrIf_05726] 📄 PDF
Std_ReturnType FrIf_EnableBusMirroring (uint8 FrIf_ClstIdx, boolean FrIf_MirroringActive);
Enables or disables mirroring for all Flex Ray controllers connected to the addressed Flex Ray cluster.
الاستخدام والدلالات
تقوم الدالة المتزامنة FrIf_EnableBusMirroring بتبديل Bus-Mirroring لجميع وحدات تحكم FlexRay المرتبطة بعنقود FlexRay الممرَّر [SWS_FrIf_05726]. وتتم عنونة العنقود المعني عبر المعلمة FrIf_ClstIdx. وتحدد المعلمة المنطقية FrIf_MirroringActive الوضع: عند تمرير TRUE، يتم استدعاء الواجهة Mirror_ReportFlexRayFrame لكل إطار مستلَم أو مُرسَل على وحدات التحكم؛ وعند FALSE يتم إلغاء تفعيل إعادة توجيه الإطارات إلى وحدة Mirror [SWS_FrIf_05726].
قيم الإرجاع ومعالجة الأخطاء
يُرجع استدعاء الدالة حالة من النوع Std_ReturnType [SWS_FrIf_05726]:
E_OK: تم تحديث وضع النسخ المتطابق للعنقود المحدد بنجاح [SWS_FrIf_05726].E_NOT_OK: تم رفض التبديل إذا كانت وظيفة النسخ المتطابق غير مفعّلة عموميًا (معلمة التكوينFrIfBusMirroringSupport) أو في حال وجود فهرس غير صالح [SWS_FrIf_05726]. تفسير: من المرجح أن تشير مواصفةFrIf_CtrlIdxعندE_NOT_OK، على الرغم من التسمية المختلفة، إلى التحقق من فهرس العنقودFrIf_ClstIdxأو وحدات التحكم المخصصة. سؤال Q-9daba2ff2b1a3ff1 (مفتوح)
التزامن والتكامل
تم الإعلان عن الدالة على أنها قابلة لإعادة الدخول (reentrant) وتحمل معرف الخدمة 0x4b؛ ويتم توفيرها عبر ملف الرأس FrIf.h [SWS_FrIf_05726]. ويجب على المستدعين مراعاة أن التنفيذ يتم بشكل متزامن. لا توجد قنوات خطأ إضافية عبر DET أو DEM مدرجة لهذه الخدمة.
تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وتظل مواصفة AUTOSAR هي المرجع المعتمد.
دليل المنفِّذ قيد الإعداد (التعقيد I2)
دالة FrIf_CheckWakeupByTransceiver [SWS_FrIf_05041] 📄 PDF
void FrIf_CheckWakeupByTransceiver (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Check Wakeup By Transceiver(). The enum value "FR_ CHANNEL_ AB" shall not be used.
الاستخدام وسياق الاستدعاء
تعمل الدالة FrIf_CheckWakeupByTransceiver (معرّف الخدمة 0x39) في واجهة FlexRay كغلاف متزامن للدالة FrTrcv_CheckWakeupByTransceiver() الخاصة ببرنامج تشغيل جهاز إرسال واستقبال FlexRay [SWS_FrIf_05041]. يتم توفيرها عبر ملف الرأس FrIf.h وليس لها قيمة إرجاع [SWS_FrIf_05041].
لعنونة مثيل العتاديات المعني، تتطلب الواجهة معاملي دخل إلزاميَين [SWS_FrIf_05041]:
FrIf_CtrlIdx(معامل دخل،uint8): فهرس وحدة التحكم في اتصالات FlexRay المراد عنونتها [SWS_FrIf_05041].FrIf_ChnlIdx(معامل دخل،Fr_ChannelType): فهرس قناة FlexRay المراد مخاطبتها ضمن نطاق صلاحية وحدة التحكم المحددةFrIf_CtrlIdx[SWS_FrIf_05041].
التزامن والقيود
تحدد المواصفة الواجهة على أنها قابلة لإعادة الدخول، بحيث يمكن إرسال الاستدعاءات المتزامنة بالتوازي [SWS_FrIf_05041].
يوجد قيد تطبيق صارم على معامل القناة FrIf_ChnlIdx: لا يجوز تمرير قيمة التعداد FR_CHANNEL_AB [SWS_FrIf_05041]. تفسير: يُرجح أن هذا يعني أن برنامج تشغيل جهاز الإرسال والاستقبال الأساسي لا يدعم فحص استيقاظ مجمع لكلا القناتين في استدعاء واحد، ويجب بدلاً من ذلك فحص الأنظمة ذات قناتي FlexRay بالتتابع أو بشكل منفصل لكل قناة. سؤال Q-a30cf39f0d3ca295 (مفتوح)
أُنشئ هذا النص بواسطة ذكاء اصطناعي ويستند إلى AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
دالة <User_RxIndication> [SWS_FrIf_05045] 📄 PDF
void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
تُستخدم دالة معاودة الاتصال (Callback) <User_RxIndication> للإشارة إلى PDU مستلمة من طبقة واجهة الاتصال الواقعة أسفلها [SWS_FrIf_05045]. التفسير: يُرجح أن يمثل المعرف دالة معاودة اتصال قابلة للتهيئة لطبقة عليا، يتم إخطارها عند وصول بيانات FlexRay. سؤال Q-a9037bc7502dd9ea (مفتوح)
الاستخدام والمعلمات
يتم التنفيذ بشكل تزامني دون قيمة إرجاع (void) [SWS_FrIf_05045]. وعند الاستدعاء، يتم تمرير معلمتي إدخال [SWS_FrIf_05045]:
RxPduId(PduIdType): المعرف الفريد لـ PDU المستلمة [SWS_FrIf_05045].PduInfoPtr(const PduInfoType*): مؤشر إلى بنية تحتوي على طول الـ PDU المستلمة (SduLength)، ومؤشر إلى المخزن المؤقت المحتوي على البيانات المفيدة (SduDataPtr) بالإضافة إلى البيانات الوصفية المرتبطة بها [SWS_FrIf_05045].
التزامن والتكوين
فيما يتعلق بإمكانية إعادة الدخول، فإن الدالة قابلة لإعادة الدخول لمعرفات PDU مختلفة، ولكن لا يجوز استدعاؤها بشكل قابل لإعادة الدخول لنفس معرف PDU [SWS_FrIf_05045]. والواجهة متاحة بشكل قابل للتهيئة في الوحدة («Available via configurable») [SWS_FrIf_05045]. لم تُحدد رموز خطأ أو قيم إرجاع أو إشعارات محددة لـ DET وDEM في المصادر لهذه الواجهة [SWS_FrIf_05045].
أُنشئ هذا النص تلقائيًا. وتستند جميع البيانات حصريًا إلى بيانات مواصفات الوحدة FrIf.
دالة <User_TxConfirmation> [SWS_FrIf_05046] 📄 PDF
void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);
The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.
يتم استدعاء دالة معاودة الاتصال القابلة للتهيئة <User_TxConfirmation> بواسطة وحدة واجهة الاتصال التابعة لتأكيد اكتمال عملية إرسال لـ PDU [SWS_FrIf_05046]. وتبلغ الطبقة الأعلى تزامنيًا بما إذا كان نقل الـ PDU المقابلة قد تم بنجاح أم فشل [SWS_FrIf_05046].
لا تملك الواجهة قيمة إرجاع (void) وتتوقع معلمتي إدخال [SWS_FrIf_05046]:
TxPduId(النوعPduIdType): يحدد المعرف الفريد لـ PDU المنقولة [SWS_FrIf_05046].result(النوعStd_ReturnType): يحدد نتيجة النقل، حيث يؤكدE_OKالنقل الناجح ويبلغE_NOT_OKعن فشل نقل الـ PDU [SWS_FrIf_05046].
تعمل الدالة بشكل تزامني [SWS_FrIf_05046]. وفيما يخص التزامن، فهي قابلة لإعادة الدخول لمعرفات PDU مختلفة، ولكنها غير قابلة لإعادة الدخول لنفس المعرف TxPduId [SWS_FrIf_05046]. لذلك، يجب استبعاد استدعاءات التأكيد المتوازية لمعرفات PDU المتطابقة.
لم تُحدد رموز خطأ مخصصة بخلاف E_NOT_OK أو رسائل منفصلة إلى DET أو DEM لهذا الاستدعاء [SWS_FrIf_05046]. التفسير: نظرًا لأن الواجهة مصنفة على أنها قابلة للتهيئة، فمن المرجح أن يعمل المعرف <User_TxConfirmation> كعنصر نائب لاسم الدالة المكون فعليًا في الطبقة الأعلى [SWS_FrIf_05046]. سؤال Q-f2a08258df49b3ec (مفتوح)
أُنشئ هذا النص بواسطة ذكاء اصطناعي ويعمل كمساعدة لمواصفة AUTOSAR.
دالة <User_TriggerTransmit> [SWS_FrIf_05047] 📄 PDF
Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Within this API, the upper lay er module (called module) shall check whether the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayInterface available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual c opied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.
الاستخدام
يتم استدعاء دالة معاودة الاتصال التزامنية <User_TriggerTransmit> لطلب بيانات SDU من طبقة عليا لأغراض النقل [SWS_FrIf_05047]. وتُمرر كمعلمات المعرف TxPduId لـ SDU المراد إرسالها بالإضافة إلى المؤشر PduInfoPtr من النوع PduInfoType* [SWS_FrIf_05047]. ويوفر المتصل عبر PduInfoPtr->SduDataPtr مخزنًا مؤقتًا للهدف ويحدد في PduInfoPtr->SduLength حجم المخزن المؤقت المتاح [SWS_FrIf_05047].
تتحقق وحدة الطبقة العليا المستدعاة مما إذا كانت البيانات الجاهزة تتسع في حجم المخزن المؤقت المحدد [SWS_FrIf_05047]:
- إذا كانت البيانات تتسع، تنسخها الوحدة إلى
PduInfoPtr->SduDataPtr، وتحدثPduInfoPtr->SduLengthإلى عدد البايتات المنسوخة فعليًا وتُرجعE_OK[SWS_FrIf_05047]. - إذا لم تتسع البيانات، تُرجع الوحدة
E_NOT_OKدون تعديلPduInfoPtr[SWS_FrIf_05047].
معالجة الأخطاء والتزامن
في حالة الخطأ (قيمة الإرجاع E_NOT_OK)، لا يتم نسخ أي بيانات SDU. وفي هذه الحالة، لا يجوز استخدام PduInfoPtr بعد ذلك، لأنه قد يحتوي على مؤشر NULL أو يشير إلى بيانات غير صالحة [SWS_FrIf_05047].
الواجهة قابلة لإعادة الدخول لمعرفات PDU مختلفة، لكنها غير قابلة لإعادة الدخول لنفس معرف PDU [SWS_FrIf_05047]. وتوفر الدالة قابل للتهيئة [SWS_FrIf_05047].
أُنشئ هذا النص بواسطة ذكاء اصطناعي. وتستند جميع البيانات حصريًا إلى مواصفات إصدار AUTOSAR R20-11.
دالة <Free_Op_A> [SWS_FrIf_05316] 📄 PDF
void <Free_Op_A> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.
صُممت الدالة <Free_Op_A> كعملية اتصال محددة من قبل المستخدم في واجهة FlexRay، لدعم ميزات أداء خاصة بالعتاد أو ميزات إضافية لـ Communication Controller بهدف زيادة الأداء العام [SWS_FrIf_05316]. ويُتاح تصريح هذه الواجهة عبر ملف الرأس FrIf_Externals.h [SWS_FrIf_05316].
يتم تحديد معلمتي إدخال وظيفيتين للاستدعاء [SWS_FrIf_05316]:
FrIf_CtrlIdx(النوعuint8): يحدد كفهرس وحدة FlexRay Communication Controller المعنية تحديدًا [SWS_FrIf_05316].FrIf_LPduIdx(النوعuint16): يعمل كفهرس فريد لتعريف إطار FlexRay المعني [SWS_FrIf_05316].
تُنفَّذ العملية بشكل متزامن وليس لها قيمة إرجاع (void)؛ كما لم يتم تحديد معلمات إدخال أو إخراج [SWS_FrIf_05316]. وفيما يتعلق بالتزامن وسياق الاستدعاء، فإن الدالة قابلة لإعادة الدخول (reentrant) لقيم مختلفة من FrIf_LPduIdx، ولكنها صراحةً غير قابلة لإعادة الدخول عند استخدام الفهرس نفسه FrIf_LPduIdx [SWS_FrIf_05316].
لم يتم تحديد رموز خطأ مخصصة أو آليات لمراقبة الأخطاء عبر وحدة Default Error Tracer (DET) أو وحدة Diagnostic Event Manager (DEM) في المواصفة [SWS_FrIf_05316]. لذلك يجب على المكونات المستدعية التأكد قبل التنفيذ من عدم وجود وصول متزامن إلى فهرس الإطار نفسه [SWS_FrIf_05316].
تم إنشاء ملاحظة الاستخدام هذه تلقائياً بناءً على مواصفة AUTOSAR.
دالة <Free_Op_B> [SWS_FrIf_05317] 📄 PDF
void <Free_Op_B> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.
تُستخدم الدالة <Free_Op_B> المخصصة من قبل المستخدم لتنفيذ عمليات اتصال خاصة بالمستخدم في واجهة FlexRay Interface [SWS_FrIf_05317]. والغرض منها هو دعم ميزات الأداء الخاصة بالعتاد أو الإضافية لوحدة FlexRay Communication Controller بهدف تحسين أداء الاتصال [SWS_FrIf_05317]. يتم توفير تصريح الدالة عبر ملف الترويسة FrIf_Externals.h [SWS_FrIf_05317].
الاستدعاء والمعاملات
يتم استدعاء العملية تزامنيًا ولا تُرجع أي قيمة (void) [SWS_FrIf_05317]. وهي تعالج معاملي إدخال، بينما لا توجد معلمات إدخال/إخراج ولا معلمات إخراج [SWS_FrIf_05317]:
FrIf_CtrlIdx: فهرس وحدة FlexRay Communication Controller المطلوب مخاطبتها (النوعuint8) [SWS_FrIf_05317].FrIf_LPduIdx: فهرس فريد لتمييز إطار FlexRay المعني (النوعuint16) [SWS_FrIf_05317].
التزامن والقيود
فيما يتعلق بقابلية إعادة الدخول (Reentrancy)، تم تحديد الدالة بأنها قابلة لإعادة الدخول لفهارس LPdu مختلفة (FrIf_LPduIdx)، ولكنها غير قابلة لإعادة الدخول صراحةً لنفس فهرس LPdu [SWS_FrIf_05317]. لذلك، يجب على جهات الاستدعاء التأكد من عدم حدوث استدعاءات متزامنة لنفس PDU.
تفسير: نظرًا لتصنيف العملية بأنها محددة من قبل المستخدم ووجودها في FrIf_Externals.h، يُرجح أنه يجب تقديم التنفيذ الفعلي بشكل مخصص من قبل المستخدم أو كامتداد لبرنامج التشغيل. سؤال Q-6668832db63b9906 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي. تستند جميع المعلومات حصريًا إلى مواصفات الإصدار R20-11.
دالة <UL_TxConflictNotification> [SWS_FrIf_91001] 📄 PDF
void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
Notification in case a Tx Conflict has been detected.
الاستخدام
يتم استدعاء دالة الإشعار <UL_ Tx Conflict Notification> بمجرد اكتشاف تعارض في الإرسال (Tx Conflict) في واجهة FlexRay [SWS_FrIf_91001]. ويتم توفير الإعلان عن هذه الواجهة عبر ملف الرأس Fr If_ Externals.h [SWS_FrIf_91001].
ليس للدالة أي قيمة معادة وتستقبل معلمتي دخل [SWS_FrIf_91001]:
Fr If_ Ctrl Idx: معرف FlexRay-Communication-Controller المُعنوَن [SWS_FrIf_91001].Fr If_ LPdu Idx: معرف إطار FlexRay المُرسَل المعني [SWS_FrIf_91001].
التزامن والقيود
يتم الاستدعاء بدلالات متزامنة [SWS_FrIf_91001]. وفيما يتعلق بالتزامن، فإن التنفيذ يكون قابلاً لإعادة الدخول (reentrant) لفهارس مختلفة من Fr If_ LPdu Idx، ولكنه صراحةً غير قابل لإعادة الدخول لفهرس LPdu نفسه [SWS_FrIf_91001]. ولذلك، يجب التأكد عند التنفيذ من منع الاستدعاءات المتزامنة لفهرس الإطار نفسه.
معالجة الأخطاء والتفاعل
لا تحدد المواصفة أي رسائل DET أو DEM منفصلة ولا رموز خطأ محددة لواجهة رد النداء هذه [SWS_FrIf_91001]. تفسير: يُرجَّح أن توفر الطبقة الأعلى هذا الاستدعاء لتتمكن من تسجيل التعارضات التي حدثت فورًا على مسار نقل FlexRay أو معالجتها. سؤال Q-fc63c251dbc03307 (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي وتم فحصه وفق إرشادات محددة. الأدلة الفنية مأخوذة حصريًا من المواصفة.
نوع FrIf_ConfigType [SWS_FrIf_05301] 📄 PDF
This type contains the implementation - specific post build time configuration structure. Only pointers of this type are allowed.
نوع FrIf_StateType [SWS_FrIf_05755] 📄 PDF
Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.
الاستخدام ومجال القيم
يتم تعريف النوع التعدادي FrIf_StateType في ملف الرأس FrIf.h ويُستخدم في FlexRay Interface لتمثيل حالة التشغيل الحالية لـ FlexRay Communication Controller (FlexRay CC) [SWS_FrIf_05755]. وتسجل المتغيرات من هذا النوع ما إذا كانت وحدة التحكم جاهزة لعملية الاتصال وما إذا كان هناك تزامن مع عنقود FlexRay [SWS_FrIf_05755].
يتضمن نطاق القيم حالتين محددتين [SWS_FrIf_05755]:
FRIF_STATE_OFFLINE: وحدة FlexRay CC غير جاهزة للاتصال، وعنقود FlexRay غير متزامن [SWS_FrIf_05755].FRIF_STATE_ONLINE: وحدة FlexRay CC جاهزة للاتصال، وعنقود FlexRay متزامن [SWS_FrIf_05755].
التكامل والشروط الحدية
تعكس الحالات مراحل الاتصال الأساسية: طالما أن FRIF_STATE_OFFLINE سارية، فلا يمكن إجراء اتصال منتظم بالعنقود عبر وحدة التحكم، في حين تشير FRIF_STATE_ONLINE إلى عملية الإرسال والاستقبال المتزامنة [SWS_FrIf_05755]. ونظرًا لأن مقتطف المواصفة لا يذكر أي تواقيع API أخرى أو رسائل خطأ، فمن المرجح أن يُستخدم هذا النوع أساسًا في استعلامات الحالة أو انتقالات الحالة لـ FlexRay Interface. سؤال Q-071cd300dcaa0a3b (مفتوح)
تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفة AUTOSAR R20-11.
دليل المنفِّذ قيد الإعداد (التعقيد I1)
نوع FrIf_StateTransitionType [SWS_FrIf_05303] 📄 PDF
Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.
يُتاح نوع التعداد FrIf_StateTransitionType عبر ملف الرأس FrIf.h، ويُستخدم وفقًا لـ [SWS_FrIf_05303] لتمثيل أو طلب انتقالات الحالة لـ FlexRay-Communication-Controller (FlexRay CC).
الاستخدام ومجال القيم
تأخذ متغيرات هذا النوع قيمًا لطلب تغييرات حالة محددة لـ FlexRay CC [SWS_FrIf_05303]. ويشمل نطاق القيم العناصر الحرفية (Literals) التالية:
FRIF_GOTO_OFFLINE: عنصر حرفي لطلب انتقال إلى الحالةFRIF_STATE_OFFLINE[SWS_FrIf_05303].FRIF_GOTO_ONLINE: عنصر حرفي لطلب انتقال إلى الحالةFRIF_STATE_ONLINE[SWS_FrIf_05303].
السياق والتفاعل
على الرغم من أن الوصف الرسمي للنوع يتحدث عن تمثيل حالة FlexRay CC، فإن العناصر الحرفية المحددة ترجح التفسير القائل بأن نوع التعداد هذا يُستخدم بشكل أساسي كمعلمة تحكم لطلب تغييرات الحالة (غير متصل أو متصل) [SWS_FrIf_05303]. ونظرًا لأن الحمولة لا تسرد أي واجهات أخرى أو متطلبات لإعادة الدخول أو رموز خطأ لهذا النوع، تنطبق قواعد التضمين العامة عبر ملف الرأس FrIf.h.
أُنشئ هذا النص بواسطة ذكاء اصطناعي. وهو يستند إلى AUTOSAR R20-11 والمتطلب [SWS_FrIf_05303].
دليل المنفِّذ قيد الإعداد (التعقيد I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_FrIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_FrIf@rel:R20-11#ff2b54a9- Content hash
ff2b54a9- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayInterface.pdf#nameddest=SWS_FrIf_05003
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني