LIN Interface (LinIf)
Abstracts LIN hardware and manages schedule tables and frame transmission.
Funktionen — Übersicht
void LinIf_Init (const LinIf_ConfigType* ConfigPtr);Initializes the LIN Interface.void LinIf_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Re quests transmission of a PDU.Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);Requests a schedule table to be executed.Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);Initiates a transition into the Sleep Mode on the selected channel.Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);Initiates the wake up process.Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);Set the given LIN transceiver to the given mode.Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);Returns the actual sta te of a LIN Transceiver Driver.Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);This API enables, disables and cl ears the notification for wakeup events on the addressed networkStd_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);Retrieves all assigned PID values.Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);Sets all assigned PID values.Std_ReturnType LinIf_GetConfiguredNAD (NetworkHandleType Channel, uint8* Nad);Reports the current configured NAD.Std_ReturnType LinIf_SetConfiguredNAD (NetworkHandleType Channel, uint8 Nad);Sets the current configured NAD.void LinTp_Init (const LinTp_ConfigType* ConfigPtr);Initializes the LIN Transport Layer.Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.void LinTp_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.void LinTp_Shutdown (void);Shutdowns the LIN TP.Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);Request to change a specific transport protocol parameter (e.Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);Enables or disables mirroring for a LIN channel.void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup...Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);The LIN Driver will call this function to report a received LIN header.void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN...void LinIf_TxConfirmation (NetworkHandleType Channel);The LIN Driver will call this function to report a successfully transmitted response.void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);The LIN Driver will call this function to report a detected error event during header or response processing.Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size...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.void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);Notifies the change of the response error signal with the new value.boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);Notifies the reception of a Save Configuration request.
Typen — Übersicht
LinIf_SchHandleTypeIndex of the schedule table that is selectable and followed by LIN Interface.struct LinIf_ConfigTypeA pointer to an instance of this structure will be used in the initialization of the LIN Interface.struct LinTp_ConfigTypeThis is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be...LinTp_ModeThis type denotes which Schedule table can be requested by LIN TP during diagnostic session
Funktionen & Typen — Detailansicht
функция LinIf_Init [SWS_LinIf_00198] 📄 PDF
void LinIf_Init (const LinIf_ConfigType* ConfigPtr);
Initializes the LIN Interface.
Синхронная функция LinIf_Init служит для инициализации интерфейса LIN согласно [SWS_LinIf_00198]. Интерфейс имеет Service-ID 0x01, доступен через заголовочный файл LinIf.h и выполняется синхронно.
Контекст вызова и параметры
В качестве единственного параметра функция ожидает ConfigPtr (const LinIf_ConfigType*), который служит указателем на конфигурацию интерфейса LIN [SWS_LinIf_00198]. Она не имеет возвращаемого значения и не содержит входных/выходных или исключительно выходных параметров.
Процессы инициализации и взаимодействие
В рамках инициализации интерфейс LIN выполняет специфические настройки для ведомых узлов:
- Согласно [SWS_LinIf_00767] модуль в
LinIf_Initинициализирует начальный адрес узла (initial NAD) и сконфигурированный адрес узла (configured NAD) ведомого узла на основе параметров конфигурацииLinIfInitialNADиLinIfConfiguredNAD. - Согласно [SWS_LinIf_00768] модуль в
LinIf_Initинициализирует сконфигурированные PID ведомого узла из данных конфигурации с помощью параметров конфигурацииLinIfFrameId.
Параллелизм и ограничения
Функция специфицирована как нерентабельная (Non Reentrant) [SWS_LinIf_00198]. Поэтому параллельный или перекрывающийся вызов недопустим. Специфические коды ошибок или сообщения DET в предоставленном объеме спецификации для этого сервиса не указаны.
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_GetVersionInfo [SWS_LinIf_00340] 📄 PDF
void LinIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
функция LinIf_Transmit [SWS_LinIf_00201] 📄 PDF
Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Re quests transmission of a PDU.
Использование и контекст вызова
Объявленная в LinIf.h функция LinIf_Transmit (Service-ID 0x49) служит для синхронного запроса на передачу PDU [SWS_LinIf_00201]. В качестве входных параметров она ожидает TxPduId для однозначной идентификации отправляемой PDU, а также указатель PduInfoPtr на структуру PduInfoType, которая, помимо длины данных и фактических полезных данных, может также ссылаться на метаданные [SWS_LinIf_00201]. Дополнительные входные/выходные или выходные параметры отсутствуют [SWS_LinIf_00201].
Возвращаемые значения и поведенческие требования
В качестве возвращаемого значения служба передает статус Std_ReturnType [SWS_LinIf_00201]:
E_OK: запрос на передачу был успешно принят LIN-интерфейсом [SWS_LinIf_00201].E_NOT_OK: запрос на передачу не удалось принять [SWS_LinIf_00201].
Взаимодействие с типами фреймов уточняется в [SWS_LinIf_00700]: при инициализированном LIN-интерфейсе LinIf_Transmit возвращает E_OK даже в том случае, если PDU относится к неспорадическому фрейму на узле LIN Master или к неуправляемому событиями фрейму на узле LIN Slave.
Параллелизм
В отношении среды выполнения LinIf_Transmit является реентерабельной для различных PDU-ID, однако не должна вызываться одновременно или параллельно для одного и того же TxPduId [SWS_LinIf_00201].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_ScheduleRequest [SWS_LinIf_00202] 📄 PDF
Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);
Requests a schedule table to be executed. Only used for LIN master nodes.
Функция LinIf_ScheduleRequest служит исключительно на ведущих узлах LIN для запроса выполнения заданной таблицы расписания [SWS_LinIf_00202]. Вызов обрабатывается асинхронно и спроектирован как рентабельный (reentrant) [SWS_LinIf_00202].
Параметры и возвращаемые значения
Через параметр Channel передается индекс соответствующего канала LIN, тогда как Schedule определяет идентификатор вновь выполняемой таблицы расписания [SWS_LinIf_00202]. Функция возвращает статус в виде Std_ReturnType:
E_OK: запрос на смену таблицы расписания успешно принят [SWS_LinIf_00202].E_NOT_OK: переключение отклонено [SWS_LinIf_00202].
Условия ошибок и ограничения
Возвращаемое значение E_NOT_OK возникает согласно спецификации в следующих случаях ошибок [SWS_LinIf_00202]:
- Интерфейс LIN еще не инициализирован.
- Указанный канал не существует или переданный индекс находится вне диапазона значений.
- Указанная таблица расписания не существует или ее идентификатор недействителен.
- Текущее состояние — Sleep.
Взаимодействие
Неудача запроса расписания влияет на вышестоящие процессы транспортировки: если в рамках вызова LinTp_Transmit через BswM_LinTp_RequestMode инициируется смена расписания через LinIf_ScheduleRequest, то LinTp_Transmit обязательно должен возвращать E_NOT_OK, если LinIf_ScheduleRequest отвечает E_NOT_OK [SWS_LinIf_00878].
Это указание по использованию основано исключительно на данных спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_GotoSleep [SWS_LinIf_00204] 📄 PDF
Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);
Initiates a transition into the Sleep Mode on the selected channel.
Использование
Функция LinIf_GotoSleep (Service-ID 0x06, объявленная в LinIf.h) инициирует переход в режим Sleep на указанном LIN-канале [SWS_LinIf_00204]. Вызов выполняется асинхронно и принимает в качестве входного параметра Channel типа NetworkHandleType идентификатор соответствующего канала [SWS_LinIf_00204].
Возвращаемые значения и обработка ошибок
В качестве возвращаемого значения служба возвращает тип Std_ReturnType со следующими значениями [SWS_LinIf_00204]:
E_OK: запрос на переход в режим Sleep успешно принят, переход состояния в режим Sleep уже выполняется или контроллер уже находится в состоянии Sleep [SWS_LinIf_00204].E_NOT_OK: запрос не был принят. Возможными причинами этого являются еще не инициализированный LIN-интерфейс либо несуществующий или выходящий за пределы допустимого диапазона значений идентификатор канала [SWS_LinIf_00204].
Параллелизм и системное взаимодействие
Интерфейс определен как нереентерабельный (Non Reentrant) [SWS_LinIf_00204]. При вызове LinIf_GotoSleep LIN-интерфейс должен немедленно вызвать функцию Lin_GotoSleepInternal и не имеет права ждать до следующего цикла главной функции [SWS_LinIf_00757].
Данное указание по использованию было создано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_Wakeup [SWS_LinIf_00205] 📄 PDF
Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);
Initiates the wake up process.
Реентерабельная функция LinIf_Wakeup инициирует асинхронный процесс пробуждения для LIN-канала, идентифицированного параметром Channel [SWS_LinIf_00205]. Она доступна через заголовочный файл LinIf.h [SWS_LinIf_00205].
Возвращаемое значение Std_ReturnType дает информацию о принятии запроса [SWS_LinIf_00205]:
E_OKсигнализирует о том, что запрос на пробуждение был принят или контроллер уже больше не находится в состоянии сна [SWS_LinIf_00205].E_NOT_OKвозвращается, если интерфейс LIN не инициализирован, переданный ID канала находится вне допустимого диапазона или вызовы нижележащего драйвераLin_WakeupлибоLin_WakeupInternalзавершаются неудачно сE_NOT_OK[SWS_LinIf_00205].
Взаимодействие с пользователем происходит через функцию обратного вызова <User>_WakeupConfirmation:
- В случае ошибки интерфейс LIN перед возвратом
E_NOT_OKобязательно вызывает<User>_WakeupConfirmation(FALSE)[SWS_LinIf_00762]. - При успешном приеме (
E_OK) интерфейс LIN подтверждает пробуждение асинхронно: только тогда, когда впоследствии впервые вызывается функцияLinIf_HeaderIndication, модуль отправляет вызов<User>_WakeupConfirmation(TRUE)[SWS_LinIf_00761].
Этот текст был сгенерирован автоматически. Он основан на требованиях спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_SetTrcvMode [SWS_LinIf_00544] 📄 PDF
Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);
Set the given LIN transceiver to the given mode.
Синхронная и реентерабельная функция LinIf_SetTrcvMode (Service-ID 0x08) служит для переключения указанного LIN-трансивера в запрошенный рабочий режим [SWS_LinIf_00544]. Интерфейс доступен через заголовочный файл LinIf.h [SWS_LinIf_00544].
Параметры и возвращаемые значения
Для вызова требуются два входных параметра [SWS_LinIf_00544]:
Channel(NetworkHandleType): идентифицирует управляемый LIN-канал [SWS_LinIf_00544].TransceiverMode(LinTrcv_TrcvModeType): определяет запрашиваемый переход состояния трансивера [SWS_LinIf_00544].
Возвращаемое значение типа Std_ReturnType сигнализирует о результате операции переключения [SWS_LinIf_00544]:
E_OK: возвращается, если состояние трансивера было успешно переключено в запрошенный режим [SWS_LinIf_00544].E_NOT_OK: сигнализирует о том, что изменение состояния завершилось сбоем или по меньшей мере один параметр находится вне допустимого диапазона. Предыдущее состояние трансивера остается неизменным [SWS_LinIf_00544].
Выполнение и обработка ошибок
Функция выполняется синхронно и специфицирована как реентерабельная [SWS_LinIf_00544]. Специфические сообщения об ошибках DET или DEM в элементе спецификации отдельно не приведены; сбой изменения режима или недопустимые значения параметров непосредственно приводят к возвращаемому значению E_NOT_OK [SWS_LinIf_00544].
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_GetTrcvMode [SWS_LinIf_00545] 📄 PDF
Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);
Returns the actual sta te of a LIN Transceiver Driver.
функция LinIf_GetTrcvWakeupReason [SWS_LinIf_00547] 📄 PDF
Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);
Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.
функция LinIf_SetTrcvWakeupMode [SWS_LinIf_00550] 📄 PDF
Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);
This API enables, disables and cl ears the notification for wakeup events on the addressed network
Синхронная и ревентрантная функция LinIf_SetTrcvWakeupMode служит для активации, деактивации или сброса уведомлений о событиях пробуждения на указанном канале LIN [SWS_LinIf_00550]. Объявление предоставляется через заголовочный файл LinIf.h и имеет идентификатор сервиса 0x0b [SWS_LinIf_00550].
Интерфейс ожидает два входных параметра [SWS_LinIf_00550]:
Channel: уникальный идентификатор адресуемой сети или канала LIN типаNetworkHandleType[SWS_LinIf_00550].LinTrcvWakeupMode: запрошенный режим пробуждения приемопередатчика типаLinTrcv_TrcvWakeupModeType[SWS_LinIf_00550].
В качестве возвращаемого значения функция возвращает статус Std_ReturnType [SWS_LinIf_00550]:
E_OK: вызов API-сервиса драйвера приемопередатчика LIN прошел успешно и возвратилE_OK[SWS_LinIf_00550].E_NOT_OK: API-сервис драйвера приемопередатчика LIN завершился ошибкой (возвратE_NOT_OK) или по меньшей мере один из переданных параметров для канала или режима недействителен [SWS_LinIf_00550].
С точки зрения взаимодействия функция делегирует запрос драйверу приемопередатчика LIN; предположительно, LinIf в данном случае выступает промежуточным интерфейсом между верхними уровнями и аппаратным обеспечением приемопередатчика [SWS_LinIf_00550]. Вопрос Q-07b525a14a2c5fcd (открытый) Поскольку сервис специфицирован как ревентрантный, он может выполняться параллельно для разных или одного и того же канала [SWS_LinIf_00550].
Этот текст был сгенерирован ИИ и служит в качестве ориентира. Определяющими являются официальные документы спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_GetPIDTable [SWS_LinIf_91002] 📄 PDF
Std_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);
Retrieves all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.
функция LinIf_SetPIDTable [SWS_LinIf_91003] 📄 PDF
Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);
Sets all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.
функция LinIf_GetConfiguredNAD [SWS_LinIf_00829] 📄 PDF
Std_ReturnType LinIf_GetConfiguredNAD (NetworkHandleType Channel, uint8* Nad);
Reports the current configured NAD. Only applicable for LIN slave nodes.
функция LinIf_SetConfiguredNAD [SWS_LinIf_00833] 📄 PDF
Std_ReturnType LinIf_SetConfiguredNAD (NetworkHandleType Channel, uint8 Nad);
Sets the current configured NAD. Only applicable for LIN slave nodes.
функция LinTp_Init [SWS_LinIf_00350] 📄 PDF
void LinTp_Init (const LinTp_ConfigType* ConfigPtr);
Initializes the LIN Transport Layer.
Использование и контекст вызова
Функция LinTp_Init служит для инициализации транспортного уровня протокола LIN ([SWS_LinIf_00350]). Согласно спецификации [SWS_LinIf_00350] вызов функции работает синхронно.
Сигнатура функции: void LinTp_Init (const LinTp_ConfigType* ConfigPtr). Конфигурация передается через входной параметр:
ConfigPtr(in): указатель на конфигурационные данные транспортного уровня LIN типаLinTp_ConfigType([SWS_LinIf_00350]).
Функция не возвращает значения (void) и не определяет ни выходных, ни входных/выходных параметров ([SWS_LinIf_00350]). Она имеет шестнадцатеричный Service-ID 0x40 и предоставляется через заголовочный файл LinIf.h ([SWS_LinIf_00350]).
Обработка ошибок
Требование [SWS_LinIf_00350] не определяет для этой функции конкретных кодов ошибок, сообщений DET или событий DEM. Возврат статуса ошибки вызывающей стороне не осуществляется ([SWS_LinIf_00350]).
Параллелизм и ограничения
Функция LinTp_Init явно классифицирована как нерентабельная (Non Reentrant) ([SWS_LinIf_00350]). Следовательно, ее нельзя вызывать параллельно из нескольких потоков, задач или подпрограмм обработки прерываний. Интерпретация: вызов, вероятно, обычно выполняется централизованно в рамках последовательности инициализации базового программного обеспечения (BSW), прежде чем смогут обрабатываться последующие коммуникационные запросы. Вопрос Q-6e391bdf8abb1a09 (открытый)
Взаимодействие
Для LinTp_Init в данном фрагменте не приведено прямых связей с другими требованиями спецификации или соседними функциями ([SWS_LinIf_00350]). Модуль LinIf предоставляет объявление ([SWS_LinIf_00350]).
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR Classic Release R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinTp_Transmit [SWS_LinIf_00351] 📄 PDF
Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
Синхронная функция LinTp_Transmit служит для запроса передачи PDU через транспортный протокол LIN ([SWS_LinIf_00351]). В качестве входных параметров она ожидает идентификатор PDU TxPduId, а также указатель PduInfoPtr, предоставляющий длину данных и указатели на данные и метаданные PDU ([SWS_LinIf_00351]). Возвращаемое значение — E_OK при успешном принятии запроса на передачу и E_NOT_OK в случае отклонения ([SWS_LinIf_00351]).
Поведение во время выполнения и взаимодействие с LIN Interface подчиняются следующим требованиям:
- Запрос расписания: если переключение расписания в
LinIf_ScheduleRequest, инициированное в рамках вызова черезBswM_LinTp_RequestMode, завершается сбоем и возвращаетE_NOT_OK, функцияLinTp_Transmitтакже должна напрямую вернутьE_NOT_OK([SWS_LinIf_00878]). - Подтверждение: только если вызов
LinTp_Transmitбыл успешным (возвращаемое значениеE_OK), LIN Interface после успешного или неудавшегося переключения таблицы расписания вызывает функциюPduR_LinTpTxConfirmationс положительным или отрицательным результатом ([SWS_LinIf_00702]). В случае отклонения запроса на передачу этот вызов полностью опускается ([SWS_LinIf_00702]). - Прерывание текущих процессов: если во время ожидания физического ответа или во время приема ответа через
LinTp_Transmitинициируется новый физический запрос, LIN Interface прерывает текущую TP-обработку вместе с приемом, а также мониторинг тайм-аутов N_Cr и P2, и принимает новый запрос ([SWS_LinIf_00708]).
Что касается параллелизма, функция LinTp_Transmit реверсивна (reentrant) для различных TxPduId, однако не должна выполняться параллельно для одной и той же TxPduId ([SWS_LinIf_00351]).
Данное указание по использованию основано на спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinTp_GetVersionInfo [SWS_LinIf_00352] 📄 PDF
void LinTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
функция LinTp_Shutdown [SWS_LinIf_00355] 📄 PDF
void LinTp_Shutdown (void);
Shutdowns the LIN TP.
Функция LinTp_Shutdown служит для контролируемого завершения работы транспортного протокола LIN ([SWS_LinIf_00355]). Посредством ее вызова работа компонента LIN-TP прекращается ([SWS_LinIf_00355]). Объявление функции доступно через заголовочный файл LinIf.h ([SWS_LinIf_00355]).
Для использования и выполнения действуют следующие характеристики спецификации ([SWS_LinIf_00355]):
- Параметры и возвращаемое значение: функция не имеет входных, входных/выходных или выходных параметров (
void) и не возвращает значения (void) ([SWS_LinIf_00355]). - Идентификация сервиса: сервис определен под Service-ID
0x43([SWS_LinIf_00355]). - Синхронность: вызов обрабатывается синхронно ([SWS_LinIf_00355]).
- Рентабельность: функция является нерентабельной (Non Reentrant) ([SWS_LinIf_00355]). Параллельные или вложенные вызовы из различных контекстов недопустимы.
Специфические коды ошибок, обратная связь в Development Error Tracer (DET) или специальная обработка при ошибках в источниках для этой функции не описаны ([SWS_LinIf_00355]). Также отсутствуют данные о связанных требованиях или точном вызывающем объекте; предположительно вызов осуществляется в рамках последовательной деинициализации стека связи вышестоящим менеджером состояний BSW. Вопрос Q-e25a3c9531527c4f (открытый)
Это указание по использованию создано автоматически. Оно основано исключительно на данных спецификации элемента AUTOSAR в релизе R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinTp_ChangeParameter [SWS_LinIf_00501] 📄 PDF
Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);
Request to change a specific transport protocol parameter (e.g. block size).
Использование и семантика
Синхронная функция LinTp_ChangeParameter служит для того, чтобы настраивать специфический параметр транспортного протокола для определенного PDU во время выполнения [SWS_LinIf_00501]. В качестве параметров передаются идентификатор PDU (id), обозначение изменяемого параметра транспортного протокола (parameter, например размер блока), а также новое целевое значение (value) [SWS_LinIf_00501]. Объявление предоставляется через заголовочный файл LinIf.h [SWS_LinIf_00501].
Возвращаемые значения и поведение при ошибке
Функция сигнализирует о результате запроса непосредственно через свое возвращаемое значение типа Std_ReturnType [SWS_LinIf_00501]:
E_OK: запрошенный параметр успешно переключен на новое значение [SWS_LinIf_00501].E_NOT_OK: изменение отклонено транспортным протоколом LIN [SWS_LinIf_00501]. Обычно это происходит в том случае, если параметр недействителен или текущая передача препятствует модификации. Вопрос Q-84aaf28c12dee2e9 (открытый)
Параллелизм и ограничения
Согласно спецификации LinTp_ChangeParameter классифицирована как нерентабельная (Non Reentrant) [SWS_LinIf_00501]. Поэтому параллельный или вложенный вызов для одного и того же или параллельных контекстов недопустим и должен предотвращаться вызывающей стороной. Синхронный процесс блокирует вызывающую сторону до принятия решения о применении значения параметра [SWS_LinIf_00501].
Этот текст был создан ИИ и основан исключительно на данных спецификации AUTOSAR R20-11.
функция LinIf_CheckWakeup [SWS_LinIf_00378] 📄 PDF
Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);
Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.
Использование и контекст вызова
Синхронная функция LinIf_CheckWakeup вызывается, как только модуль EcuM уведомляется о событии пробуждения на определенном канале LIN [SWS_LinIf_00378]. Вызов выполняется с входным параметром WakeupSource типа EcuM_WakeupSourceType [SWS_LinIf_00378]. Этот параметр указывает исходное устройство, инициировавшее событие пробуждения, при этом речь может идти о LIN-контроллере или LIN-трансивере [SWS_LinIf_00378].
Обработка ошибок и возвращаемые значения
В качестве возвращаемого значения функция возвращает статус типа Std_ReturnType [SWS_LinIf_00378]:
E_OK: во время выполнения интерфейса ошибки не возникло [SWS_LinIf_00378].E_NOT_OK: при выполнении интерфейса произошла ошибка или дляWakeupSourceбыло передано недопустимое значение [SWS_LinIf_00378].
Параллелизм и интеграция
Интерфейс специфицирован как рентабельный (reentrant), имеет Service-ID 0x60 и предоставляется через заголовочный файл LinIf.h [SWS_LinIf_00378]. Он напрямую связывает обработку пробуждения EcuM с каналами интерфейса LIN [SWS_LinIf_00378].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR CP R20-11.
функция LinIf_EnableBusMirroring [SWS_LinIf_00876] 📄 PDF
Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);
Enables or disables mirroring for a LIN channel.
Синхронная и ревентрантная функция LinIf_EnableBusMirroring активирует или деактивирует зеркалирование шины (Bus Mirroring) для отдельного LIN-канала [SWS_LinIf_00876]. Она доступна через заголовочный файл LinIf.h и может быть опущена, если зеркалирование шины не активировано через конфигурационный параметр LinIfBusMirroringSupport [SWS_LinIf_00875]. В качестве вызывающей стороны обычно выступает модуль Mirror. Вопрос Q-1703af5207cb7ade (открытый)
Через параметр Channel передается соответствующий канал LIN, тогда как MirroringActive управляет режимом [SWS_LinIf_00876]: при передаче TRUE зеркалирование активируется, при FALSE — деактивируется [SWS_LinIf_00876]. В качестве возвращаемого значения функция выдает E_OK, если режим зеркалирования был успешно изменен, или E_NOT_OK, если указан недействительный канал либо зеркалирование глобально деактивировано [SWS_LinIf_00876]. Специфические сообщения об ошибках DET или DEM в определении функции не указаны [SWS_LinIf_00876].
Если зеркалирование шины активировано глобально через LinIfBusMirroringSupported, а также для соответствующего канала, интерфейс LIN пересылает релевантные события в Mirror_ReportLinFrame:
- Принятые фреймы при
LinIf_RxIndicationсо статусомLIN_RX_OKи указателем на полезные данные [SWS_LinIf_00838], а также при считывании статуса LIN-драйвера для Rx-слотов [SWS_LinIf_00873]. - Отправленные фреймы при
LinIf_TxConfirmationсо статусомLIN_TX_OKи указателем на переданные данные [SWS_LinIf_00839], а также при считывании статуса LIN-драйвера для Tx-слотов [SWS_LinIf_00874]. - Уведомления об ошибках при
LinIf_LinErrorIndicationдля всех кодов ошибок, кромеLIN_ERR_HEADER, со статусом ошибки и NULL-указателем в качестве данных [SWS_LinIf_00869].
Этот совет по использованию был сгенерирован ИИ на основе спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_WakeupConfirmation [SWS_LinIf_00715] 📄 PDF
void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);
The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup detection during Check Wakeup or after power on by bus.
Функция LinIf_WakeupConfirmation служит для сообщения об успешном обнаружении события пробуждения интерфейсу LIN [SWS_LinIf_00715].
Вызов и параметры
Вызов выполняется драйвером LIN (LIN Driver) или драйвером приемопередатчика LIN (LIN Transceiver Driver) после успешного обнаружения пробуждения во время Check Wakeup или после включения через шину (power on by bus) [SWS_LinIf_00715]. В качестве передаваемого параметра передается WakeupSource типа EcuM_WakeupSourceType, который указывает устройство-источник, инициировавшее событие пробуждения (LIN-контроллер или LIN-приемопередатчик) [SWS_LinIf_00715].
Характеристики выполнения и интерфейс
- Семантика: вызов обрабатывается синхронно [SWS_LinIf_00715].
- Ревентрантность: функция специфицирована как ревентрантная [SWS_LinIf_00715].
- Возвращаемое значение: возвращаемое значение отсутствует (
void) [SWS_LinIf_00715]. - Заголовочный файл: объявление предоставляется через
LinIf.h(идентификатор сервиса:0x61) [SWS_LinIf_00715].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR.
функция LinIf_HeaderIndication [SWS_LinIf_91004] 📄 PDF
Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);
The LIN Driver will call this function to report a received LIN header. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
Функция обратного вызова LinIf_HeaderIndication синхронно вызывается драйвером LIN для уведомления о приеме LIN-заголовка на slave-канале [SWS_LinIf_91004]. Она доступна исключительно в том случае, если электронный блок управления имеет как минимум один сконфигурированный LIN-slave-канал [SWS_LinIf_91004]. Функция является реентерабельной для различных каналов, однако не должна вызываться параллельно для одного и того же канала [SWS_LinIf_91004].
Через входной/выходной параметр PduPtr драйвер передает принятый идентификатор (PID), а также указатель на буфер данных SDU [SWS_LinIf_91004]. LinIf анализирует PID и управляет реакцией slave-узла:
- Фрейм приема: если PID относится к сконфигурированному фрейму приема, LinIf перед возвратом задает тип контрольной суммы
PduPtr->Cs, длину данныхPduPtr->Dlи присваивает параметруPduPtr->DrcзначениеLIN_FRAMERESPONSE_RX[SWS_LinIf_00733]. - Фрейм передачи: если это фрейм передачи, LinIf запрашивает полезные данные через
<User_TriggerTransmit>[SWS_LinIf_00738]. При успешном предоставлении (возвращаемое значениеE_OKили данные SRF от Node Configuration Handler / транспортного протокола) конфигурируются контрольная сумма и длина, аPduPtr->Drcустанавливается вLIN_FRAMERESPONSE_TX[SWS_LinIf_00739]. Если опрос завершается неудачно сE_NOT_OK, параметрPduPtr->Drcустанавливается вLIN_FRAMERESPONSE_IGNORE[SWS_LinIf_00740]. - Нерелевантные фреймы: если фрейм не релевантен для slave-узла, LinIf также устанавливает
PduPtr->DrcвLIN_FRAMERESPONSE_IGNORE[SWS_LinIf_00748].
Кроме того, каждый вызов перезагружает текущий таймер Bus-Idle [SWS_LinIf_00754]. Если вызов происходит впервые после успешного LinIf_Wakeup, инициируется <User>_WakeupConfirmation(TRUE) [SWS_LinIf_00761]. При приеме заголовка SRF LinIf дополнительно запускает таймер N_As для Consecutive Frames (CF) [SWS_LinIf_00800]. В качестве возвращаемого значения E_OK сигнализирует о принятии запроса, тогда как E_NOT_OK указывает на ошибку разработки или производства [SWS_LinIf_91004].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция LinIf_RxIndication [SWS_LinIf_91005] 📄 PDF
void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);
The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN Interface. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
Функция обратного вызова LinIf_RxIndication синхронно вызывается драйвером LIN, чтобы уведомить LIN-интерфейс об успешном приеме ответа (Response), включая принятые данные [SWS_LinIf_91005]. Функция доступна исключительно на блоках управления, имеющих как минимум один сконфигурированный канал LIN-slave [SWS_LinIf_91005].
В отношении параметризации и параллелизма действуют следующие условия:
- Параметры: передаются идентификатор канала
Channel, а также указательLin_SduPtrна теневой буфер (Shadow Buffer) или отображаемый в память буфер приема аппаратного обеспечения LIN [SWS_LinIf_91005]. Этот указатель действителен только при фактически принятом ответе [SWS_LinIf_91005]. - Возвращаемое значение: функция не имеет возвращаемого значения (
void) [SWS_LinIf_91005]. - Реентерабельность: интерфейс является реентерабельным для различных каналов LIN, однако нереентерабелен для одного и того же канала [SWS_LinIf_91005].
При взаимодействии с поведением модуля данный вызов инициирует несколько координирующих действий:
- Передача принятых полезных данных и длины полезных данных вышестоящему уровню через
<User_RxIndication>[SWS_LinIf_00734]. - Проверка команд перехода в спящий режим: если это фрейм Master Request Frame (MRF) с NAD 0, LIN-интерфейс распознает команду Go-to-Sleep и инициирует переход в спящий режим [SWS_LinIf_00750].
- Управление таймерами: при каждом вызове перезагружается таймер Bus-Idle [SWS_LinIf_00754]. Кроме того, при вызове для фреймов MRF (FF, CF) осуществляется управление таймером N_Cr (запуск/перезапуск при FF и CF перед последним фреймом, остановка при последнем CF) [SWS_LinIf_00805].
- Зеркалирование шины (Bus Mirroring): если зеркалирование активировано глобально и для данного канала, LIN-интерфейс передает фрейм дальше со статусом
LIN_RX_OKчерезMirror_ReportLinFrame()[SWS_LinIf_00838].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_TxConfirmation [SWS_LinIf_91006] 📄 PDF
void LinIf_TxConfirmation (NetworkHandleType Channel);
The LIN Driver will call this function to report a successfully transmitted response. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
Синхронная функция обратного вызова LinIf_TxConfirmation (Service-ID 0x7a, объявленная в LinIf.h) вызывается драйвером LIN для подтверждения успешной передачи ответа (Response) на указанном канале [SWS_LinIf_91006]. Функция не имеет возвращаемого значения и предназначена исключительно для блоков управления, имеющих как минимум один сконфигурированный канал LIN-slave [SWS_LinIf_91006].
При поступлении подтверждения LIN-интерфейс выполняет ряд последующих действий по обработке:
- Уведомление верхнего уровня: модуль передает событие отправки вышестоящему уровню через функцию обратного вызова
<User_TxConfirmation>с возвращаемым значениемE_OK[SWS_LinIf_00741]. - Статус ошибки: если успешно отправленный фрейм содержит сигнал ошибки
response_error, LIN-интерфейс сбрасывает этот сигнал [SWS_LinIf_00747]. - Мониторинг состояния покоя шины: каждый вызов
LinIf_TxConfirmationперезагружает текущий таймер Bus-Idle канала [SWS_LinIf_00754]. - Транспортный протокол (LinTp): если драйвер подтверждает ответ на заголовок SRF (Slave Response Frame), интерфейс останавливает таймер мониторинга
N_As[SWS_LinIf_00800]. - Зеркалирование шины: если зеркалирование сконфигурировано глобально через
LinIfBusMirroringSupportedи активировано черезLinIf_EnableBusMirroring(), интерфейс сообщает о фрейме со статусомLIN_TX_OKи указателем на отправленные данные модулюMirror_ReportLinFrame()[SWS_LinIf_00839].
Что касается параллелизма, LinIf_TxConfirmation спроектирована как реентерабельная для различных каналов LIN, однако не должна вызываться реентерабельно для одного и того же канала [SWS_LinIf_91006].
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция LinIf_LinErrorIndication [SWS_LinIf_91007] 📄 PDF
void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);
The LIN Driver will call this function to report a detected error event during header or response processing. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
Использование и контекст вызова
Синхронная функция LinIf_LinErrorIndication вызывается драйвером LIN для сообщения об ошибках, возникших при обработке заголовка или ответа [SWS_LinIf_91007]. Она предназначена исключительно для slave-узлов LIN и предполагает наличие в блоке управления как минимум одного сконфигурированного slave-канала LIN [SWS_LinIf_91007]. В качестве параметров передаются идентификатор канала Channel, а также возникший статус ошибки ErrorStatus типа Lin_SlaveErrorType [SWS_LinIf_91007].
Обработка ошибок и параллелизм
Функция является реентерабельной для различных каналов, однако не должна вызываться параллельно для одного и того же канала [SWS_LinIf_91007]. При вызове LIN-интерфейс считает ответ или переданный фрейм потерянным и сообщает об ошибке времени выполнения LINIF_E_RESPONSE в Default Error Tracer (DET), за исключением случаев, когда переданный статус ошибки имеет значение LIN_ERR_HEADER [SWS_LinIf_00735], [SWS_LinIf_00743].
Взаимодействие и мониторинг шины
Независимо от переданного кода ошибки, LIN-интерфейс при каждом вызове LinIf_LinErrorIndication перезагружает текущий таймер Bus-Idle [SWS_LinIf_00754]. Если ошибка возникает при SRF-ответе после приема SRF-заголовка, LIN-интерфейс прерывает передачу и сообщает об этом верхнему уровню через PduR_LinTpTxConfirmation с результатом E_NOT_OK [SWS_LinIf_00796].
Если зеркалирование шины активно глобально через LinIfBusMirroringSupported и включено для данного канала, LIN-интерфейс пересылает ошибки, отличные от LIN_ERR_HEADER, через Mirror_ReportLinFrame() с указателем NULL для содержимого данных [SWS_LinIf_00869]. При этом коды ошибок драйвера предварительно транслируются в соответствующие значения состояния типа Lin_StatusType [SWS_LinIf_00870].
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция <User_TriggerTransmit> [SWS_LinIf_00528] 📄 PDF
Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer 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 copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without ch anging Pdu Info Ptr.
Конфигурируемый интерфейс <User_TriggerTransmit> служит для синхронного запроса данных SDU из вышележащего модуля для предстоящей передачи [SWS_LinIf_00528].
Через параметр TxPduId идентифицируется запрошенный SDU, тогда как PduInfoPtr передается как указатель на структуру с целевым буфером (SduDataPtr) и доступным размером буфера (SduLength) [SWS_LinIf_00528]. Вызываемый вышележащий модуль проверяет внутри данного API, помещаются ли подготовленные данные в заявленный размер буфера [SWS_LinIf_00528]. Если места достаточно, модуль копирует свои данные в SduDataPtr, обновляет SduLength количеством фактически скопированных байтов и сигнализирует об успехе возвращаемым значением E_OK [SWS_LinIf_00528].
Если же размера буфера недостаточно, данные SDU не копируются, и модуль возвращает E_NOT_OK без изменения PduInfoPtr [SWS_LinIf_00528]. При возвращаемом значении E_NOT_OK вызывающая сторона ни в коем случае не должна использовать PduInfoPtr, так как он может указывать на недействительные данные или являться нулевым указателем (NULL) [SWS_LinIf_00528].
С точки зрения параллелизма функция является рентабельной (reentrant) для различных PDU-ID, но нерентабельной для одного и того же PDU-ID [SWS_LinIf_00528].
Это указание по использованию основано на спецификации AUTOSAR SWS_LinIf_00528.
функция <User_TxConfirmation> [SWS_LinIf_00529] 📄 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_LinIf_00529]. Вызов выполняется синхронно и не возвращает значения [SWS_LinIf_00529].
Параметры и семантика
TxPduId(In): обозначает идентификатор переданного PDU типаPduIdType[SWS_LinIf_00529].result(In): сообщает статус успешности передачи в видеStd_ReturnTypeсо значениямиE_OKпри успешной передаче PDU илиE_NOT_OKпри неудавшейся передаче [SWS_LinIf_00529].
Параллелизм и обработка ошибок
Что касается рентабельности, функция спроектирована как рентабельная для различных PDU-ID, однако не должна вызываться рентабельно для одного и того же PDU-ID [SWS_LinIf_00529]. Модуль не специфицирует для этого интерфейса отдельных кодов ошибок или сообщений DET либо DEM; факт сбоя передачи вместо этого индицируется через значение параметра E_NOT_OK [SWS_LinIf_00529]. Фактический идентификатор функции, вероятно, определяется специфично для интеграции в зависимости от сконфигурированного пользовательского уровня, так как сервис обозначен как конфигурируемый [SWS_LinIf_00529]. Вопрос Q-35de931161f26cb8 (открытый)
Этот текст сгенерирован ИИ на основе спецификации.
функция <User_RxIndication> [SWS_LinIf_00530] 📄 PDF
void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
Функция обратного вызова <User_RxIndication> служит для сигнализации о принятом PDU от нижележащего модуля коммуникационного интерфейса вышестоящему уровню [SWS_LinIf_00530]. Вызов выполняется с синхронной семантикой и не имеет возвращаемого значения [SWS_LinIf_00530].
Параметры и спецификация интерфейса
Функция передает два входных параметра верхнему уровню [SWS_LinIf_00530]:
RxPduId: идентификатор принятого PDU типаPduIdType[SWS_LinIf_00530].PduInfoPtr: указатель на структуру типаPduInfoType, которая предоставляет длину полезных данных (SduLength), указатель на буфер с полезными данными (SduDataPtr), а также соответствующие метаданные для PDU [SWS_LinIf_00530].
Для этого интерфейса не предусмотрены ни входные/выходные параметры, ни чисто выходные параметры [SWS_LinIf_00530].
Параллелизм и конфигурация
Относительно рентабельности функция спроектирована как рентабельная для различных PDU-ID, но явно специфицирована как нерентабельная для одинаковых PDU-ID [SWS_LinIf_00530]. Поэтому вызывающие стороны должны гарантировать отсутствие перекрывающихся вызовов для одного и того же RxPduId. Функция объявлена как конфигурируемый интерфейс [SWS_LinIf_00530]; таким образом, конкретное имя функции верхнего уровня, вероятно, определяется через конфигурацию модуля. Вопрос Q-94175e8cd86775b6 (открытый)
Данное указание по использованию было сгенерировано автоматически на основе спецификации SWS_LinIf_00530.
функция <User_ResponseErrorSignalChanged> [SWS_LinIf_00856] 📄 PDF
void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);
Notifies the change of the response error signal with the new value. Only applicable for LIN slave nodes. AUTOSAR CP R20 - of Document ID : AUTOSAR_ SWS_ LINInterface
Интерфейс <User_ResponseErrorSignalChanged> служит в модуле LinIf функцией уведомления, предназначенной для сообщения об изменении значения сигнала Response-Error вместе с новым значением сигнала [SWS_LinIf_00856]. Вызов выполняется синхронно и имеет service ID 0x74 [SWS_LinIf_00856]. Входные/выходные параметры, а также возвращаемое значение не предусмотрены; сигнатура определена с типом возвращаемого значения void [SWS_LinIf_00856].
В качестве передаваемых параметров функция ожидает два чисто входных значения [SWS_LinIf_00856]:
Channel(типNetworkHandleType): однозначная идентификация соответствующего LIN-канала [SWS_LinIf_00856].RespErrSigValue(типboolean): текущее значение сигнала Response-Error. Параметр равенtrue, если сигнал установлен в 1, иfalseв противном случае [SWS_LinIf_00856].
В отношении параллелизма и контекста вызова определено, что функция является реентерабельной для различных каналов, однако не должна вызываться реентерабельно для одного и того же канала [SWS_LinIf_00856]. Функциональное граничное условие заключается в том, что данный сервис уведомления применим исключительно для slave-узлов LIN [SWS_LinIf_00856]. Объявление предоставляется через заголовочный файл LinIf_Externals.h [SWS_LinIf_00856].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
функция <User_SaveConfigurationRequest> [SWS_LinIf_00857] 📄 PDF
boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);
Notifies the reception of a Save Configuration request. Only applicable for LIN slave nodes.
Callback-функция <User_SaveConfigurationRequest> (идентификатор сервиса 0x75) уведомляет вышележащий уровень о приеме запроса «Save Configuration» и объявлена в LinIf_Externals.h [SWS_LinIf_00857]. Этот интерфейс применим исключительно для слейв-узлов LIN [SWS_LinIf_00857].
Вызов осуществляется синхронно и специфицирован как ревентрантный [SWS_LinIf_00857]:
- Параметры: через входной параметр
ChannelтипаNetworkHandleTypeпередается соответствующий канал LIN [SWS_LinIf_00857]. Дополнительные входные или выходные параметры отсутствуют [SWS_LinIf_00857]. - Возвращаемое значение: функция возвращает значение типа
boolean[SWS_LinIf_00857]. Возвращаемое значениеTRUEсигнализирует о том, что в шину LIN должен быть отправлен положительный ответ, тогда какFALSEпредотвращает передачу какого-либо ответа [SWS_LinIf_00857].
Что касается обработки ошибок, спецификация не определяет ни конкретных кодов ошибок, ни сообщений DET или DEM [SWS_LinIf_00857]. Поведение в случае ошибки или отклонения управляется напрямую через логическое возвращаемое значение: передача ответа предотвращается с помощью FALSE [SWS_LinIf_00857]. Поскольку вызов классифицирован как ревентрантный, функция, вероятно, рассчитана на параллельный вызов на разных каналах [SWS_LinIf_00857]. Вопрос Q-84432030c1aff644 (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
тип LinIf_SchHandleType [SWS_LinIf_00197] 📄 PDF
Index of the schedule table that is selectable and followed by LIN Interface. Value is unique per LIN c hannel/ controller, but not per ECU. The number of schedule tables is limited to 255
тип LinIf_ConfigType [SWS_LinIf_00668] 📄 PDF
A pointer to an instance of this structure will be used in the initialization of the LIN Interface. The outline of the structure is defined in chapter 10 Configuration Specification.
тип LinTp_ConfigType [SWS_LinIf_00426] 📄 PDF
This is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be used in the initialization of the LIN Transport Protocol. The outline of the structure is defined in chapter 10 Configuration Specification
тип LinTp_Mode [SWS_LinIf_00629] 📄 PDF
This type denotes which Schedule table can be requested by LIN TP during diagnostic session
Перечислимый тип LinTp_Mode определен в заголовочном файле LinIf.h и задает, какой режим таблицы расписания может быть запрошен транспортным протоколом LIN (LIN TP) во время диагностического сеанса [SWS_LinIf_00629].
Диапазон значений включает три литерала перечисления для управления сменой расписания на шине LIN [SWS_LinIf_00629]:
LINTP_APPLICATIVE_SCHEDULE: выбирает прикладную таблицу расписания для регулярного обмена сообщениями [SWS_LinIf_00629].LINTP_DIAG_REQUEST: выбирает таблицу расписания Master-Request для передачи диагностических запросов [SWS_LinIf_00629].LINTP_DIAG_RESPONSE: выбирает таблицу расписания Slave-Response для приема диагностических ответов [SWS_LinIf_00629].
С точки зрения взаимодействия этот тип служит для переключения между диагностическими передачами и регулярной коммуникацией приложений внутри LIN-интерфейса [SWS_LinIf_00629]. Специфические контексты вызова, свойства реентерабельности или обработка ошибок (такие как сообщения DET или DEM) для этого чистого типа данных в источниках не указаны; предположительно тип передается в качестве параметра функции при управляющих вызовах от транспортного протокола LIN в LIN-интерфейс. Вопрос Q-1bf7553401882471 (открытый)
Этот текст создан ИИ и основан исключительно на спецификациях релиза AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_LinIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_LinIf@rel:R20-11#e074907f- Content hash
e074907f- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINInterface.pdf#nameddest=SWS_LinIf_00198
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал