DEENESPTFRRUARHIKOZHNL

AUTOSAR COM

ModulCom (AUTOSAR COM)
BSW-Modul-ID50
Standard-Header#include "Com.h"
SWS-SpezifikationAUTOSAR_SWS_COM.pdf
ClusterCommunication Services

Руководство по модулюСОЗДАНО ИИ

Отображает сигналы RTE на I-PDUs и управляет их передачей, приемом и мониторингом через PDU Router.
СОЗДАНО ИИ не проверено Модель: claude-opus-5-5 · Усилие: high · Температура: не регулируется · Промпт: 8d7d9ac9befb Происхождение Открытые вопросы (3)
Причинный якорь: R20-11 Действует с R20-11 Заново синтезировано для этой версии спецификации.
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Отображает сигналы RTE на I-PDUs и управляет их передачей, приемом и мониторингом через PDU Router.

COM упаковывает сигналы и сигнальные группы RTE в I-PDUs и передает их на шину исключительно через PDU Router. Наоборот, он распаковывает принятые I-PDUs из Com_RxIndication и уведомляет RTE [SWS_Com_00123]. Отправка выполняется согласно сконфигурированным режимам передачи, циклическую составляющую берет на себя Com_MainFunctionTx. Коммуникация осуществляется только для I-PDUs, чья группа I-PDU запущена, обычно модулем BswM [SWS_Com_91001]. Остановленные группы приводят к COM_SERVICE_NOT_AVAILABLE; отсутствие подтверждений выявляется мониторингом дедлайнов.

COM выступает посредником между ориентированной на сигналы RTE и ориентированным на I-PDU коммуникационным стеком. RTE записывает сигналы с помощью Com_SendSignal, а группы сигналов — с помощью Com_SendSignalGroup [SWS_Com_00197] [SWS_Com_00200]. Чтение выполняется через соответствующие API приема [SWS_Com_00198]. Вниз PDU Router является единственным интерфейсом (RS COM с. 12). PduR вызывает Com_RxIndication, Com_TxConfirmation и Com_TriggerTransmit [SWS_Com_00123] [SWS_Com_00124] [SWS_Com_00001].

kontext swc SW-Cs rte RTE (inkl. Transformer-Kette) swc->rte Rte_Write / Rte_Read com Com (Signale, Signalgruppen, I-PDUs, Signal-Gateway) rte->com Com_SendSignal / Com_SendSignalGroup(Array) Com_ReceiveSignal / Com_ReceiveSignalGroup(Array) bswm BswM bswm->com Com_IpduGroupStart / Com_IpduGroupStop Com_EnableReceptionDM / Com_DisableReceptionDM Com_SwitchIpduTxMode, Com_TriggerIPDUSend j1939rm J1939Rm j1939rm->com Com_TriggerIPDUSendWithMetaData com->rte Notifications (Rte_COMCbk_<signal>, Rte_COMCbkTAck_<signal>) det DET com->det Det_ReportError Det_ReportRuntimeError pdur PduR com->pdur PduR_ComTransmit pdur->com Com_RxIndication, Com_TxConfirmation, Com_TriggerTransmit pdur->com Com_StartOfReception, Com_CopyRxData, Com_TpRxIndication, Com_CopyTxData, Com_TpTxConfirmation ifmod CanIf / LinIf / FrIf pdur->ifmod <Lo>_Transmit tpmod CanTp / FrTp pdur->tpmod <LoTp>_Transmit ifmod->pdur RxIndication, TxConfirmation, TriggerTransmit tpmod->pdur StartOfReception, CopyRxData/CopyTxData, TpRxIndication/TpTxConfirmation

Контекстная диаграмма: встраивание COM между RTE, BswM, J1939Rm и PduR. Источники: SWS PduR с. 24, SWS BswM с. 93

После Com_Init межконтроллерная связь (inter-ECU) еще не разрешена [SWS_Com_00432]. Разрешение осуществляется через группы I-PDU, которыми в основном управляет BswM с помощью Com_IpduGroupStart и Com_IpduGroupStop [SWS_Com_91001] [SWS_Com_91002]. I-PDU активна до тех пор, пока запущена хотя бы одна из ее групп [SWS_Com_00771]. При остановке COM отбрасывает незавершенные запросы на передачу [SWS_Com_00777].

При отправке механизм Transmission Mode Selection выбирает между двумя сконфигурированными режимами (TPS SystemTemplate с. 274). Циклические составляющие берет на себя Com_MainFunctionTx [SWS_Com_00399]. На CAN передача выполняется напрямую, на FlexRay FrIf забирает данные через TriggerTransmit (SWS PduR с. 101). При приеме COM отбрасывает сигналы с неустановленным битом обновления (Update-Bit), а также целые группы сигналов, если один групповой сигнал отфильтровывается [SWS_Com_00802] [SWS_Com_00836]. Для цепочек трансформаторов предусмотрен доступ к массиву через Com_SendSignalGroupArray [SWS_Com_00851].

Signalgruppe senden: CAN direkt, FlexRay per TriggerTransmitRTEComPduRCanIfFrIfUse Case: Signalgruppe aktualisierenloopдля каждого сигнала группыCom_SendSignal(SignalId, SignalDataPtr)Com_SendSignalGroup(SignalGroupId)Update-Bit setzen,Transmission Mode SelectionМомент инициации PduR_ComTransmit в зависимости от режима передачинапрямую или в Com_MainFunctionTx (интерпретация)altCAN: прямая передачаPduR_ComTransmit(TxPduId, PduInfoPtr)CanIf_Transmit(TxPduId, PduInfoPtr)PduR_CanIfTxConfirmation(TxPduId, result)Com_TxConfirmation(TxPduId, result)FlexRay: TriggerTransmitPduR_ComTransmit(TxPduId, PduInfoPtr)FrIf_Transmit(TxPduId, PduInfoPtr)Flag setzen, Sendeslot abwartenPduR_FrIfTriggerTransmit(TxPduId, PduInfoPtr)Com_TriggerTransmit(TxPduId, PduInfoPtr)Скопировать I-PDU в SduDataPtrE_OKPduR_FrIfTxConfirmation(TxPduId, result)Com_TxConfirmation(TxPduId, result)Sende-Deadline-Timer abbrechenRte_COMCbkTAck_<signal>()(IMMEDIATE немедленно, DEFERRED позже)

Диаграмма последовательности: отправка группы сигналов через CAN (напрямую) или FlexRay (TriggerTransmit) с последующим подтверждением для RTE. Источники: SWS COM с. 87, SWS RTE с. 329

В случае ошибки действует следующее:

  • Ошибки разработки, такие как COM_E_UNINIT или COM_E_PARAM_POINTER, передаются в DET [SWS_Com_00442] [SWS_Com_00804].
  • При остановленной группе API возвращают COM_SERVICE_NOT_AVAILABLE [SWS_Com_00865].
  • Если подтверждение отправки отсутствует, мониторинг дедлайнов отправки сообщает об этом через ComTimeoutNotification [SWS_Com_00304].

Роль COM между RTE и PDU Router

Модуль AUTOSAR COM выступает посредником между сигнало-ориентированным представлением RTE и представлением коммуникационного стека, ориентированным на I-PDU. Сигналы и группы сигналов записываются в I-PDUs через Com_SendSignal и Com_SendSignalGroup [SWS_Com_00197] [SWS_Com_00200]. С помощью Com_ReceiveSignal и Com_ReceiveSignalGroup они считываются обратно [SWS_Com_00198] [SWS_Com_00201]. На нижнем уровне PDU Router является единственным интерфейсом COM (RS COM с. 12). COM вызывает там PduR_ComTransmit [SWS_Com_00669]. В свою очередь, COM предоставляет PduR функции обратного вызова Com_RxIndication, Com_TxConfirmation и Com_TriggerTransmit [SWS_Com_00123] [SWS_Com_00124] [SWS_Com_00001]. При этом PduR преобразует идентификаторы I-PDU между модулем-источником и модулем-назначением (SWS PduR с. 33).

Помимо RTE интерфейсы COM используют и другие модули базового программного обеспечения:

  • BswM управляет через опциональные интерфейсы группами I-PDU, мониторингом дедлайнов приема и режимами передачи (SWS BswM с. 93).
  • J1939Rm целенаправленно инициирует I-PDUs через Com_TriggerIPDUSendWithMetaData [SWS_Com_00858] (SWS J1939Rm с. 62).
  • Об ошибках COM сообщает в DET [SWS_Com_00670].
kontext swc SW-Cs rte RTE (inkl. Transformer-Kette) swc->rte Rte_Write / Rte_Read com Com (Signale, Signalgruppen, I-PDUs, Signal-Gateway) rte->com Com_SendSignal / Com_SendSignalGroup(Array) Com_ReceiveSignal / Com_ReceiveSignalGroup(Array) bswm BswM bswm->com Com_IpduGroupStart / Com_IpduGroupStop Com_EnableReceptionDM / Com_DisableReceptionDM Com_SwitchIpduTxMode, Com_TriggerIPDUSend j1939rm J1939Rm j1939rm->com Com_TriggerIPDUSendWithMetaData com->rte Notifications (Rte_COMCbk_<signal>, Rte_COMCbkTAck_<signal>) det DET com->det Det_ReportError Det_ReportRuntimeError pdur PduR com->pdur PduR_ComTransmit pdur->com Com_RxIndication, Com_TxConfirmation, Com_TriggerTransmit pdur->com Com_StartOfReception, Com_CopyRxData, Com_TpRxIndication, Com_CopyTxData, Com_TpTxConfirmation ifmod CanIf / LinIf / FrIf pdur->ifmod <Lo>_Transmit tpmod CanTp / FrTp pdur->tpmod <LoTp>_Transmit ifmod->pdur RxIndication, TxConfirmation, TriggerTransmit tpmod->pdur StartOfReception, CopyRxData/CopyTxData, TpRxIndication/TpTxConfirmation

Контекстная диаграмма: COM находится между RTE, BswM и J1939Rm сверху и PduR снизу. До интерфейсных модулей и модулей TP COM добирается исключительно через PduR. Источники: RS COM с. 12, SWS PduR с. 24, SWS BswM с. 93

Жизненный цикл: инициализация, группы I-PDU и статус

Com_Init инициализирует внутренние и внешние интерфейсы и переменные конфигурацией типа Com_ConfigType. Связь inter-ECU после этого еще не разрешена [SWS_Com_00432] [SWS_Com_00825]. Com_GetStatus возвращает COM_UNINIT или COM_INIT; после сброса действует COM_UNINIT [SWS_Com_00194] [SWS_Com_00819]. Com_DeInit останавливает все запущенные группы I-PDU и возвращает модуль в неинициализированное состояние [SWS_Com_00130].

Связь разрешается отдельно для каждой группы I-PDU:

  • Com_IpduGroupStart запускает группу, при необходимости с повторной инициализацией данных I-PDU. Com_IpduGroupStop снова останавливает ее [SWS_Com_91001] [SWS_Com_91002].
  • I-PDU активна до тех пор, пока запущена хотя бы одна из ее групп [SWS_Com_00771].
  • I-PDUs без привязки к группе запускает уже Com_Init, причем аналогично initialize = true [SWS_Com_00840].
  • При остановке COM отбрасывает ожидающие запросы на отправку, включая повторные попытки [SWS_Com_00777]. Более поздние подтверждения отправки для остановленной I-PDU COM игнорирует [SWS_Com_00800].

Как правило, BswM переключает группы через действие BswMPduGroupSwitch. Его параметр BswMPduGroupSwitchReinit соответствует аргументу initialize (SWS BswM с. 165). Циклическая составляющая отправки начинается после сконфигурированного timeOffset, начиная с Com_IpduGroupStart (TPS SystemTemplate с. 268).

lebenszyklus cluster_init COM_INIT (Zustand je I-PDU) start Reset uninit COM_UNINIT start->uninit Стандартное значение после сброса gestoppt I-PDU gestoppt uninit->gestoppt Com_Init(config): I-PDU с назначением группы gestartet I-PDU запущена (активна как минимум одна из ее групп I-PDU) uninit->gestartet Com_Init(config): I-PDU без группы (аналогично запуску с initialize = true) gestoppt->uninit Com_DeInit() gestoppt->gestartet Com_IpduGroupStart(IpduGroupId, initialize) gestartet->uninit Com_DeInit(): все группы остановлены gestartet->gestoppt Com_IpduGroupStop последней активной группы: ожидающие запросы на отправку отклонены

Диаграмма состояний: состояние модуля и активация I-PDU через ее группы I-PDU. Источники: [SWS_Com_00432] [SWS_Com_00130] [SWS_Com_00771] [SWS_Com_00840] [SWS_Com_00777]

Отправка: от сигнала к I-PDU на шине

Com_SendSignal работает асинхронно [SWS_Com_00197]. Для данных, которые должны передаваться атомарно, RTE выполняет действия в два шага: сначала она записывает все групповые сигналы с помощью Com_SendSignal. Затем с помощью Com_SendSignalGroup она запускает передачу группы (SWS RTE с. 329). При этом COM выставляет бит обновления (Update-Bit) группы [SWS_Com_00801].

Когда и как часто отправляется I-PDU, определяют режимы передачи:

  • Для каждой I-PDU статически сконфигурированы два режима (True/False). Transmission Mode Selection выбирает между ними, в том числе во время выполнения (TPS SystemTemplate с. 274).
  • В качестве альтернативы Com_SwitchIpduTxMode явно устанавливает режим [SWS_Com_00784]. Циклические отправки в этом случае сдвигаются на ComTxModeTimeOffset [SWS_Com_00881].
  • Com_TriggerIPDUSend инициирует одиночную отправку независимо от режима передачи, однако только для запущенных I-PDUs [SWS_Com_00348] [SWS_Com_00861] (TPS SystemTemplate с. 371).
  • ComMinimumDelayTime принудительно задает минимальный интервал между двумя отправками [SWS_Com_00828].

Com_MainFunctionTx берет на себя все действия по отправке, которые не выполняются напрямую в функциях, вызываемых со стороны RTE [SWS_Com_00399]. Если сконфигурирована ComPreparationNotification, она вызывает Com_CbkTxPrep перед обработкой I-PDU [SWS_Com_00886] [SWS_Com_91013]. Com_TxIpduCallout может предотвратить дальнейшую обработку I-PDU с помощью false [SWS_Com_00346].

Процесс различается в зависимости от шинной системы:

  • CAN: I-PDU передается напрямую через PduR_ComTransmit.
  • FlexRay: после PduR_ComTransmit FrIf забирает данные только к слоту отправки через Com_TriggerTransmit (SWS PduR с. 101).
  • LIN: кадры, не являющиеся спорадическими (Sporadic Frames), запрашиваются исключительно через TriggerTransmit в соответствии с расписанием (SWS PduR с. 88).

Com_TriggerTransmit ничего не копирует и возвращает E_NOT_OK, если предложенный буфер слишком мал или I-PDU остановлена [SWS_Com_00869] [SWS_Com_00884]. С помощью Com_TxConfirmation COM прерывает текущие таймеры дедлайнов отправки [SWS_Com_00880]. Кроме того, он сообщает о каждой успешной отправке через сконфигурированное уведомление [SWS_Com_00883]. При обработке IMMEDIATE это происходит немедленно, при DEFERRED — с задержкой по времени через флаг (SWS COM с. 91).

Signalgruppe senden: CAN direkt, FlexRay per TriggerTransmitRTEComPduRCanIfFrIfUse Case: Signalgruppe aktualisierenloopдля каждого сигнала группыCom_SendSignal(SignalId, SignalDataPtr)Com_SendSignalGroup(SignalGroupId)Update-Bit setzen,Transmission Mode SelectionМомент инициации PduR_ComTransmit в зависимости от режима передачинапрямую или в Com_MainFunctionTx (интерпретация)altCAN: прямая передачаPduR_ComTransmit(TxPduId, PduInfoPtr)CanIf_Transmit(TxPduId, PduInfoPtr)PduR_CanIfTxConfirmation(TxPduId, result)Com_TxConfirmation(TxPduId, result)FlexRay: TriggerTransmitPduR_ComTransmit(TxPduId, PduInfoPtr)FrIf_Transmit(TxPduId, PduInfoPtr)Flag setzen, Sendeslot abwartenPduR_FrIfTriggerTransmit(TxPduId, PduInfoPtr)Com_TriggerTransmit(TxPduId, PduInfoPtr)Скопировать I-PDU в SduDataPtrE_OKPduR_FrIfTxConfirmation(TxPduId, result)Com_TxConfirmation(TxPduId, result)Sende-Deadline-Timer abbrechenRte_COMCbkTAck_<signal>()(IMMEDIATE немедленно, DEFERRED позже)

Диаграмма последовательности: отправка группы сигналов, передача в CAN (напрямую) или FlexRay (TriggerTransmit) и последующее подтверждение. Источники: SWS COM с. 87, SWS PduR с. 101, SWS RTE с. 329, [SWS_Com_00880]

Прием: индикация, распаковка и уведомление

PduR вызывает Com_RxIndication с идентификатором I-PDU, длиной, указателем данных и MetaData [SWS_Com_00123]. Этот путь одинаков для CanIf, FrIf и LinIf; PduR при этом буферизацию не выполняет (SWS PduR с. 97). Затем I-PDU проходит следующие проверки:

  • Сконфигурированный Com_RxIpduCallout вызывается всегда, причем до обработки счетчика и с полной I-PDU [SWS_Com_00889] [SWS_Com_00816]. Если он возвращает false, I-PDU далее не обрабатывается [SWS_Com_00700].
  • Сигналы с неустановленным битом обновления (Update-Bit) COM отбрасывает [SWS_Com_00802].
  • Если бит обновления отсутствует из-за того, что принятая I-PDU короче, чем ожидалось, он считается установленным [SWS_Com_00794].
  • Если COM отфильтровывает групповой сигнал, он отбрасывает всю группу сигналов [SWS_Com_00836].
rx_verarbeitung start Com_RxIndication(RxPduId, PduInfoPtr) callout Com_RxIpduCallout сконфигурирован? Вызов с полной I-PDU start->callout verwerfen_pdu Не обрабатывать I-PDU дальше callout->verwerfen_pdu Возврат false zaehler Обработка счетчика I-PDU (при расхождении Com_CbkCounterErr) callout->zaehler true / kein Callout update Update-Bit gesetzt? zaehler->update verwerfen_sig Signal verwerfen update->verwerfen_sig нет filter Группа сигналов: все сигналы группы проходят фильтр? update->filter Да, или бит не принят из-за более короткой I-PDU verwerfen_grp ganze Signalgruppe verwerfen filter->verwerfen_grp нет speichern Принять значение filter->speichern Да (или одиночный сигнал) modus Тип обработки I-PDU? speichern->modus sofort Notification sofort an RTE modus->sofort IMMEDIATE spaeter Установить флаг, notification позже modus->spaeter DEFERRED

Диаграмма деятельности: решения при обработке принятой I-PDU вплоть до уведомления. Источники: [SWS_Com_00889] [SWS_Com_00700] [SWS_Com_00802] [SWS_Com_00794] [SWS_Com_00836] [SWS_Com_00726]; порядок «бит обновления перед фильтром» является интерпретацией.

То, как COM уведомляет RTE, зависит от типа обработки. При IMMEDIATE COM вызывает колбэки RTE непосредственно в контексте индикации. При DEFERRED COM сначала лишь устанавливает флаг и копирует данные (SWS COM с. 92). Проверка этого флага, предположительно, происходит в Com_MainFunctionRx, которая берет на себя обработку приема, не выполненную непосредственно в Com_RxIndication [SWS_Com_00398]. Вопрос Q-b13cce4402c7b858 (открытый) В случае групп сигналов COM информирует только тогда, когда все групповые сигналы распакованы. Затем RTE вызывает ровно один раз Com_ReceiveSignalGroup и далее Com_ReceiveSignal для каждого группового сигнала (SWS RTE с. 329). Принятые MetaData COM сохраняет для RTE [SWS_Com_00888].

Прием I-PDU с группой сигналовCanIf / LinIf / FrIfPduRComRTEPduR_<User:Lo>RxIndication(RxPduId, PduInfoPtr)Com_RxIndication(RxPduId, PduInfoPtr)Callout, счетчик, биты обновления, фильтрыaltIMMEDIATEПринять сигналыRte_COMCbk_signalX()Rte_COMCbk_signalY()DEFERREDFlag setzen, Daten kopierenпозже, предположительно в Com_MainFunctionRx:Проверить флагRte_COMCbk_signalX() (falls Flag gesetzt)Use Case: Выборка уровнем RTECom_ReceiveSignalGroup(SignalGroupId)E_OKloopдля каждого сигнала группыCom_ReceiveSignal(SignalId, SignalDataPtr)E_OK

Диаграмма последовательности: индикация со стороны PduR, уведомление IMMEDIATE по сравнению с DEFERRED и выборка группы сигналов со стороны RTE. Источники: SWS COM с. 92, SWS RTE с. 329, [SWS_Com_00123]

Большие I-PDUs, массивы сигнальных групп и метаданные

Большие I-PDUs передаются по транспортным протоколам. Для этого COM предоставляет собственный TP-интерфейс, соответствующий верхнему TP-интерфейсу PduR (SWS PduR с. 24):

Для работы с TP действуют некоторые специальные правила:

  • При TpSduLength = 0 COM сообщает сконфигурированную максимальную длину [SWS_Com_00874].
  • Если большая I-PDU инициируется повторно, пока она еще передается, COM отклоняет дополнительный запрос [SWS_Com_00863].
  • Если Com_TriggerIPDUSend инициирует передачу, пока буфер заблокирован, COM сохраняет запрос и отправляет данные позже [SWS_Com_00867].
Сегментированный прием большой I-PDU (упрощенно, без SecOC)CanTpPduRComPduR_CanTpStartOfReception(...)Com_StartOfReception(id, info, TpSduLength, bufferSizePtr)BUFREQ_OK, доступный буферloopпока не будут скопированы все данныеPduR_CanTpCopyRxData(...)Com_CopyRxData(id, info, bufferSizePtr)BUFREQ_OKPduR_CanTpRxIndication(id, result)Com_TpRxIndication(id, result)altresult = E_OKОбработать сигналы большой I-PDUresult = E_NOT_OKComDataInvalidAction для всехсигналов и групп сигналов

Диаграмма последовательности: сегментированный прием большой I-PDU через CanTp и PduR, упрощенно без SecOC. Источники: SWS SecOC с. 111, [SWS_Com_00691] [SWS_Com_00692] [SWS_Com_00650] [SWS_Com_00838]

Для цепочек трансформеров RTE обращается к группам сигналов как к массиву байтов. Для этого предусмотрены Com_SendSignalGroupArray и Com_ReceiveSignalGroupArray [SWS_Com_00851] [SWS_Com_00854]. Соответствующие правила:

  • Размер массива: он начинается с байтового смещения сигнала группы с наименьшим ComBitPosition. Он заканчивается на последнем байте сигнала группы с наибольшим ComBitPosition [SWS_Com_00844] [SWS_Com_00845].
  • Обработка: при отправке COM обрабатывает вызов в отношении Transfer Properties и Transmission Mode Selection аналогично Com_SendSignalGroup [SWS_Com_00847]. Поддерживается только ограниченный набор фильтров [SWS_Com_00848].
  • Предварительные условия: данные должны иметь фиксированный размер, быть выровнены по байтам и не должны содержать посторонних сигналов [SWS_Com_00841]. Для таких групп использование API одиночных сигналов и групп сигналов недопустимо [SWS_Com_00843].

COM Based Transformer выполняет сериализацию данных точно так же, как это сделал бы сам COM. Последующие трансформеры затем добавляют CRC и счетчик последовательности (SWS ComXf с. 14, EXP LSA с. 103).

Трансформированная передача через Com_SendSignalGroupArraySW-CRTECOM Based Transformerweitere Transformer (z. B. E2E)ComRte_Write_<p>_<d>(x, y, z)сериализовать согласно матрице коммуникациимассив uint8 (порядок байтов, знак как в COM)дополнить CRC и счетчик последовательностиerweitertes uint8-ArrayCom_SendSignalGroupArray(SignalGroupId, SignalGroupArrayPtr)Array ab Startposition (kleinste ComBitPosition)скопировать в I-PDUTransmission Mode Selectionкак при Com_SendSignalGroupE_OK

Диаграмма последовательности: RTE выполняет цепочку трансформеров и передает результат одним вызовом Com_SendSignalGroupArray. Источники: SWS ComXf с. 14, [SWS_Com_00846] [SWS_Com_00847]

MetaData передаваемой I-PDU берутся из последней передачи через RTE или, если таковой нет, из ComMetaDataDefault. Переданные с Com_TriggerIPDUSendWithMetaData MetaData действуют только для инициированной этим передачи [SWS_Com_00887] [SWS_Com_00862].

Конфигурация, планирование и сигнальный шлюз

COM содержит три типа Main Functions: Com_MainFunctionRx, Com_MainFunctionTx и Com_MainFunctionRouteSignals. Каждый из них может быть инстанцирован многократно и является реентерабельным для различных экземпляров [SWS_Com_00398] [SWS_Com_00399] [SWS_Com_00400]. Они вызываются без параметров планировщиком BSW (SWS BSWGeneral с. 79). Их периоды определяются в EcuInstance через comConfigurationRxTimeBase, comConfigurationTxTimeBase и comConfigurationGwTimeBase (TR Interoperability с. 98). Соответствующее уведомление Rte_COMCbkTxPrep_<mn> привязано к конкретному экземпляру Com_MainFunctionTx (SWS RTE с. 832).

Сигнальный шлюз является составной частью COM (SRS Gateway с. 11). Он перенаправляет принятые сигналы в Com_MainFunctionRouteSignals [SWS_Com_00400]. При этом он проходит определенные этапы обработки на стороне приема и передачи [SWS_Com_00872] [SWS_Com_00873]. Он также может отображать отдельные сигналы группы на самостоятельные сигналы [SWS_Com_00833].

Конфигурация подчиняется ряду граничных условий:

  • Поддерживаются типы данных из [SWS_Com_00675]. Сигналы типов UINT8_N и UINT8_DYN должны быть выровнены по байтам [SWS_Com_00105].
  • Все I-PDU одной группы имеют одинаковое направление [SWS_Com_00871].
  • Если для принимаемого сигнала настроено недопустимое значение (Invalid), должна быть также сконфигурирована ComDataInvalidAction [SWS_Com_00859].

Идентификаторы сигналов, групп и групп I-PDU представляют собой значения uint16 с отсчетом от нуля [SWS_Com_00820] [SWS_Com_00821] [SWS_Com_00822]. Их символические имена формируются из ComHandleId (TPS ECUConfiguration с. 138).

Поведение при ошибке

Об ошибках разработки COM сообщает через Det_ReportError с ModuleId 50 [SWS_Com_00442]. Определены:

  • COM_E_PARAM для некорректных параметров [SWS_Com_00803].
  • COM_E_UNINIT для вызовов до Com_Init или после Com_DeInit. Исключение составляют функции состояния, версии и Main Functions [SWS_Com_00804].
  • COM_E_PARAM_POINTER для нулевых указателей [SWS_Com_00805].
  • COM_E_INIT_FAILED для недействительного выбора конфигурации [SWS_Com_00837].
  • В качестве ошибки времени выполнения: COM_E_SKIPPED_TRANSMISSION для отклоненных запросов на передачу [SWS_Com_00864].

API сигналов возвращают COM_SERVICE_NOT_AVAILABLE, если группа I-PDU остановлена или имеет место ошибка разработки [SWS_Com_00865]. Тем не менее Com_ReceiveSignalGroupArray копирует последние известные данные [SWS_Com_00857].

Для контроля дедлайна при передаче действует следующее:

  • Таймер запускается, когда сигнал передается на нижний уровень. В первый раз он инициализируется значением ComFirstTimeout, затем — значением ComTimeout [SWS_Com_00878] [SWS_Com_00879].
  • Если таймер истекает, COM вызывает ComTimeoutNotification [SWS_Com_00304].
  • В режиме передачи NONE контроль отключен [SWS_Com_00835].

На стороне приема действуют следующие механизмы:

  • BswM отключает и снова включает мониторинг дедлайна через Com_DisableReceptionDM и Com_EnableReceptionDM [SWS_Com_91003] [SWS_Com_91004] (SWS BswM с. 148).
  • Если таймер приема истекает, SUBSTITUTE заменяет значения на ComTimeoutSubstitutionValue [SWS_Com_00875] [SWS_Com_00876].
  • Если прием через TP завершается сбоем или коллбек возвращает false, COM обрабатывает все сигналы данной I-PDU как недействительные [SWS_Com_00838] [SWS_Com_00839].
  • Если счетчик I-PDU расходится, COM вызывает Com_CbkCounterErr [SWS_Com_00726].
tx_dm inaktiv Таймер не запущен laeuft Таймер запущен inaktiv->laeuft Сигнал (или группа сигналов) в I-PDU на нижний уровень: первый запуск с ComFirstTimeout, иначе ComTimeout deaktiviert Контроль деактивирован (активен режим передачи NONE) inaktiv->deaktiviert Wechsel in Modus NONE laeuft->inaktiv Com_TxConfirmation: Timer abgebrochen laeuft->laeuft Повторная передача: таймер продолжает работу abgelaufen Timer abgelaufen: ComTimeoutNotification aufgerufen laeuft->abgelaufen Нет своевременного подтверждения abgelaufen->laeuft Повторная передача: запуск с ComTimeout deaktiviert->inaktiv Wechsel in anderen Modus

Диаграмма состояний: жизненный цикл таймера дедлайна передачи. Источники: [SWS_Com_00878] [SWS_Com_00879] [SWS_Com_00880] [SWS_Com_00304] [SWS_Com_00835]

Дальнейшие подробные доказательства

Сгенерированное ИИ руководство на основе требований (R20-11) и разделов документов, содержащихся в полезной нагрузке. Нормативными являются исключительно связанные требования. Утверждения, обозначенные как интерпретация, не полностью подтверждены источниками.

AUTOSAR COM

The AUTOSAR COM module provides signal-based communication services for inter-ECU exchange across diverse bus systems.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

функция Com_Init [SWS_Com_00432] 📄 PDF

void Com_Init (const Com_ConfigType* config);

This service initializes internal and external interfaces and variables of the AUTO- SAR COM module layer for the further processing. After calling this function the inter - ECU communication is still disabled. In configurations, in which Com is assigned to mo re than one partition (i.e. Com_ Main Functions are mapped to partitions), Com may provide one init function per AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM partition.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: a9d5c039e92f Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Функция Com_Init инициализирует внутренние и внешние интерфейсы, а также переменные уровня AUTOSAR COM для последующей обработки ([SWS_Com_00432]). Вызов выполняется синхронно и не является реентерабельным (Non Reentrant) ([SWS_Com_00432]). В качестве передаваемого параметра служит config в виде указателя на конфигурационные данные модуля COM (const Com_ConfigType* config); возвращаемое значение отсутствует ([SWS_Com_00432]). В конфигурациях с несколькими разделами (Multi-Partition), где основные функции модуля COM назначены нескольким разделам, COM может предоставлять собственную функцию инициализации для каждого раздела ([SWS_Com_00432]).

Условия очередности и обработка ошибок

Инициализация через Com_Init является функциональным предварительным условием для штатного использования интерфейсов COM: если служба API вызывается до Com_Init или после вызова Com_DeInit, генерируется код ошибки COM_E_UNINIT (0x02) ([SWS_Com_00804]). Исключением из этой проверки ошибок являются исключительно вызовы Com_GetStatus, Com_GetVersionInfo, Com_MainFunctionRx, Com_MainFunctionTx и Com_MainFunctionRouteSignals ([SWS_Com_00804]).

Взаимодействие при инициализации PDU и сигналов

После выполнения Com_Init собственно связь между ECU изначально остается деактивированной ([SWS_Com_00432]). Интерпретация: для штатного режима отправки и приема поэтому, вероятно, требуется последующая активация соответствующих групп I-PDU. Вопрос Q-8407f9a6281c3764 (открытый) Однако для определенных структур данных Com_Init уже выполняет прямую инициализацию:

  • Если I-PDU не назначена ни одной группе I-PDU, COM запускает эту I-PDU уже внутри Com_Init так, как если бы она была запущена через Com_IpduGroupStart с установленным параметром инициализации ([SWS_Com_00840]).
  • Для групп сигналов с настроенным доступом к массиву (ComSignalGroupArrayAccess) Com_Init инициализирует соответствующую область буфера I-PDU на основе начальных значений (ComSignalInitValue) всех содержащихся сигналов группы ([SWS_Com_00850]).

Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция Init [SWS_Com_00130] 📄 PDF

void Com_DeInit (void);

This service stops the inter - ECU communication. All started I - PDU groups are stop- ped and have to be started again, if needed, after Com_ Init is called. By a call to Com_ De Init the AUTOSAR COM module is put into an not initialized state.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 15d5ebd10450 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и контекст вызова

Синхронная функция [SWS_Com_00130] (интерпретация: в полезной нагрузке указана как 'Init', но специфицирует сигнатуру void Com_DeInit(void)) завершает меж-ECU связь и переводит модуль AUTOSAR COM в неинициализированное состояние ([SWS_Com_00130]). Вопрос Q-3e91d7d0a140cee0 (открытый) Служба имеет Service-ID 0x02, не требует передаваемых параметров, не возвращает значения и предоставляется через заголовочный файл Com.h ([SWS_Com_00130]).

Параллелизм и ограничения

Что касается контекста вызова, функция определена как нереентерабельная (Non Reentrant) ([SWS_Com_00130]). Поэтому параллельный или многократный вызов без предварительной повторной инициализации недопустим.

Взаимодействие и жизненный цикл

В результате деинициализации останавливаются все ранее запущенные группы I-PDU ([SWS_Com_00130]). Для последующего возобновления связи действуют следующие условия последовательности:

  • Модуль должен быть повторно инициализирован через синхронную нереентерабельную службу Com_Init с передачей указателя конфигурации config ([SWS_Com_00432]).
  • Поскольку меж-ECU связь после вызова Com_Init остаётся отключённой ([SWS_Com_00432]), необходимые группы I-PDU впоследствии должны быть явно запущены заново ([SWS_Com_00130]).

Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_IpduGroupStart [SWS_Com_91001] 📄 PDF

void Com_IpduGroupStart (Com_IpduGroupIdType IpduGroupId, boolean initialize);

Starts a preconfigured I - PDU group. For example, cyclic I - PDUs will be sent out cyclically after the call of Com_ Ipdu Group Start(). If Initialize is true all I - PDUs of the I - PDU group shall be (r e - )initialized before the I - PDU group is started. That is they shall behave like after a start - up of COM, for example the old_ value of the filter ob- jects and shadow buffers of signal groups have to be (re - )initialized.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 8b6a6f2e80e0 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Com_IpduGroupStart (Service-ID 0x03, заголовочный файл Com.h) служит для запуска предварительно сконфигурированной группы I-PDU [SWS_Com_91001]. После вызова активируется передача соответствующих I-PDU; например, циклические I-PDU отныне отправляются циклически [SWS_Com_91001].

Использование и параметры

Функция не имеет возвращаемого значения и принимает два входных параметра [SWS_Com_91001]:

  • IpduGroupId: уникальный идентификатор запускаемой предварительно сконфигурированной группы I-PDU [SWS_Com_91001].
  • initialize: логический флаг для запроса инициализации данных I-PDU этой группы перед запуском [SWS_Com_91001].

Если initialize установлен в true, все I-PDU группы должны быть (повторно) инициализированы перед запуском [SWS_Com_91001]. После этого I-PDU ведут себя так же, как непосредственно после запуска модуля COM [SWS_Com_91001]. В частности, это включает в себя повторную инициализацию предыдущего значения (old_value) объектов фильтра, а также теневых буферов для групп сигналов [SWS_Com_91001].

Параллелизм и ограничения

В отношении параллелизма Com_IpduGroupStart является реентерабельной для различных групп I-PDU, однако явно нереентерабельна для одной и той же группы I-PDU [SWS_Com_91001].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция Com_IpduGroupStop [SWS_Com_91002] 📄 PDF

void Com_IpduGroupStop (Com_IpduGroupIdType IpduGroupId);

Stops a preconfigured I - PDU group. For example, cyclic I - PDUs will be stopped after the call of Com_ Ipdu Group Stop().

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 651ca887878f Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция Com_IpduGroupStop служит для остановки предварительно сконфигурированной группы I-PDU в модуле AUTOSAR COM [SWS_Com_91002]. Объявление доступно через заголовочный файл Com.h и имеет Service-ID 0x04 [SWS_Com_91002].

  • Синтаксис вызова: void Com_IpduGroupStop (Com_IpduGroupIdType IpduGroupId) [SWS_Com_91002].
  • Параметры: в качестве единственного параметра передается входной параметр IpduGroupId типа Com_IpduGroupIdType, определяющий идентификатор останавливаемой группы I-PDU [SWS_Com_91002]. Дополнительные входные/выходные (inout) или выходные параметры (out) отсутствуют [SWS_Com_91002].
  • Возвращаемое значение: интерфейс не возвращает значения (void) [SWS_Com_91002].
  • Поведение при выполнении: вызов обрабатывается синхронно [SWS_Com_91002]. После вызова Com_IpduGroupStop коммуникация соответствующей группы останавливается; это приводит, например, к тому, что циклические I-PDU этой группы больше не отправляются [SWS_Com_91002].

Параллелизм и ограничения

В отношении параллелизма и реентерабельности установлено, что Com_IpduGroupStop реентерабельна для различных групп I-PDU, однако не должна выполняться реентерабельно для одной и той же группы I-PDU [SWS_Com_91002]. Если функция вызывается в многозадачных или многоядерных средах, вызывающее программное обеспечение должно гарантировать исключение конкурирующих вызовов для одного и того же ID группы.

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_EnableReceptionDM [SWS_Com_91004] 📄 PDF

void Com_EnableReceptionDM (Com_IpduGroupIdType IpduGroupId);

Enables the reception deadline monitoring for the I - PDUs within the given I - PDU group.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5f24c726b615 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Com_EnableReceptionDM служит для того, чтобы активировать контроль сроков приема (Reception Deadline Monitoring) для всех I-PDU внутри заданной группы I-PDU [SWS_Com_91004].

Использование и контекст вызова: функция объявлена в заголовочном файле Com.h и имеет Service-ID 0x06 [SWS_Com_91004]. В качестве единственного передаваемого параметра сигнатура void Com_EnableReceptionDM (Com_IpduGroupIdType IpduGroupId) ожидает входной параметр IpduGroupId типа Com_IpduGroupIdType, который представляет собой идентификатор группы I-PDU, для содержащихся I-PDU которой должен быть включен контроль сроков [SWS_Com_91004]. Выполнение происходит синхронно [SWS_Com_91004]. Входные/выходные и выходные параметры отсутствуют, возвращаемое значение не возвращается (тип возврата void) [SWS_Com_91004].

Параллелизм и ограничения: в отношении параллелизма Com_EnableReceptionDM является реентерабельной для различных групп I-PDU, однако нереентерабельна для одной и той же группы I-PDU [SWS_Com_91004]. Конкурирующие вызовы для одного и того же ID группы поэтому недопустимы и должны исключаться в контексте вызова [SWS_Com_91004].

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR Classic Release R20-11.

функция Com_DisableReceptionDM [SWS_Com_91003] 📄 PDF

void Com_DisableReceptionDM (Com_IpduGroupIdType IpduGroupId);

Disables the reception deadline monitoring for the I - PDUs within the given I - PDU group.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 12da9925d73b Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Com_DisableReceptionDM отключает мониторинг дедлайнов приема (Reception Deadline Monitoring) для всех I-PDU в переданной группе I-PDU [SWS_Com_91003].

Использование

Вызов осуществляется через интерфейс void Com_DisableReceptionDM(Com_IpduGroupIdType IpduGroupId) с идентификатором затронутой группы I-PDU в качестве входного параметра IpduGroupId [SWS_Com_91003]. Функция не имеет ни входных/выходных, ни выходных параметров и не возвращает значения (void) [SWS_Com_91003]. Сервис объявлен с Service-ID 0x05 в заголовочном файле Com.h [SWS_Com_91003].

Параллелизм и ограничения

В отношении поведения при параллелизме сервис является реентерабельным для различных групп I-PDU, однако не должен вызываться параллельно (non-reentrant) для одной и той же группы I-PDU [SWS_Com_91003].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.

функция Com_SendSignal [SWS_Com_00197] 📄 PDF

uint8 Com_SendSignal (Com_SignalIdType SignalId, const void* SignalDataPtr);

The service Com_ Send Signal updates the signal object identified by Signal Id with the signal referenced by the Signal Data Ptr parameter. Avai lable via Com.h

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 8158a8b89f8c Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Com_SendSignal служит для обновления идентифицированного с помощью SignalId сигнального объекта данными, на которые указывает указатель SignalDataPtr [SWS_Com_00197]. Вызов обрабатывается асинхронно [SWS_Com_00197].

Возвращаемые значения и обработка ошибок

Функция возвращает статус типа uint8 [SWS_Com_00197]:

  • E_OK: сервис принят [SWS_Com_00197].
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU остановлена или вызов завершился сбоем из-за ошибки разработки [SWS_Com_00197].
  • COM_BUSY: возникает, если буфер TP заблокирован для обработки больших типов данных [SWS_Com_00197].

Параллелизм и ограничения

Что касается реентерабельности, Com_SendSignal не является реентерабельной для одного и того же сигнала, но может вызываться параллельно для разных сигналов [SWS_Com_00197]. Интерфейс предоставляется через заголовочный файл Com.h [SWS_Com_00197].

Взаимодействие и конфигурация

Если для группы сигналов определена конфигурация ComSignalGroupArrayAccess, вызов Com_SendSignal для сигналов этой группы не поддерживается [SWS_Com_00843].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_SendDynSignal [SWS_Com_00627] 📄 PDF

uint8 Com_SendDynSignal (Com_SignalIdType SignalId, const void* SignalDataPtr, uint16 Length);

The service Com_ Send Dyn Signal updates the signal object identified by Signal Id with the signal referenced by the Signal Data Ptr parameter.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: b3f2deddf90c Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Classic AUTOSAR Com_SendDynSignal служит для обновления объекта сигнала динамической длины на основе переданных полезных данных ([SWS_Com_00627]). Сервис имеет Service ID 0x21 и работает асинхронно ([SWS_Com_00627]). В качестве входных параметров интерфейс ожидает идентификатор целевого сигнала (SignalId), указатель на передаваемые полезные данные сигнала (SignalDataPtr), а также текущую длину динамического сигнала (Length); выходные параметры отсутствуют ([SWS_Com_00627]).

Возвращаемое значение типа uint8 сообщает результат принятия запроса ([SWS_Com_00627]):

  • E_OK: вызов службы был успешно принят ([SWS_Com_00627]).
  • E_NOT_OK: параметр Length превышает максимальную длину, сконфигурированную для этого сигнала ComSignalLength ([SWS_Com_00627]).
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU остановлена или произошел сбой службы из-за ошибки разработки ([SWS_Com_00627]).
  • COM_BUSY: буфер TP заблокирован ([SWS_Com_00627]).

В отношении параллелизма Com_SendDynSignal является реентерабельной для разных сигналов, но нереентерабельной для одного и того же сигнала ([SWS_Com_00627]). Объявление функции доступно через заголовочный файл Com.h ([SWS_Com_00627]).

Этот текст сгенерирован ИИ и служит в качестве ориентира. Определяющей является спецификация.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_ReceiveSignal [SWS_Com_00198] 📄 PDF

uint8 Com_ReceiveSignal (Com_SignalIdType SignalId, void* SignalDataPtr);

Com_ Receive Signal copies the data of the signal identified by Signal Id to the location specified by Signal Data Ptr.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: d44a9c735931 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Com_ReceiveSignal копирует данные сигнала, заданного через SignalId, по адресу памяти, предоставленному через указатель SignalDataPtr ([SWS_Com_00198]).

Использование и семантика

Вызов обрабатывает передачу сигнала синхронно и принимает в качестве входного параметра идентификатор SignalId (типа Com_SignalIdType), а в качестве выходного параметра указатель SignalDataPtr (void*) на целевой буфер ([SWS_Com_00198]). Интерфейс доступен через заголовочный файл Com.h ([SWS_Com_00198]).

Возвращаемые значения и обработка ошибок

Возвращаемое значение типа uint8 сигнализирует о результате выполнения функции ([SWS_Com_00198]):

  • E_OK: служба успешно принята и выполнена ([SWS_Com_00198]).
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU была остановлена или служба завершилась сбоем из-за ошибки разработки ([SWS_Com_00198]).
  • COM_BUSY: возникает, если буфер TP заблокирован для обработки больших типов данных ([SWS_Com_00198]).

Параллелизм и ограничения

Что касается реентерабельности, Com_ReceiveSignal не является реентерабельной для одного и того же сигнала, однако реентерабельна для различных сигналов ([SWS_Com_00198]). Следовательно, при параллельных обращениях к одинаковым ID сигналов вызывающие стороны должны обеспечить надлежащую синхронизацию.

Кроме того, существует существенное ограничение конфигурации: если для группы сигналов настроен доступ на основе массивов ComSignalGroupArrayAccess, вызов Com_ReceiveSignal для входящих в эту группу сигналов не поддерживается ([SWS_Com_00843]).

Этот текст был сгенерирован ИИ на основе требований спецификации.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_ReceiveDynSignal [SWS_Com_00690] 📄 PDF

uint8 Com_ReceiveDynSignal (Com_SignalIdType SignalId, void* SignalDataPtr, uint16* Length);

Com_ Receive Dyn Signal copies the data of the signal identified by Signal Id to the lo cation specified by Signal Data Ptr and stores the length of the dynamical length signal at the position given by the Length parameter.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 078181d39b16 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Синхронная функция Com_ReceiveDynSignal служит для приёма сигнала динамической длины по его SignalId [SWS_Com_00690]. Принятые данные сигнала копируются в область памяти, на которую указывает SignalDataPtr [SWS_Com_00690]. Через входной/выходной параметр Length вызывающая сторона передаёт в качестве входного значения максимально допустимую длину; после успешного процесса копирования туда помещается фактическая длина принятого динамического сигнала [SWS_Com_00690].

Возвращаемые значения и обработка ошибок

Функция возвращает значение состояния типа uint8 [SWS_Com_00690]:

  • E_OK: вызов сервиса принят, и данные успешно скопированы [SWS_Com_00690].
  • E_NOT_OK: предоставленный буфер слишком мал, так как входное значение Length меньше фактической длины принятого сигнала [SWS_Com_00690].
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU была остановлена или служба завершилась сбоем вследствие ошибки разработки [SWS_Com_00690].
  • COM_BUSY: буфер TP в данный момент заблокирован [SWS_Com_00690].

Параллелизм и интеграция

В отношении реентерабельности Com_ReceiveDynSignal является нереентерабельной для одного и того же сигнала, однако может вызываться реентерабельно для разных сигналов [SWS_Com_00690]. Объявление доступно через Com.h [SWS_Com_00690].

Этот текст был сгенерирован системой ИИ на основе спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_SendSignalGroup [SWS_Com_00200] 📄 PDF

uint8 Com_SendSignalGroup (Com_SignalGroupIdType SignalGroupId);

The service Com_ Send Si gnal Group copies the content of the associated shadow buffer to the associated I - PDU.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0d9d9eeb6062 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Асинхронная функция Com_SendSignalGroup служит для копирования содержимого сопоставленного теневого буфера в соответствующую I-PDU [SWS_Com_00200]. В качестве входного параметра она принимает идентификатор SignalGroupId передаваемой группы сигналов [SWS_Com_00200].

Возвращаемые значения и обработка ошибок

Возвращаемое значение сигнализирует о статусе выполнения службы [SWS_Com_00200]:

  • E_OK: вызов службы был успешно принят [SWS_Com_00200].
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU была остановлена или служба завершилась сбоем вследствие ошибки разработки [SWS_Com_00200].
  • COM_BUSY: буфер TP временно заблокирован для передачи больших типов данных [SWS_Com_00200].

Параллелизм и ограничения

В отношении параллелизма вызов не является реентерабельным для одного и того же сигнала группы, однако реентерабелен для различных сигналов группы [SWS_Com_00200]. Интерпретация: ограничение, вероятно, относится к одновременным обращениям к одной и той же группе сигналов. Вопрос Q-2f3a6da092b51794 (открытый) Кроме того, вызов Com_SendSignalGroup для группы сигналов не поддерживается, если для нее сконфигурирован ComSignalGroupArrayAccess [SWS_Com_00843].

Взаимодействие

Модуль AUTOSAR COM обрабатывает вызов Com_SendSignalGroupArray эквивалентно Com_SendSignalGroup в отношении характеристик передачи, выбора режима передачи I-PDU и потока сигналов [SWS_Com_00847].

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_ReceiveSignalGroup [SWS_Com_00201] 📄 PDF

uint8 Com_ReceiveSignalGroup (Com_SignalGroupIdType SignalGroupId);

The service Com_ Receive Signal Group copies the received signal group from the I - PDU to the shadow buffer.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: b8b175f19562 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Синхронная функция Com_ReceiveSignalGroup служит для приёма групп сигналов. Она копирует данные принятой группы сигналов из соответствующей I-PDU в назначенный теневой буфер (Shadow Buffer) [SWS_Com_00201]. В качестве входного параметра функция ожидает идентификатор группы сигналов SignalGroupId типа Com_SignalGroupIdType [SWS_Com_00201]. Объявлена служба в заголовочном файле Com.h [SWS_Com_00201].

Обработка ошибок и возвращаемые значения

Служба возвращает значение состояния типа uint8, которое предоставляет информацию об успехе или причине ошибки [SWS_Com_00201]:

  • E_OK: служба была успешно принята, и группа сигналов скопирована [SWS_Com_00201].
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU остановлена или вызов завершился сбоем из-за ошибки разработки [SWS_Com_00201].
  • COM_BUSY: служба сообщает об этом состоянии, если буфер TP заблокирован для обработки больших типов данных [SWS_Com_00201].

Параллелизм и ограничения

Что касается параллельного поведения, Com_ReceiveSignalGroup выполнена как нереентерабельная для одной и той же группы сигналов, но реентерабельная для разных групп сигналов [SWS_Com_00201].

Кроме того, существует существенное ограничение при взаимодействии с доступом к массивам: если для группы сигналов была определена конфигурация ComSignalGroupArrayAccess (ECUC_Com_10003), вызов Com_ReceiveSignalGroup для этой группы сигналов согласно спецификации не поддерживается [SWS_Com_00843].

Это указание по использованию было сгенерировано автоматически и основано на спецификации AUTOSAR Classic R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_SendSignalGroupArray [SWS_Com_00851] 📄 PDF

uint8 Com_SendSignalGroupArray (Com_SignalGroupIdType SignalGroupId, const uint8* SignalGroupArrayPtr);

The service Com_ Send Signal Group Array copies the conte nt of the provided Signal Group Array Ptr to the associated I - PDU. The provided data shall correspond to the array representation of the signal group.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5c15fbe82271 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Асинхронная функция Com_SendSignalGroupArray копирует данные группы сигналов через указатель SignalGroupArrayPtr непосредственно в назначенную I-PDU [SWS_Com_00851]. Передаваемые данные при этом должны в точности соответствовать представлению массива соответствующей группы сигналов [SWS_Com_00851], [SWS_Com_00852].

В качестве входных параметров передаются идентификатор группы сигналов (SignalGroupId), а также ссылка на массив группы сигналов (SignalGroupArrayPtr) [SWS_Com_00851]. Сервис возвращает следующие значения [SWS_Com_00851]:

  • E_OK: вызов службы был успешно принят.
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU остановлена или вызов завершился сбоем из-за ошибки разработки.
  • COM_BUSY: буфер транспортного протокола (TP-буфер) заблокирован для обработки больших типов данных.

В отношении параллелизма функция не является реентерабельной для одной и той же группы сигналов, однако может вызываться реентерабельно для различных групп сигналов [SWS_Com_00851]. Вызов доступен только в том случае, если активирован переключатель конфигурации ComEnableSignalGroupArrayApi [SWS_Com_00853].

Что касается характеристик передачи групп сигналов, выбора режима передачи I-PDU и прохождения сигналов, Com_SendSignalGroupArray обрабатывается модулем AUTOSAR COM полностью аналогично Com_SendSignalGroup [SWS_Com_00847].

Этот текст был сгенерирован с помощью метода на основе ИИ на базе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_ReceiveSignalGroupArray [SWS_Com_00854] 📄 PDF

uint8 Com_ReceiveSignalGroupArray (Com_SignalGroupIdType SignalGroupId, uint8* SignalGroupArrayPtr);

The service Com_ Receive Signal Group Array copies the re ceived signal group array AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM representation from the PDU to the location designated by Signal Group Ar - ray Ptr.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4f43126be3e3 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и конфигурация

Синхронная функция Com_ReceiveSignalGroupArray копирует принятую группу сигналов в виде представления байтового массива из I-PDU в область памяти, на которую указывает SignalGroupArrayPtr [SWS_Com_00854], [SWS_Com_00855]. Функция доступна исключительно тогда, когда активирован переключатель конфигурации ComEnableSignalGroupArrayApi [SWS_Com_00856]. Она поддерживает фильтрацию приема и Transmission Mode Selection с фильтрами ALWAYS, NEVER, MASKED_NEW_EQUALS_X, MASKED_NEW_DIFFERS_X, MASKED_NEW_DIFFERS_MASKED_OLD и ONE_EVERY_N [SWS_Com_00848].

Копирование данных и обработка ошибок

При вызове передаются SignalGroupId, а также указатель на целевой массив, по адресу которого модуль AUTOSAR COM копирует данные I-PDU [SWS_Com_00849]. Даже если группа I-PDU остановлена и сервис возвращает COM_SERVICE_NOT_AVAILABLE, модуль всегда копирует последние известные данные или начальные значения ComSignalInitValues, если до этого данные еще не записывались [SWS_Com_00857].

Возвращаемые значения и параллелизм

Возможные возвращаемые значения сервиса: [SWS_Com_00854]:

  • E_OK: служба была успешно принята.
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU остановлена или сервис завершился ошибкой из-за ошибки разработки.
  • COM_BUSY: буфер TP заблокирован для обработки больших типов данных.

Что касается параллелизма, функция является реентерабельной для различных групп сигналов, но нереентерабельна для одной и той же группы сигналов [SWS_Com_00854].

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_ReceiveSignalWithMetaData [SWS_Com_91005] 📄 PDF

uint8 Com_ReceiveSignalWithMetaData (Com_SignalIdType SignalId, void* SignalDataPtr, uint8* MetaDataPtr);

Com_ Receive Signal With Meta Data copies the data of the signal identified by Signal Id to the location specified by Signal Data Ptr. The received meta data is stored at the position given by the Meta Data Ptr parameter. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 180ada75e2ab Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Com_ReceiveSignalWithMetaData служит для считывания принятых сигнальных данных вместе с их метаданными из коммуникационного модуля Com [SWS_Com_91005]. При вызове служба копирует данные адресуемого через SignalId сигнала в место размещения в памяти, на которое указывает SignalDataPtr, и сохраняет принятые метаданные в позиции MetaDataPtr [SWS_Com_91005].

Параметры и контекст вызова

Интерфейс доступен через заголовочный файл Com.h и идентифицируется через service ID 0x49 [SWS_Com_91005]. Структура параметров подразделяется следующим образом:

  • SignalId (in): идентификатор принимаемого сигнала [SWS_Com_91005].
  • SignalDataPtr (out): указатель на место в памяти для сохранения принятых сигнальных данных [SWS_Com_91005].
  • MetaDataPtr (out): указатель на область памяти для приема метаданных сигнала [SWS_Com_91005].

Функция возвращает значение типа uint8, для которого в данном разделе стандарта не документированы специфические значения ошибок [SWS_Com_91005].

Параллелизм и ограничения

Что касается реентерабельности, сервис является реентерабельным для разных сигналов, но нереентерабельным для одного и того же сигнала [SWS_Com_91005]. Следовательно, при параллельных или прерывающих вызовах с идентичным SignalId может потребоваться внешняя защита со стороны вызывающей стороны для обеспечения согласованности данных. Вопрос Q-51cbdce3d4f59f24 (открытый)

Это указание по использованию было сгенерировано ИИ и опирается исключительно на спецификацию AUTOSAR.

функция Com_ReceiveDynSignalWithMetaData [SWS_Com_91006] 📄 PDF

uint8 Com_ReceiveDynSignalWithMetaData (Com_SignalIdType SignalId, void* SignalDataPtr, uint16* Length, uint8* MetaDataPtr);

Com_ Receive Dyn Signal With Meta Da ta copies the data of the signal identified by Signal Id to the location specified by Signal Data Ptr and stores the length of the dy- namical length signal at the position given by the Length parameter. The received meta data is stored at the position given by the Meta Data Ptr parameter.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9be7aa4daed1 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Функция Com_ReceiveDynSignalWithMetaData предоставляется через заголовочный файл Com.h и служит для синхронного приёма сигналов динамической длины, включая их метаданные [SWS_Com_91006]. При вызове сервис копирует данные сигнала, идентифицированного через SignalId, в буфер, адресуемый SignalDataPtr [SWS_Com_91006]. Принятые метаданные сохраняются по указателю MetaDataPtr, в то время как фактическая длина принятого динамического сигнала записывается в позицию Length [SWS_Com_91006].

Возвращаемые значения и обработка ошибок

Сервис возвращает значение состояния типа uint8 [SWS_Com_91006]:

  • E_OK: сервис приёма успешно принят [SWS_Com_91006].
  • E_NOT_OK: возникает, если переданное значение Length меньше фактической длины принятого динамического сигнала [SWS_Com_91006]. Интерпретация: вызывающая сторона должна заранее предоставить размер буфера через Length, поэтому данный параметр фактически выполняет роль комбинированного ввода и вывода. Вопрос Q-8ad420c74748f219 (открытый)
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU остановлена или вызов завершился ошибкой из-за ошибки разработки [SWS_Com_91006].
  • COM_BUSY: буфер TP в данный момент заблокирован [SWS_Com_91006].

Параллелизм и ограничения

Что касается параллелизма, функция является реентерабельной для разных сигналов, но не должна вызываться реентерабельно для одного и того же сигнала [SWS_Com_91006]. Поэтому параллельные вызовы для одного и того же SignalId должны синхронизироваться на уровне вызывающей стороны.

Это указание по использованию сгенерировано автоматически и основано исключительно на данных спецификации из AUTOSAR Release R20-11.

функция Data [SWS_Com_91007] 📄 PDF

uint8 Com_ReceiveSignalGroupWithMetaData (Com_SignalGroupIdType SignalGroupId, uint8* MetaDataPtr);

The service Com_ Receive Signal Group With Meta Data copies the received signal group from the I - PDU to the shadow buffer. The received meta data is stored at the position given by the Meta Data Ptr parameter.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: a2422bbfdc23 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Com_ReceiveSignalGroupWithMetaData служит для приёма группы сигналов, включая соответствующие метаданные, через интерфейс Com.h [SWS_Com_91007]. Она принимает в качестве входного параметра идентификатор SignalGroupId и копирует принятые данные группы сигналов из I-PDU в локальный теневой буфер (Shadow-Buffer) [SWS_Com_91007]. Одновременно сервис сохраняет принятые метаданные по целевому адресу, адресуемому через выходной параметр MetaDataPtr [SWS_Com_91007].

Поведение при ошибках и возвращаемые значения включают три значения состояния: E_OK сигнализирует об успешном принятии сервиса [SWS_Com_91007]. Возвращаемое значение COM_SERVICE_NOT_AVAILABLE указывает на то, что соответствующая группа I-PDU остановлена или присутствует ошибка разработки [SWS_Com_91007]. Если возникает код ошибки COM_BUSY, буфер TP заблокирован для обработки больших типов данных [SWS_Com_91007]. В отношении параллелизма функция является реентерабельной для разных групп сигналов, но нереентерабельной для одной и той же группы сигналов [SWS_Com_91007]. Поскольку спецификация не указывает ограничений ISR, вызов, вероятно, должен выполняться синхронно на уровне задач вышележащим программным компонентом. Вопрос Q-a23cf67bae724ae1 (открытый)

При взаимодействии функция расширяет тракт приёма метаданными аналогично Com_ReceiveSignalWithMetaData для одиночных сигналов [SWS_Com_91005]. Предоставленные метаданные соответствуют информации PDU, ранее принятой на интерфейсе через Com_RxIndication [SWS_Com_00123]. Для сигнализации о недопустимом содержимом данных в общем потоке выполнения дополнительно может использоваться Com_InvalidateSignalGroup [SWS_Com_00557].

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.

функция Data [SWS_Com_91008] 📄 PDF

void Com_ReceiveSignalGroupArrayWithMetaData (Com_SignalGroupIdType SignalGroupId, uint8* SignalGroupArrayPtr, uint8* MetaDataPtr);

The service Com_ Receive Signal Group Array With Meta Data copies the received si gnal group array representation from the PDU to the location designated by Signal Group Ar - ray Ptr. The received meta data is stored at the position given by the Meta Data Ptr parameter.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6fb4f8baaba4 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Синхронный сервис Com_ReceiveSignalGroupArrayWithMetaData (Service ID 0x4c, доступен через Com.h) копирует принятое представление массива группы сигналов из I-PDU в область памяти, предоставляемую через указатель SignalGroupArrayPtr [SWS_Com_91008]. Одновременно принятые метаданные записываются в позицию, указанную параметром MetaDataPtr [SWS_Com_91008]. Функция не имеет возвращаемого значения (void) [SWS_Com_91008].

Обработка ошибок

Спецификация не определяет возвращаемых значений для этого сервиса и не перечисляет конкретных кодов ошибок [SWS_Com_91008]. Интерпретация: любые ошибочные состояния параметров вызова, вероятно, перехватываются внутренне и обрабатываются через механизм отчётов об ошибках модуля; однако конкретные сообщения DET или DEM из выдержки спецификации не следуют. Вопрос (открытый)

Параллелизм и ограничения

Что касается параллелизма, функция является реентерабельной для разных групп сигналов, но нереентерабельной для одной и той же группы сигналов [SWS_Com_91008]. Параллельные вызовы с идентичным SignalGroupId должны предотвращаться на стороне вызывающего компонента. Интерпретация: вызывающие стороны, вероятно, также обязаны предоставлять целевые буферы достаточного размера, так как интерфейс не содержит параметров длины. Вопрос (открытый)

Взаимодействие

Предоставление данных в буфере PDU предполагает, что ранее произошло уведомление о приёме через Com_RxIndication, которое также передаёт метаданные в модуль COM [SWS_Com_00123]. Функция расширяет интерфейсы приёма для метаданных аналогично Com_ReceiveSignalWithMetaData для одиночных сигналов [SWS_Com_91005] и отличается от стандартного получения сигнала через Com_ReceiveSignal [SWS_Com_00198].

Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR.

функция Data [SWS_Com_91009] 📄 PDF

uint8 Com_SendSignalWithMetaData (Com_SignalIdType SignalId, void* SignalDataPtr, uint8* MetaDataPtr);

The service Com_ Send Si gnal With Meta Data updates the signal object identified by Signal Id with the signal referenced by the Signal Data Ptr parameter. The meta data is provided via the Meta Data Ptr parameter.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 295cd2832adb Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Com_SendSignalWithMetaData ([SWS_Com_91009]) служит для асинхронного обновления объекта сигнала, заданного через SignalId, полезными данными через SignalDataPtr, а также соответствующими метаданными через MetaDataPtr. Сервис доступен через заголовочный файл Com.h.

  • Вызов и параллелизм: вызов выполняется асинхронно ([SWS_Com_91009]). Функция является реентерабельной для разных сигналов, но нереентерабельной для одного и того же идентификатора сигнала (SignalId) ([SWS_Com_91009]).
  • Возвращаемые значения и обработка ошибок: функция возвращает значение состояния типа uint8 ([SWS_Com_91009]):
    • E_OK: запрос на передачу успешно принят модулем ([SWS_Com_91009]).
    • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU остановлена или вызов завершился ошибкой из-за ошибки разработки ([SWS_Com_91009]).
    • COM_BUSY: TP-буфер заблокирован для обработки больших типов данных ([SWS_Com_91009]).
  • Взаимодействие: в отличие от базового сервиса передачи Com_SendSignal ([SWS_Com_00197]), эта функция передаёт явные метаданные. Она образует аналог на стороне отправки для сервиса приёма Com_ReceiveSignalWithMetaData ([SWS_Com_91005]) и дополняет связанные с I-PDU сервисы метаданных, такие как Com_TriggerIPDUSendWithMetaData ([SWS_Com_00858]).

Данное указание по использованию сгенерировано автоматически на основе спецификации.

функция Com_SendDynSignalWithMetaData [SWS_Com_91010] 📄 PDF

uint8 Com_SendDynSignalWithMetaData (Com_SignalIdType SignalId, void* SignalDataPtr, uint16 Length, uint8* MetaDataPtr);

The service Com_ Send Dyn Signal With Meta Data updates the signal object identified by Signal Id wit h the signal referenced by the Signal Data Ptr parameter. The meta data is provided via the Meta Data Ptr parameter. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: aa04247eb161 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Функция Com_SendDynSignalWithMetaData служит для асинхронного обновления идентифицированного через SignalId (тип Com_SignalIdType) объекта сигнала данными сигнала динамической длины, а также соответствующими метаданными [SWS_Com_91010]. Передаваемые полезные данные адресуются через указатель SignalDataPtr (тип void*), в то время как MetaDataPtr (тип uint8*) указывает на метаданные [SWS_Com_91010]. Через параметр Length (тип uint16) передаётся фактическая длина отправляемого динамического сигнала [SWS_Com_91010].

Возвращаемые значения и обработка ошибок

Возвращаемое значение типа uint8 сигнализирует, был ли принят сервис или какая ошибка произошла [SWS_Com_91010]:

  • E_OK: вызов сервиса успешно принят к обработке [SWS_Com_91010].
  • E_NOT_OK: переданное значение Length превышает сконфигурированное для этого сигнала значение ComSignalLength [SWS_Com_91010].
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU была остановлена или вызов завершился ошибкой из-за ошибки разработки [SWS_Com_91010].
  • COM_BUSY: буфер TP в данный момент заблокирован, поэтому сигнал не может быть отправлен [SWS_Com_91010].

Параллелизм и интеграция

Что касается параллелизма, функция является реентерабельной для разных сигналов, но нереентерабельной для одного и того же сигнала [SWS_Com_91010]. Интерфейс имеет Service ID 0x4e и предоставляется в модуле Com через заголовочный файл Com.h [SWS_Com_91010].

Указание по использованию составлено на основе элементов спецификации AUTOSAR Release R20-11.

функция Data [SWS_Com_91011] 📄 PDF

uint8 Com_SendSignalGroupWithMetaData (Com_SignalGroupIdType SignalGroupId, uint8* MetaDataPtr);

The service Com_ Send Signal Group With Meta Data copies the content of the associated shadow buffer to the associated I - PDU. The meta data is provided via the Meta Data Ptr parameter.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5e6b0b47ffec Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Com_SendSignalGroupWithMetaData (в модели данных обозначаемая как Data) служит для асинхронной передачи группы сигналов вместе с метаданными в модуль Com [SWS_Com_91011]. При вызове сервис копирует текущее содержимое связанного теневого буфера (Shadow-Buffer) в соответствующий I-PDU, при этом метаданные предоставляются через указатель MetaDataPtr [SWS_Com_91011].

Входные параметры включают идентификатор группы сигналов (SignalGroupId), а также указатель на метаданные (MetaDataPtr) [SWS_Com_91011]. Возвращаемые значения сообщают результат запроса сервиса:

  • E_OK: сервис был успешно принят [SWS_Com_91011].
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU была остановлена или выполнение завершилось сбоем из-за ошибки разработки [SWS_Com_91011].
  • COM_BUSY: буфер TP заблокирован для передачи больших типов данных [SWS_Com_91011].

В отношении параллелизма вызов является реентерабельным для разных сигналов, однако нереентерабелен для одного и того же группового сигнала; по аналогии с параметром SignalGroupId это, вероятно, относится к соответствующей группе сигналов [SWS_Com_91011]. Вопрос Q-91171d77370ae50a (открытый) При взаимодействии с модулем Com сервис дополняет отправку отдельных сигналов, таких как Com_SendSignal [SWS_Com_00197], а также инвалидацию групп сигналов через Com_InvalidateSignalGroup [SWS_Com_00557]. Кроме того, он согласуется с сервисом приёма Com_ReceiveSignalWithMetaData [SWS_Com_91005] и основанным на PDU вызовом передачи Com_TriggerIPDUSendWithMetaData [SWS_Com_00858].

Это указание по использованию было сгенерировано автоматически на основе спецификации.

функция Com_SendSignalGroupArrayWithMetaData [SWS_Com_91012] 📄 PDF

uint8 Com_SendSignalGroupArrayWithMetaData (Com_SignalGroupIdType SignalGroupId, uint8* SignalGroupArrayPtr, uint8* MetaDataPtr);

The service Com_ Send Signal Group Array With Meta Data copies the content of the provided Signal Group Array Ptr to the associated I - PDU. The provided data shall c orrespond to the array representation of the signal group. The meta data is provi- ded via the Meta Data Ptr parameter.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: fef50dded4da Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и параметры

Функция Com_SendSignalGroupArrayWithMetaData служит для асинхронной передачи группы сигналов вместе с соответствующими метаданными [SWS_Com_91012]. При вызове сервис копирует содержимое переданного указателя SignalGroupArrayPtr непосредственно в назначенный I-PDU [SWS_Com_91012]. Предоставленные данные при этом обязательно должны соответствовать представлению массива группы сигналов, которое идентифицируется через параметр SignalGroupId типа Com_SignalGroupIdType [SWS_Com_91012]. Дополнительные метаданные группы сигналов передаются на уровень связи через указатель MetaDataPtr [SWS_Com_91012].

Возвращаемые значения и обработка ошибок

Функция возвращает значение состояния типа uint8, указывающее на успешность передачи или на соответствующую причину ошибки [SWS_Com_91012]:

  • E_OK: вызов сервиса успешно принят уровнем COM [SWS_Com_91012].
  • COM_SERVICE_NOT_AVAILABLE: соответствующая группа I-PDU остановлена или вызов завершился ошибкой из-за ошибки разработки [SWS_Com_91012].
  • COM_BUSY: буфер транспортного протокола (TP-Buffer) заблокирован для обработки больших типов данных [SWS_Com_91012].

Параллелизм и ограничения

Согласно спецификации, сервис классифицирован как нереентерабельный (Non Reentrant), поэтому одновременные или прерывающие вызовы недопустимы [SWS_Com_91012]. Интерфейс имеет Service ID 0x50 и предоставляется через заголовочный файл Com.h [SWS_Com_91012].

Это указание по использованию было автоматически сгенерировано на основе версии спецификации AUTOSAR R20-11.

функция Com_InvalidateSignal [SWS_Com_00203] 📄 PDF

uint8 Com_InvalidateSignal (Com_SignalIdType SignalId);

The service Com_ In validate Signal invalidates the signal with the given Signal Id by setting its value to its configured Com Signal Data Invalid Value.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 019013453d98 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Com_InvalidateSignal служит для признания сигнала недействительным в коммуникационном модуле [SWS_Com_00203]. Она устанавливает значение переданного сигнала в значение недействительности, заданное в конфигурации Com Signal Data Invalid Value [SWS_Com_00203]. Обработка выполняется асинхронно [SWS_Com_00203]. В качестве единственного входного параметра передается входной параметр SignalId для идентификации сигнала; входные/выходные или выходные параметры отсутствуют [SWS_Com_00203].

В качестве возвращаемого значения вызов возвращает статус типа uint8, отражающий поведение при приеме и возникновении ошибок [SWS_Com_00203]:

  • E_OK: служба инвалидации успешно принята [SWS_Com_00203].
  • COM_SERVICE_NOT_AVAILABLE: служба недоступна. Это происходит, если соответствующая группа I-PDU остановлена, если для указанного SignalId не сконфигурирован Com Signal Data Invalid Value или если выполнение завершается сбоем из-за ошибки разработки [SWS_Com_00203].
  • COM_BUSY: служба в настоящее время не может быть выполнена, так как буфер TP заблокирован [SWS_Com_00203].

Что касается параллелизма, Com_InvalidateSignal нереентерабельна для одного и того же сигнала, однако может выполняться параллельно и реентерабельно для разных сигналов [SWS_Com_00203]. Служба объявлена под Service-ID 0x10 и доступна через заголовочный файл Com.h [SWS_Com_00203].

Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_InvalidateSignalGroup [SWS_Com_00557] 📄 PDF

uint8 Com_InvalidateSignalGroup (Com_SignalGroupIdType SignalGroupId);

The service Co m_ Invalidate Signal Group invalidates all group signals of the signal group with the given Signal Group Id by setting their values to their configured Com Signal Data Invalid Values.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 1812d1ef8d9a Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Com_InvalidateSignalGroup служит для того, чтобы установить все сигналы группы переданной группы сигналов в их сконфигурированные значения ComSignalDataInvalidValue и тем самым инвалидировать группу сигналов [SWS_Com_00557].

Использование и семантика

В качестве входного параметра служба ожидает ID инвалидируемой группы сигналов (SignalGroupId типа Com_SignalGroupIdType) [SWS_Com_00557]. Вызов обрабатывается асинхронно и возвращает значение состояния типа uint8 [SWS_Com_00557].

Возвращаемые значения и обработка ошибок

Специфицированы следующие возвращаемые значения [SWS_Com_00557]:

  • E_OK: запрос на инвалидацию был успешно принят.
  • COM_SERVICE_NOT_AVAILABLE: служба недоступна, поскольку соответствующая группа I-PDU остановлена, ни для одного из сигналов группы не сконфигурирован ComSignalDataInvalidValue или вызов завершился сбоем из-за ошибки разработки.
  • COM_BUSY: буфер транспортного протокола (TP-буфер) в настоящее время заблокирован.

Параллелизм и реентерабельность

Функция не является ревходабельной для одной и той же группы сигналов, однако может вызываться параллельно (ревходабельно) для различных групп сигналов [SWS_Com_00557]. Объявление доступно через Com.h [SWS_Com_00557].

Данное указание по использованию основано исключительно на данных спецификации из AUTOSAR CP R20-11.

функция Com_TriggerIPDUSend [SWS_Com_00348] 📄 PDF

Std_ReturnType Com_TriggerIPDUSend (PduIdType PduId);

By a call to Com_ Trigger IPDUSend the I - PDU with the given ID is triggered for transmission.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: aaf0b030ff03 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Com_TriggerIPDUSend инициирует передачу I-PDU, идентифицированной параметром PduId [SWS_Com_00348]. Она доступна через заголовочный файл Com.h [SWS_Com_00348].

Условия вызова и возвращаемые значения

Вызов инициирует отправку только в том случае, если соответствующая I-PDU запущена [SWS_Com_00861]. Соответственно, возвращаемое значение типа Std_ReturnType дифференцирует статус I-PDU [SWS_Com_00348]:

  • E_OK: передача I-PDU была успешно инициирована [SWS_Com_00348].
  • E_NOT_OK: I-PDU находится в остановленном состоянии, поэтому передачу не удалось инициировать [SWS_Com_00348].

Поведение буферизации и параллелизма

Функция специфицирована как нереентерабельная (Non Reentrant) [SWS_Com_00348]. Для больших I-PDU предусмотрен механизм буферизации: если большая I-PDU инициируется через Com_TriggerIPDUSend, пока её буфер заблокирован, AUTOSAR COM кэширует запрос на отправку и передаёт I-PDU только тогда, когда буфер снова станет доступен [SWS_Com_00867].

Данное указание по использованию было автоматически сгенерировано на основе данных спецификации AUTOSAR Classic R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция Com_TriggerIPDUSendWithMetaData [SWS_Com_00858] 📄 PDF

Std_ReturnType Com_TriggerIPDUSendWithMetaData (PduIdType PduId, const uint8* MetaData);

By a call to Com_ Trigger IPDUSend With Meta Data the AUTOSAR COM module updates its internal metadata for the I - PDU with the given ID by copying the metada- ta from the given position and with respect to length of the globally configured Meta Data Type of this I - PDU. Then the I - PDU is triggered for transmission.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5bfdcae35579 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Com_TriggerIPDUSendWithMetaData служит для того, чтобы синхронно инициировать передачу I-PDU и предварительно обновить ее внутренние метаданные в модуле AUTOSAR COM [SWS_Com_00858]. Вызов ожидает в качестве параметра PduId идентификатор передаваемой I-PDU, а с MetaData — указатель на предоставляемые метаданные [SWS_Com_00858]. Модуль COM копирует данные начиная с указанного адреса с учетом глобально сконфигурированной длины типа метаданных I-PDU в свое внутреннее хранилище данных и непосредственно после этого инициирует передачу [SWS_Com_00858].

Согласно [SWS_Com_00862] модулю COM, однако, разрешается инициировать передачу I-PDU только в том случае, если I-PDU находится в состоянии «запущена». Если же I-PDU остановлена, запуск передачи не выполняется.

Результат выполнения сигнализируется через возвращаемое значение:

  • E_OK: передача I-PDU была успешно запущена [SWS_Com_00858].
  • E_NOT_OK: I-PDU остановлена; передачу не удалось инициировать [SWS_Com_00858].

Специфические коды ошибок для DET или DEM для этой службы в полезной нагрузке не задокументированы.

Что касается конкурентности, интерфейс определен как нереентерабельный (Non Reentrant) [SWS_Com_00858], поэтому параллельные вызовы должны быть исключены или синхронизированы. Вероятно, вызывающая сторона несет ответственность за обеспечение валидности указателя MetaData и достаточного размера буфера в соответствии со сконфигурированной длиной метаданных. Вопрос Q-66c6abae0bbde275 (открытый)

Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция Com_SwitchIpduTxMode [SWS_Com_00784] 📄 PDF

void Com_SwitchIpduTxMode (PduIdType PduId, booleanMode); ⚠️

The service Com_ Switch Ipdu Tx Mode sets the transmi ssion mode of the I - PDU refe- renced by Pdu Id to Mode. In case the transmission mode changes, the new mode shall immediately be effective (see SWS_ Com_00239). In case the requested transmission mode was already active for this I - PDU, the call will have no effect.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 377789b5b880 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронный интерфейс Com_SwitchIpduTxMode служит для переключения режима передачи I-PDU и специфицирован в заголовочном файле Com.h под Service-ID 0x27 [SWS_Com_00784]. В качестве параметров передаются идентификатор соответствующего I-PDU (PduId), а также желаемый режим передачи в виде булева значения (Mode); возвращаемое значение или выходной параметр отсутствуют [SWS_Com_00784]. Вызов переключает свойства передачи синхронно и непосредственно во время выполнения [SWS_Com_00784].

Для вступления изменения режима в силу спецификация определяет два случая:

  • Если режим передачи изменяется в результате вызова, новый рабочий режим вступает в силу для указанного I-PDU незамедлительно [SWS_Com_00784], [SWS_Com_00239].
  • Если запрошенный режим передачи уже был активен для соответствующего I-PDU, вызов остается полностью бездействующим [SWS_Com_00784].

Что касается дальнейшего процесса отправки, то для взаимодействия с циклической отправкой действует следующее: если режим передачи I-PDU явно задается через Com_SwitchIpduTxMode, модуль AUTOSAR COM задерживает последующие циклические отправки этого I-PDU на величину смещения по времени ComTxModeTimeOffset [SWS_Com_00881].

Что касается параллельности, функция спроектирована как ревходабельная для различных экземпляров I-PDU [SWS_Com_00784]. Конкурентный или параллельный вызов для одного и того же PduId, напротив, определен как неревходабельный и должен быть предотвращен вызывающей стороной [SWS_Com_00784].

Это указание по использованию было создано автоматически на основе документов спецификации.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_TriggerTransmit [SWS_Com_00001] 📄 PDF

Std_ReturnType Com_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API , the upper layer module (called module) shall check whether the 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 copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 3b61acbc40d3 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция [SWS_Com_00001] служит для синхронного запроса и копирования данных SDU передаваемой PDU передачи (TxPduId) в буфер, предоставленный вызывающей стороной. Вызывающая сторона передает через входной и выходной параметр PduInfoPtr как целевой адрес SduDataPtr, так и максимально доступную емкость буфера в SduLength. Если данные SDU полностью помещаются в буфер, они копируются, PduInfoPtr->SduLength обновляется до фактически скопированного количества байтов, и служба успешно завершается с E_OK [SWS_Com_00001].

Обработка ошибок и граничные условия

Функция прерывает выполнение, не копирует данные и возвращает E_NOT_OK при выполнении одного из следующих условий:

  • Предоставленный размер буфера в PduInfoPtr->SduLength меньше фактической длины PDU [SWS_Com_00001], [SWS_Com_00869]. В этом случае PduInfoPtr остается без изменений [SWS_Com_00001].
  • Соответствующая I-PDU находится в состоянии остановлена [SWS_Com_00884].

В случае ошибки (E_NOT_OK) вызывающая сторона не должна анализировать или повторно использовать указатель PduInfoPtr, поскольку он может указывать на недействительные данные или представлять собой указатель NULL [SWS_Com_00001].

Параллелизм

В отношении параллелизма интерфейс спроектирован как реентерабельный для различных идентификаторов PDU, однако не должен вызываться параллельно для одного и того же TxPduId [SWS_Com_00001].

Это указание по использованию сгенерировано автоматически на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I2)

функция Com_RxIndication [SWS_Com_00123] 📄 PDF

void Com_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 2689aa6ec38f Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Com_RxIndication служит для сигнализации и передачи принятого PDU от нижележащего интерфейсного модуля связи в модуль AUTOSAR COM [SWS_Com_00123]. Объявление функции предоставляется через заголовочный файл Com.h и имеет service ID 0x42 [SWS_Com_00123].

Вызов выполняется с синхронной семантикой и не возвращает значения (void) [SWS_Com_00123]. Интерфейс не определяет ни входных/выходных, ни чисто выходных параметров, а исключительно два входных параметра [SWS_Com_00123]:

  • RxPduId (тип данных PduIdType): представляет уникальный идентификатор принятого PDU [SWS_Com_00123].
  • PduInfoPtr (указатель на константный PduInfoType): указывает на структуру данных, содержащую длину принятого PDU (SduLength), указатель на буфер с данными PDU (SduDataPtr), а также соответствующие метаданные [SWS_Com_00123].

Что касается поведения параллелизма, Com_RxIndication определена как реентерабельная для вызовов с различными PDU-ID, но явно как нереентерабельная для одного и того же PDU-ID [SWS_Com_00123]. Интерпретация: поэтому вызывающие модули нижележащего интерфейса связи, вероятно, обязаны синхронизировать или сериализовать конкурирующие вызовы для идентичных PDU-ID, чтобы сохранить согласованность данных. Вопрос Q-f3b6194f96c15091 (открытый)

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR Classic R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_TpRxIndication [SWS_Com_00650] 📄 PDF

void Com_TpRxIndication (PduIdType id, Std_ReturnType result);

Called after an I - PDU has been received via the TP API, the result indicates whe- ther the transmission was successful or not.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4850647a5abb Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная сервисная функция Com_TpRxIndication вызывается, как только I-PDU была принята через TP-API [SWS_Com_00650]. Она информирует модуль AUTOSAR COM о завершении и результате процесса приёма. Через параметр id идентифицируется затронутая I-PDU, в то время как параметр result указывает, была ли передача успешной или завершилась сбоем [SWS_Com_00650]. Функция не имеет возвращаемого значения и определена в заголовке Com.h с Service-ID 0x45 [SWS_Com_00650]. В качестве вызывающей стороны, вероятно, выступает нижележащий транспортный уровень, такой как модуль PduR или TP. Вопрос Q-d7006169cd162db4 (открытый)

Обработка ошибок

Если Com_TpRxIndication вызывается со значением результата E_NOT_OK для параметра result, модуль COM обрабатывает все сигналы принятой большой I-PDU точно так же, как ставшие недействительными сигналы [SWS_Com_00838]. В этом случае ошибки модуль выполняет все сконфигурированные ComDataInvalidActions для всех содержащихся сигналов и групп сигналов [SWS_Com_00838].

Параллелизм и граничные условия

Функция специфицирована как реентерабельная и работает синхронно [SWS_Com_00650]. Поэтому она может вызываться параллельно для разных I-PDU, однако должна обрабатываться в контексте вызывающего экземпляра без задержки.

Это указание по использованию сгенерировано автоматически на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция Com_TxConfirmation [SWS_Com_00124] 📄 PDF

void Com_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM PDU, or the failure to transmit a PDU.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6f01cbf21243 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция обратного вызова Com_TxConfirmation объявляется через заголовочный файл Com.h и служит центральным интерфейсом подтверждения модуля AUTOSAR COM [SWS_Com_00124]. Нижележащий модуль интерфейса связи тем самым сообщает обратно модулю Com об успешной передаче PDU или сбое процесса отправки [SWS_Com_00124].

Контекст вызова и параметры

Функция выполняется синхронно, имеет Service-ID 0x40 и не возвращает значения (void) [SWS_Com_00124]. Она ожидает два входных параметра:

  • TxPduId (тип PduIdType): уникальный идентификатор PDU, передача которой завершена или завершилась сбоем [SWS_Com_00124].
  • result (тип Std_ReturnType): статус результата процесса отправки [SWS_Com_00124]. Значение E_OK подтверждает состоявшуюся передачу PDU, в то время как E_NOT_OK сигнализирует о сбое передачи PDU [SWS_Com_00124].

Параллелизм и ограничения

Com_TxConfirmation является реентерабельной для различных идентификаторов PDU, однако нереентерабельна для одного и того же идентификатора PDU [SWS_Com_00124]. Интерпретация: вызывающие стороны из нижележащего уровня, предположительно, должны избегать последовательных или прерывающих вызовов с одним и тем же TxPduId из различных контекстов выполнения, чтобы внутренний статус обработки модуля Com оставался согласованным. Вопрос Q-146c1c92403b64fa (открытый)

Обработка ошибок

Спецификация не определяет для этой службы специфических возвращаемых значений и не выделяет отдельных сообщений об ошибках DET или DEM [SWS_Com_00124]. Неудачные передачи передаются модулю Com исключительно через параметр result со значением ошибки E_NOT_OK [SWS_Com_00124].

Это указание по использованию было создано автоматически на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_TpTxConfirmation [SWS_Com_00725] 📄 PDF

void Com_TpTxConfirmation (PduIdType id, Std_ReturnType result);

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 328768cdfded Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Функция Com_TpTxConfirmation вызывается после того, как I-PDU была передана по сети, чтобы уведомить модуль COM о результате процесса отправки [SWS_Com_00725]. С помощью параметра id типа PduIdType идентифицируется переданная I-PDU, в то время как result типа Std_ReturnType указывает, была ли передача успешной или завершилась сбоем [SWS_Com_00725]. Функция не имеет возвращаемого значения (void) и обладает семантикой синхронного выполнения [SWS_Com_00725]. Она доступна через заголовочный файл Com.h и имеет Service-ID 0x48 [SWS_Com_00725].

Обработка ошибок

Передача информации об ошибках в этом интерфейсе осуществляется исключительно через параметр result, который отражает успешность или неуспешность передачи I-PDU [SWS_Com_00725]. Специфические коды ошибок, а также сообщения об ошибках в модуль Default Error Tracer (DET) или Diagnostic Event Manager (DEM) в спецификации функции не указаны [SWS_Com_00725].

Параллелизм и граничные условия

Интерфейс специфицирован как reentrant и, следовательно, может выполняться параллельно [SWS_Com_00725]. В качестве временного граничного условия действует требование о том, что вызов разрешен только после завершения передачи I-PDU по сети [SWS_Com_00725]. Интерпретация: судя по соглашению об именовании и структуре модулей, вызов, как правило, должен инициироваться нижележащим модулем транспортного протокола. Вопрос Q-8320e76ff63f62ce (открытый)

Этот текст основан на спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I2)

функция Com_StartReception [SWS_Com_00691] 📄 PDF

BufReq_ReturnType Com_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);

Service Com_StartReception.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 00b7efb3a544 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная и ревходабельная функция Com_StartReception (доступная через Com.h, Service-ID 0x46) вызывается в начале приема N-SDU, передаваемой нефрагментированно в виде Single Frame (SF) или фрагментированно через First Frame (FF) с последующими Consecutive Frames (CF) [SWS_Com_00691].

Через параметр id идентифицируется I-PDU, а TpSduLength указывает общую длину принимаемой N-SDU [SWS_Com_00691]. Указатель info указывает на полезные данные и полезную длину первого или одиночного кадра, а также на сопутствующие метаданные; если ни данные кадра, ни метаданные не готовы, передается NULL_PTR [SWS_Com_00691]. Через выходной параметр bufferSizePtr функция предоставляет доступный размер буфера, который модуль транспортного протокола использует для определения Block Size (BS) [SWS_Com_00691]. Если служба вызывается со значением TpSduLength, равным 0, она возвращает текущий максимально доступный размер буфера [SWS_Com_00691].

Результат запроса возвращается в виде BufReq_ReturnType [SWS_Com_00691]:

  • BUFREQ_OK: соединение принимается и прием продолжается; bufferSizePtr указывает доступный буфер или сигнализирует 0, если буфер требуемого размера недоступен [SWS_Com_00691].
  • BUFREQ_E_NOT_OK: соединение отклоняется и прием прерывается; значение bufferSizePtr остается неизменным [SWS_Com_00691].
  • BUFREQ_E_OVFL: невозможно предоставить буфер требуемой длины, вследствие чего прием прерывается; bufferSizePtr остается неизменным [SWS_Com_00691].

Этот текст был создан ИИ на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_CopyRxData [SWS_Com_00692] 📄 PDF

BufReq_ReturnType Com_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);

Service Com_CopyRxData.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 729d3072fcb5 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика вызова

Синхронная функция Com_CopyRxData вызывается для передачи принятых данных сегмента I-PDU (N-PDU) верхнему уровню [SWS_Com_00692]. При сегментированных передачах каждый последующий вызов этого интерфейса предоставляет очередную часть всех данных I-PDU [SWS_Com_00692].

Параметры и управление буфером

  • id: однозначно идентифицирует принятый I-PDU [SWS_Com_00692].
  • info: указатель на структуру типа PduInfoType. Через SduDataPtr она передает указатель на буфер-источник, а через SduLength — количество копируемых байтов [SWS_Com_00692]. Указание значения 0 для SduLength служит для запроса текущего доступного размера буфера верхнего уровня; в этом случае простого опроса SduDataPtr может быть установлен в NULL_PTR [SWS_Com_00692].
  • bufferSizePtr: указатель на переменную типа PduLengthType, в которую записывается размер приемного буфера, оставшийся после операции копирования [SWS_Com_00692].

Возвращаемые значения и свойства

Функция возвращает статус типа BufReq_ReturnType [SWS_Com_00692]:

  • BUFREQ_OK: данные были успешно скопированы в целевой буфер [SWS_Com_00692].
  • BUFREQ_E_NOT_OK: копирование данных не удалось из-за возникновения ошибки [SWS_Com_00692].

Интерфейс имеет Service-ID 0x44, специфицирован как ревходабельный и доступен через заголовочный файл Com.h [SWS_Com_00692].

Этот текст был создан ИИ и основан на стандарте AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_CopyTxData [SWS_Com_00693] 📄 PDF

BufReq_ReturnType Com_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

Service Com_CopyTxData.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 682b5915a18c Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная и реентерабельная функция Com_CopyTxData вызывается нижележащими модулями (такими как транспортные протоколы) для пошаговой выборки данных передачи для сегментов (N-PDU) некоторой I-PDU из буфера передачи модуля COM [SWS_Com_00693].

Использование и параметры

Каждый вызов предоставляет следующую часть данных I-PDU [SWS_Com_00693]:

  • id: идентифицирует передаваемую I-PDU [SWS_Com_00693].
  • info: указывает через SduDataPtr целевой буфер, а через SduLength — количество копируемых байтов. Длина 0 допустима для передачи изменений состояния через retry или для запроса доступного объёма данных; в этом случае SduDataPtr может быть NULL_PTR [SWS_Com_00693].
  • retry: подтверждает отправленные данные или инициирует повторные передачи. Если retry является NULL_PTR, данные могут быть удалены из буфера непосредственно после копирования. Если retry указывает на структуру RetryInfoType, то TpDataState управляет удержанием буфера: TP_CONFPENDING оставляет данные в буфере для устранения ошибок, TP_DATACONF подтверждает скопированные до вызова данные для удаления, а TP_DATARETRY повторно копирует ранее прочитанные данные начиная со смещения TxTpDataCnt [SWS_Com_00693].
  • availableDataPtr: возвращает оставшееся количество доступных байтов в буфере передачи, что позволяет, например, динамическим транспортным протоколам (таким как FrIsoTp) определять размеры последующих сегментов [SWS_Com_00693].

Возвращаемые значения и обработка ошибок

Результат функции сигнализирует об успехе запроса буфера через BufReq_ReturnType [SWS_Com_00693]:

  • BUFREQ_OK: данные были полностью скопированы в целевой буфер в соответствии с запросом [SWS_Com_00693].
  • BUFREQ_E_BUSY: запрошенный объём данных не готов в буфере передачи. Данные не копируются, и нижележащий модуль может повторить вызов позже [SWS_Com_00693].
  • BUFREQ_E_NOT_OK: запрос завершился неудачей; данные не были скопированы [SWS_Com_00693].

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_MainFunctionRx [SWS_Com_00398] 📄 PDF

void Com_MainFunctionRx (void);

This function performs the processing of the AUTOSAR COM module's receive processing that are not directly handled within the COM's functions invoked by the PDU - R, for example Com_ Rx Indication. Per configured Com Main Function Rx instance one Com_ Main F unction Rx_ shall be implemented. Hereby is the short name of the Com Main Function Rx configuration container in the ECU configuration.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ac041132fbb2 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Синхронная функция Com_MainFunctionRx берёт на себя внутреннюю обработку приёма модуля AUTOSAR COM для операций, которые не обрабатываются непосредственно в контексте выполнения API, вызываемых PDU-маршрутизатором (PduR), таких как Com_RxIndication [SWS_Com_00398]. Она не имеет ни входных, ни выходных параметров и не возвращает значения [SWS_Com_00398]. Объявление осуществляется через заголовочный файл SchM_Com.h; поэтому контекст вызова, вероятно, типично осуществляется периодически через Schedule Manager (SchM) [SWS_Com_00398]. Вопрос Q-48d121e36f62c6de (открытый)

Обработка ошибок и инициализация

Если функция выполняется до инициализации модуля через Com_Init или после вызова Com_DeInit, в отличие от большинства обычных COM-API, ошибка COM_E_UNINIT (0x02) не генерируется, так как Com_MainFunctionRx явно исключена из этого [SWS_Com_00804]. Специфических кодов ошибок или возврата для этого интерфейса не существует [SWS_Com_00398].

Параллелизм и многоэкземплярный режим

В отношении контекста выполнения и реентерабельности действуют следующие требования [SWS_Com_00398]:

  • Реентерабельность: функция не является реентерабельной для одного и того же экземпляра, однако может вызываться параллельно для разных экземпляров [SWS_Com_00398].
  • Специфическая для экземпляра форма реализации: для каждого контейнера ComMainFunctionRx, определённого в конфигурации ECU, реализуется отдельная функция вида Com_MainFunctionRx_<shortName>, где <shortName> соответствует Short-Name конфигурационного контейнера [SWS_Com_00398].

Этот текст был сгенерирован ИИ и служит для ориентира. Решающее значение имеют упомянутые спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_MainFunctionTx [SWS_Com_00399] 📄 PDF

void Com_MainFunctionTx (void);

This function performs the processing of the AUTOSAR COM module's transmissi- on activities that are not directly handled within the COM's function invoked by the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM RTE, for example Com_ Send Signal. Per configured Com Main Function Tx instance one Com_ Main F unction Tx_ shall be implemented. Hereby is the short name of the Com Main Function Tx configuration container in the ECU configuration.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 6bb3c5b804b7 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и принцип работы

Функция Com_MainFunctionTx выполняет действия по отправке модуля AUTOSAR COM, которые не обрабатываются напрямую внутри вызываемых через RTE функций COM (таких как, например, Com_SendSignal) ([SWS_Com_00399]). Выполнение осуществляется синхронно. Она не имеет ни входных, ни входных/выходных, ни выходных параметров и не возвращает значения ([SWS_Com_00399]). Интерфейс объявляется через SchM_Com.h; интерпретация: из-за этой принадлежности к заголовочному файлу контекст вызова, вероятно, находится в Schedule Management (SchM). Вопрос Q-c33cfcf81700bcc5 (открытый)

Для каждого сконфигурированного контейнера Com Main Function Tx в конфигурации ECU должна быть реализована функция конкретного экземпляра согласно схеме именования Com_MainFunctionTx_<shortName>, где <shortName> соответствует короткому имени конфигурационного контейнера ([SWS_Com_00399]).

Параллелизм и ограничения

Что касается реентерабельности, Com_MainFunctionTx разработана как реентерабельная для разных экземпляров, но не должна вызываться реентерабельно для одного и того же экземпляра ([SWS_Com_00399]).

Обработка ошибок и состояние инициализации

Согласно [SWS_Com_00804] вызов служб COM до инициализации через Com_Init или после деинициализации через Com_DeInit штатно приводит к ошибке COM_E_UNINIT (0x02). Однако Com_MainFunctionTx явно исключена из этого и не генерирует такую ошибку инициализации в этих состояниях ([SWS_Com_00804]).

Этот текст был сгенерирован искусственным интеллектом и основан на спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Signals [SWS_Com_00400] 📄 PDF

void Com_MainFunctionRouteSignals (void);

Calls the signal gateway part of the AUTOSAR COM module to forward received signals to be routed. Per configured Com Main Function Route Signals instance one Com_ Main Functi on Route Signals_ shall be implemented. Hereby is the short name of the Com Main Function Route Signals configuration container in the ECU configuration.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 626630c6dee2 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Главная функция Com_MainFunctionRouteSignals (Service-ID 0x1a) служит в модуле AUTOSAR COM центральным синхронным интерфейсом для пересылки сигналов ([SWS_Com_00400]). Её задача состоит в вызове сигнальной шлюзовой части модуля COM, чтобы принятые сигналы, предназначенные для маршрутизации, пересылались в свои сконфигурированные цели ([SWS_Com_00400]).

Вызов и семантика

Беспараметрический C-интерфейс имеет сигнатуру void Com_MainFunctionRouteSignals(void) ([SWS_Com_00400]). Он выполняется синхронно и не имеет ни параметров для ввода, ввода/вывода или вывода, ни возвращаемого значения ([SWS_Com_00400]). Объявление главной функции предоставляется через заголовочный файл SchM_Com.h ([SWS_Com_00400]). Интерпретация: из-за этого предоставления через SchM_Com.h плановый вызов в контексте задачи, вероятно, периодически выполняется шедулером BSW (SchM). Вопрос Q-0f0b57034d6d6bf1 (открытый)

Инстанцирование и реентерабельность

Для интеграции, именования и параллелизма [SWS_Com_00400] определяет следующие обязательные требования:

  • Специфическая для экземпляра реализация: для каждого присутствующего в конфигурации ECU экземпляра конфигурационного контейнера ComMainFunctionRouteSignals должна быть реализована отдельная функция по схеме именования Com_MainFunctionRouteSignals_<shortName> ([SWS_Com_00400]). При этом <shortName> соответствует короткому имени соответствующего конфигурационного контейнера.
  • Поведение реентерабельности: функция является реентерабельной для вызовов разных экземпляров ([SWS_Com_00400]). Однако для одного и того же экземпляра она явно не является реентерабельной и поэтому не должна выполняться параллельно ([SWS_Com_00400]).

Это указание по использованию было сгенерировано автоматически на основе спецификации.

функция Com_CbkTxAck [SWS_Com_00468] 📄 PDF

void Com_CbkTxAck (void);

This callback represents notification class 2 of [17]. It is called immediately after successful transmission of the I - PDU containing the message.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0cd088b5afe8 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция обратного вызова Com_CbkTxAck служит в модуле Com для уведомления об успешной отправке сообщения [SWS_Com_00468]. Она представляет класс уведомлений 2 (notification class 2) и вызывается непосредственно после успешной передачи того I-PDU, который содержит соответствующее сообщение [SWS_Com_00468].

Для контекста вызова и свойств интерфейса согласно спецификации действуют следующие требования [SWS_Com_00468]:

  • Сигнатура и параметры: функция обратного вызова имеет сигнатуру void Com_CbkTxAck (void). Она не принимает входных, входных/выходных или выходных параметров и не возвращает значения [SWS_Com_00468].
  • Синхронность: вызов специфицирован как синхронный (Synchronous) [SWS_Com_00468].
  • Реентерабельность: поведение реентерабельности классифицировано как don't care [SWS_Com_00468].
  • Конфигурация: интерфейс объявлен как конфигурируемый (configurable) [SWS_Com_00468]. Интерпретация: фактическое имя функции обратного вызова, вероятно, параметризуется в инструменте конфигурации индивидуально для сообщения или сигнала. Вопрос Q-3670b7b04fd7c74c (открытый)

Специфические коды ошибок, реакции на ошибки, а также сообщения в DET или DEM для этого элемента в спецификации не определены [SWS_Com_00468]. Также не приводится дополнительных условий очередности по отношению к другим вызовам [SWS_Com_00468].

Этот текст был сгенерирован ИИ на основе AUTOSAR R20-11.

функция Com_CbkTxErr [SWS_Com_00491] 📄 PDF

void Com_CbkTxErr (void);

This callback corresponds to notification class 4 of [17]. It is called in case the transmission is not possible because the corresponding I - PDU group is stopped.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 2eeb947394ae Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция обратного вызова Com_CbkTxErr вызывается синхронно, если передача невозможна из-за того, что соответствующая группа I-PDU остановлена [SWS_Com_00491]. Она соответствует классу уведомлений 4 согласно базовым спецификациям [SWS_Com_00491].

Вызов и семантика

  • Сигнатура и параметры: функция не имеет ни входных, ни входных/выходных, ни выходных параметров (void Com_CbkTxErr (void)) и не возвращает значения [SWS_Com_00491].
  • Поведение при выполнении: вызов осуществляется синхронно («Synchronous»), тогда как для реентерабельности указано «don't care» [SWS_Com_00491].
  • Доступность: интерфейс обратного вызова является конфигурируемым («configurable») [SWS_Com_00491].

Обработка ошибок и взаимодействие

Функция специально служит для того, чтобы сигнализировать вызывающему или вышележащему уровню о возникновении ошибки — предотвращении запроса на передачу из-за остановленной группы I-PDU [SWS_Com_00491]. Поскольку параметры не передаются, контекст затрагиваемого сигнала или I-PDU, вероятно, задается через конфигурацию или модулеспецифичные сопоставления. Вопрос Q-d7153324d2eb2995 (открытый)

Этот указание по использованию было сгенерировано автоматически системой ИИ на основе данных спецификации.

функция Com_CbkTxTOut [SWS_Com_00554] 📄 PDF

void Com_CbkTxTOut (void);

This callback corresponds to notification class 4 of [17]. It is called immediately after a message transmission error has been detected by the deadline monitoring mechanism.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 2a4f700c045f Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и контекст вызова

Функция обратного вызова Com_CbkTxTOut служит интерфейсом уведомления об отсутствии успешной передачи. Согласно [SWS_Com_00554], она вызывается непосредственно после того, как механизм контроля дедлайнов (deadline monitoring mechanism) обнаружил ошибку передачи сообщения. Вызов выполняется синхронно и соответствует классу уведомлений 4. Поскольку сигнатура void Com_CbkTxTOut(void) не имеет ни входных, ни возвращаемых значений, оповещение вышележащего уровня осуществляется без параметров.

Параллелизм и конфигурация

Относительно реентерабельности функция согласно [SWS_Com_00554] специфицирована со значением don't care. Вероятно, поэтому вызываемое прикладное программное обеспечение должно принять надлежащие меры по обеспечению потокобезопасности, если события мониторинга могут поступать параллельно. Вопрос Q-793a6c18d81de85e (открытый) Доступность функции обратного вызова конфигурируется в коммуникационном модуле и адаптируется под соответствующие требования мониторинга.

Обработка ошибок

В [SWS_Com_00554] для Com_CbkTxTOut не определены отдельные сообщения об ошибках DET или DEM и возвращаемые значения для квитирования ошибок. Сам вызов обратного вызова представляет собой реакцию на ошибку при превышении предельного срока отправки.

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.

функция Com_CbkRxAck [SWS_Com_00555] 📄 PDF

void Com_CbkRxAck (void);

This callback represents notification class 1 of [17]. It is called immediately after the message has been stored in the receiving message object.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5f202dc48b43 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция обратного вызова Com_CbkRxAck служит в модуле AUTOSAR COM конфигурируемым подтверждением приема и представляет класс уведомлений 1 согласно [17] [SWS_Com_00555]. Модуль COM вызывает эту подпрограмму обратного вызова непосредственно после того, как принятое сообщение было успешно помещено и сохранено в предусмотренном объекте сообщений приема [SWS_Com_00555].

Использование и контекст вызова

  • Синхронное поведение при выполнении: функция специфицирована как синхронная [SWS_Com_00555]. Она выполняется непосредственно в ходе процесса сохранения, так что вызывающий контекст модуля COM ожидает завершения выполнения обратного вызова.
  • Параметры и возвращаемые значения: согласно сигнатуре void Com_CbkRxAck (void) входные параметры, входные/выходные параметры и выходные параметры не передаются [SWS_Com_00555]. Функция также не возвращает значения вызывающему модулю [SWS_Com_00555].
  • Доступность: механизм вызова доступен системе в качестве конфигурируемого интерфейса [SWS_Com_00555].

Параллелизм и обработка ошибок

Для реентерабельности установлено свойство «don't care» [SWS_Com_00555]. По-видимому, это означает, что спецификация COM не предъявляет требований к реентерабельному вызову, и механизмы защиты от одновременного доступа возлагаются на пользователя. Вопрос (открытый) Поскольку для DET или DEM не определены ни возвращаемые значения, ни специфические коды ошибок или сообщения об ошибках [SWS_Com_00555], любые возможные ошибки при обработке, вероятно, должны обрабатываться полностью локально внутри функции обратного вызова.

Данный текст был сгенерирован ИИ на основе спецификации R20-11.

функция Com_CbkRxTOut [SWS_Com_00556] 📄 PDF

void Com_CbkRxTOut (void);

This callback corresponds to notification class 3 of [17]. It is called immediately after a message reception error has been detected by the deadline monitoring mechanism.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 8121281e52ca Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Функция обратного вызова Com_CbkRxTOut служит для уведомления об отсутствии ожидаемого сообщения. Согласно [SWS_Com_00556], она вызывается непосредственно, как только механизм Deadline-Monitoring модуля обнаруживает ошибку при приёме сообщения. Это уведомление соответствует классу оповещения 3 («notification class 3 of [17]») и доступно в качестве конфигурируемого интерфейса [SWS_Com_00556].

Вызов выполняется синхронно (Synchronous) без входных параметров и без возвращаемого значения (void Com_CbkRxTOut(void)) [SWS_Com_00556]. Таким образом, функция сигнализирует вызывающему получателю или вышележащему уровню программного обеспечения исключительно о самом событии таймаута, не передавая данные контекста непосредственно в вызове.

Параллелизм и ограничения

Для реентерабельности функции в спецификации don't care определено [SWS_Com_00556]. Поскольку вызов выполняется непосредственно и синхронно после обнаружения ошибки, реализация процедуры обратного вызова, предположительно, должна быть рассчитана на работу с минимальными блокировками, чтобы недопустимо не задерживать Deadline-Monitoring модуля COM. Вопрос Q-88055efc50f5843b (открытый)

Этот текст был сгенерирован ИИ и служит в качестве справочного руководства. Преимущественную силу имеют упомянутые спецификации AUTOSAR.

функция Com_CbkInv [SWS_Com_00536] 📄 PDF

void Com_CbkInv (void);

This callback function corresponds to SWS_ Com_00680. It is called after recepti- on of an invalid signal or signal group respectively.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 148e16c23d2c Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция обратного вызова Com_CbkInv уведомляет вышележащие программные уровни о приеме поврежденных или недействительных коммуникационных данных в модуле AUTOSAR COM [SWS_Com_00536]. Она вызывается непосредственно после приема недействительного сигнала или недействительной группы сигналов и информирует получателя о наличии недействительного значения сигнала [SWS_Com_00536].

Интерфейс имеет сигнатуру void Com_CbkInv(void), следовательно, не принимает входных параметров и не возвращает значения вызывающей стороне [SWS_Com_00536]. Вызов происходит синхронно, а поведение реентерабельности указано в спецификации как «don't care» [SWS_Com_00536]. Поскольку параметры для идентификации затрагиваемого сигнала не передаются, идентификатор Com_CbkInv, вероятно, служит конфигурируемым шаблоном сигнатуры для сигналоспецифичных уведомлений. Вопрос Q-6e02e6bcf324eb93 (открытый)

В отношении интеграции и системного поведения действуют следующие граничные условия:

  • Предоставление функции является конфигурируемым, благодаря чему уведомление при необходимости может активироваться индивидуально для каждого сигнала или группы сигналов [SWS_Com_00536].
  • С содержательной точки зрения функция соответствует требованию SWS_Com_00680 по обработке инвалидации принимаемых сигналов в модуле COM [SWS_Com_00536].
  • Специфические подпрограммы обработки ошибок, коды ошибок или сообщения об ошибках в модули разработки или диагностики, такие как DET или DEM, для этого интерфейса не указаны [SWS_Com_00536].

Это указание по использованию было сгенерировано автоматически на основе данных спецификации.

функция Com_CbkCounterErr [SWS_Com_00726] 📄 PDF

void Com_CbkCounterErr (PduIdType ComPduId, uint8 ExpectedCounter, uint8 ReceivedCounter);

This function is called immediately, if the AUTOSAR COM module receives an I - PDU counter that differs from the expected one. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: df6b24d5c921 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Конфигурируемая callback-функция Com_CbkCounterErr служит для сигнализации об ошибках при контроле счетчика I-PDU согласно [SWS_Com_00726]. Она вызывается непосредственно и синхронно модулем AUTOSAR COM, если у принятой I-PDU обнаруживается значение счетчика, не совпадающее с ожидаемым значением счетчика. Это позволяет заблаговременно обнаруживать ошибки последовательности при приеме сообщений.

Интерфейс не имеет возвращаемого значения (void) и при вызове передает три входных параметра для анализа ошибок ([SWS_Com_00726]):

  • ComPduId (PduIdType): идентификатор затронутой I-PDU, в которой возникла ошибка счетчика.
  • ExpectedCounter (uint8): ожидаемое модулем COM значение счетчика I-PDU.
  • ReceivedCounter (uint8): фактически обнаруженное в принятом сообщении значение счетчика.

В отношении параллелизма реентерабельность функции объявлена в спецификации как «don't care» ([SWS_Com_00726]). Специфические сообщения об ошибках DET или DEM для этого интерфейса в [SWS_Com_00726] не заданы. Поскольку callback-функция определена как конфигурируемая, она, вероятно, реализуется на вышележащем уровне, таком как приложение, чтобы реагировать на ошибки передачи или потери пакетов с учетом специфики приложения. Интерпретация: поскольку вызов выполняется непосредственно и синхронно в контексте обработки приема COM ([SWS_Com_00726]), вызываемая подпрограмма не должна выполнять блокирующих операций. Вопрос Q-a745eb5416fc156b (открытый)

Это указание по использованию было сгенерировано ИИ на основе спецификации AUTOSAR R20-11.

функция Com_CbkTxPrep [SWS_Com_91013] 📄 PDF

void Com_CbkTxPrep (void);

This callback function indicates that the signals/ signal groups of a dedicated Com_ Main Function Tx instance will now be prepared for transmission.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0dd4280d4342 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Callback-функция Com_CbkTxPrep служит уведомлением о том, что сигналы или группы сигналов выделенного экземпляра Com_MainFunctionTx теперь подготавливаются к передаче [SWS_Com_91013]. Выполнение функции происходит синхронно по отношению к вызывающему экземпляру [SWS_Com_91013]. Согласно своей сигнатуре void Com_CbkTxPrep(void) она не принимает ни входных параметров, ни входных/выходных параметров, ни выходных параметров и не имеет возвращаемого значения [SWS_Com_91013].

Предоставление интерфейса доступно через конфигурацию [SWS_Com_91013]. Если параметр конфигурации ComPreparationNotification сконфигурирован, соответствующая функция Com_CbkTxPrep должна вызываться внутри связанной MainFunctionTx [SWS_Com_00886]. При этом обязательно строгое соблюдение временного порядка следования: вызов должен быть полностью завершен до того, как начнется фактическая обработка I-PDU внутри главной функции передачи Tx [SWS_Com_00886].

В отношении поведения при параллелизме и возможных ограничений Com_CbkTxPrep специфицирована как нереентерабельная (Non Reentrant) [SWS_Com_91013]. Контекст вызова жестко привязан к процессу выполнения соответствующего экземпляра MainFunctionTx [SWS_Com_91013]. Поскольку callback должен выполняться непосредственно перед началом обработки I-PDU, функция синхронно интегрирована в соответствующую процедуру передачи [SWS_Com_00886].

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Com_RxIpduCallout [SWS_Com_00700] 📄 PDF

boolean Com_RxIpduCallout (PduIdType PduId, const PduInfoType* PduInfoPtr);

The I - PDU callout on receiver side can be configured to implement user - defined receive filtering mechanisms.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 27d82988d509 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Com_RxIpduCallout представляет собой конфигурируемый коллаут на стороне приёмника, который служит для реализации специфичных для пользователя механизмов фильтрации приёма для I-PDU [SWS_Com_00700]. Выполнение происходит синхронно, а в отношении реентерабельности интерфейс специфицирован как don't care [SWS_Com_00700].

Вызову передаются идентификатор и данные принятой PDU [SWS_Com_00700]:

  • PduId: идентификатор принятой I-PDU [SWS_Com_00700].
  • PduInfoPtr: указатель на структуру PduInfoType, которая предоставляет длину (SduLength), а также указатель на полезные данные (SduDataPtr) принятой I-PDU [SWS_Com_00700].

Что касается предоставления данных, [SWS_Com_00816] требует, чтобы модуль AUTOSAR COM полностью передавал все данные принятой I-PDU в Com_RxIpduCallout точно в том виде, в каком они были предоставлены уровнем маршрутизатора PDU (PduR).

С помощью булевого возвращаемого значения коллаут управляет последующей обработкой I-PDU в модуле COM [SWS_Com_00700]:

  • true: принятая I-PDU продолжает обрабатываться в штатном режиме [SWS_Com_00700].
  • false: I-PDU дальше не обрабатывается и тем самым отбрасывается [SWS_Com_00700].

Специфические коды ошибок, константы кодов подтверждения или сообщения DET и DEM для данного callout в спецификации не предусмотрены [SWS_Com_00700].

Примечание. Это указание по использованию было автоматически сгенерировано системой ИИ на основе спецификации AUTOSAR R20-11.

функция Com_TxIpduCallout [SWS_Com_00346] 📄 PDF

boolean Com_TxIpduCallout (PduIdType PduId, PduInfoType* PduInfoPtr);

The I - PDU callout on sender side can be configured for example to implement user - defined transmission filtering or user - defined pre - transmission - processing of the outgoing I - PDU.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: df5cc1442b9d Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Com_TxIpduCallout служит конфигурируемым коллаутом на стороне отправителя и вызывается синхронно для выполнения пользовательской предварительной обработки или фильтрации передачи исходящей I-PDU [SWS_Com_00346].

Параметры и возвращаемое значение

  • PduId (in): передаёт идентификатор передаваемой I-PDU [SWS_Com_00346].
  • PduInfoPtr (inout): содержит длину полезных данных (SduLength), а также указатель на полезные данные (SduDataPtr) I-PDU [SWS_Com_00346]. Через него данные I-PDU могут быть проверены или модифицированы перед отправкой.
  • Возвращаемое значение (boolean): управляет дальнейшей обработкой I-PDU [SWS_Com_00346]. Возвращаемое значение true инициирует штатную отправку I-PDU, в то время как false прерывает любую дальнейшую обработку и тем самым передачу [SWS_Com_00346].

Параллелизм и конфигурация

Коллаут имеет Service-ID 0x29, и его реентерабельность со стороны спецификации определена как «don't care» [SWS_Com_00346]. Интерпретация: поскольку реентерабельность не ограничена, вызовы в зависимости от инициирующего задания на передачу, вероятно, происходят в контекстах различных задач, поэтому реализации на стороне пользователя должны быть потокобезопасными при использовании разделяемых ресурсов. Вопрос Q-3ce35701879bb60c (открытый)

Этот текст был создан автоматически. Все данные основаны исключительно на версии спецификации AUTOSAR R20-11.

тип Com_StatusType [SWS_Com_00819] 📄 PDF

This is a status value returned by the API service Com_ Get Status().

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7e3d9f87970e Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Перечислимый тип Com_StatusType определяет значение статуса для модуля AUTOSAR COM и предоставляется через заголовочный файл Com.h [SWS_Com_00819]. Этот тип служит возвращаемым значением сервиса API Com_GetStatus(), с помощью которого вызывающие стороны могут опрашивать текущее состояние инициализации и рабочее состояние коммуникационного модуля [SWS_Com_00819].

Специфицированный диапазон значений Com_StatusType различает ровно два состояния [SWS_Com_00819]:

  • COM_UNINIT: указывает, что модуль AUTOSAR COM не инициализирован или непригоден к использованию [SWS_Com_00819]. Это состояние обязательно имеет числовое значение 0x00 (или значение 0) и образует обязательное значение по умолчанию непосредственно после сброса системы [SWS_Com_00819].
  • COM_INIT: сигнализирует о том, что модуль AUTOSAR COM был инициализирован надлежащим образом и, следовательно, готов к работе и пригоден к использованию [SWS_Com_00819].

Для вызывающего программного обеспечения анализ этого возвращаемого значения служит для проверки готовности коммуникационного модуля к работе перед его использованием [SWS_Com_00819]. Пока сервис Com_GetStatus() возвращает значение COM_UNINIT, модуль COM считается неинициализированным или непригодным к использованию [SWS_Com_00819]. Только когда статус принимает значение COM_INIT, модуль инициализирован и готов к работе [SWS_Com_00819]. Другие коды ошибок или возвращаемые значения для этого типа перечисления не специфицированы [SWS_Com_00819].

Это указание по использованию создано автоматически на основе спецификации.

Руководство разработчика реализации в подготовке (сложность I1)

тип Com_ConfigType [SWS_Com_00825] 📄 PDF

This is the type of the data structure containing the initialization data for COM.

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

Record
AUTOSAR/AP/record/CP_MOD_Com
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Com@rel:R20-11#e065d4d0
Content hash
e065d4d0
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_COM.pdf#nameddest=SWS_Com_00432

Инициализация и состояние

Com_DeInit функция

This service stops the inter - ECU communication. All started I - PDU groups are stop- ped and have to be started again, if needed, after Com_ Init is called. By a call to Com_ De Init the AUTOSAR COM module is put into an not initialized state.

void Com_DeInit (void);
Com_GetStatus функция

Returns the status of the AUTOSAR COM module. Availab le via Com.h

Com_StatusType Com_GetStatus (void);
Com_GetVersionInfo функция

Returns the version information of this module.

void Com_GetVersionInfo (Std_VersionInfoType* versioninfo);
Com_Init функция

This service initializes internal and external interfaces and variables of the AUTO- SAR COM module layer for the further processing. After calling this function the inter - ECU communication is still disabled. In configurations, in which Com is assigned to mo re than one partition (i.e. Com_ Main Functions are mapped to partitions), Com may provide one init function per AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM partition.

void Com_Init (const Com_ConfigType* config);

Сервисы · Receive…

Com_ReceiveDynSignal функция

Com_ Receive Dyn Signal copies the data of the signal identified by Signal Id to the lo cation specified by Signal Data Ptr and stores the length of the dynamical length signal at the position given by the Length parameter.

uint8 Com_ReceiveDynSignal (Com_SignalIdType SignalId, void* SignalDataPtr, uint16* Length);

Com_ Receive Dyn Signal With Meta Da ta copies the data of the signal identified by Signal Id to the location specified by Signal Data Ptr and stores the length of the dy- namical length signal at the position given by the Length parameter. The received meta data is stored at the position given by the Meta Data Ptr parameter.

uint8 Com_ReceiveDynSignalWithMetaData (Com_SignalIdType SignalId, void* SignalDataPtr, uint16* Length, uint8* MetaDataPtr);
Com_ReceiveSignal функция

Com_ Receive Signal copies the data of the signal identified by Signal Id to the location specified by Signal Data Ptr.

uint8 Com_ReceiveSignal (Com_SignalIdType SignalId, void* SignalDataPtr);
Com_ReceiveSignalGroup функция

The service Com_ Receive Signal Group copies the received signal group from the I - PDU to the shadow buffer.

uint8 Com_ReceiveSignalGroup (Com_SignalGroupIdType SignalGroupId);

The service Com_ Receive Signal Group Array copies the re ceived signal group array AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM representation from the PDU to the location designated by Signal Group Ar - ray Ptr.

uint8 Com_ReceiveSignalGroupArray (Com_SignalGroupIdType SignalGroupId, uint8* SignalGroupArrayPtr);

The service Com_ Receive Signal Group Array With Meta Data copies the received si gnal group array representation from the PDU to the location designated by Signal Group Ar - ray Ptr. The received meta data is stored at the position given by the Meta Data Ptr parameter.

void Com_ReceiveSignalGroupArrayWithMetaData (Com_SignalGroupIdType SignalGroupId, uint8* SignalGroupArrayPtr, uint8* MetaDataPtr);

The service Com_ Receive Signal Group With Meta Data copies the received signal group from the I - PDU to the shadow buffer. The received meta data is stored at the position given by the Meta Data Ptr parameter.

uint8 Com_ReceiveSignalGroupWithMetaData (Com_SignalGroupIdType SignalGroupId, uint8* MetaDataPtr);

Com_ Receive Signal With Meta Data copies the data of the signal identified by Signal Id to the location specified by Signal Data Ptr. The received meta data is stored at the position given by the Meta Data Ptr parameter. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM

uint8 Com_ReceiveSignalWithMetaData (Com_SignalIdType SignalId, void* SignalDataPtr, uint8* MetaDataPtr);

Сервисы · Send…

Com_SendDynSignal функция

The service Com_ Send Dyn Signal updates the signal object identified by Signal Id with the signal referenced by the Signal Data Ptr parameter.

uint8 Com_SendDynSignal (Com_SignalIdType SignalId, const void* SignalDataPtr, uint16 Length);

The service Com_ Send Dyn Signal With Meta Data updates the signal object identified by Signal Id wit h the signal referenced by the Signal Data Ptr parameter. The meta data is provided via the Meta Data Ptr parameter. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM

uint8 Com_SendDynSignalWithMetaData (Com_SignalIdType SignalId, void* SignalDataPtr, uint16 Length, uint8* MetaDataPtr);
Com_SendSignal функция

The service Com_ Send Signal updates the signal object identified by Signal Id with the signal referenced by the Signal Data Ptr parameter. Avai lable via Com.h

uint8 Com_SendSignal (Com_SignalIdType SignalId, const void* SignalDataPtr);
Com_SendSignalGroup функция

The service Com_ Send Si gnal Group copies the content of the associated shadow buffer to the associated I - PDU.

uint8 Com_SendSignalGroup (Com_SignalGroupIdType SignalGroupId);

The service Com_ Send Signal Group Array copies the conte nt of the provided Signal Group Array Ptr to the associated I - PDU. The provided data shall correspond to the array representation of the signal group.

uint8 Com_SendSignalGroupArray (Com_SignalGroupIdType SignalGroupId, const uint8* SignalGroupArrayPtr);

The service Com_ Send Signal Group Array With Meta Data copies the content of the provided Signal Group Array Ptr to the associated I - PDU. The provided data shall c orrespond to the array representation of the signal group. The meta data is provi- ded via the Meta Data Ptr parameter.

uint8 Com_SendSignalGroupArrayWithMetaData (Com_SignalGroupIdType SignalGroupId, uint8* SignalGroupArrayPtr, uint8* MetaDataPtr);

The service Com_ Send Signal Group With Meta Data copies the content of the associated shadow buffer to the associated I - PDU. The meta data is provided via the Meta Data Ptr parameter.

uint8 Com_SendSignalGroupWithMetaData (Com_SignalGroupIdType SignalGroupId, uint8* MetaDataPtr);

The service Com_ Send Si gnal With Meta Data updates the signal object identified by Signal Id with the signal referenced by the Signal Data Ptr parameter. The meta data is provided via the Meta Data Ptr parameter.

uint8 Com_SendSignalWithMetaData (Com_SignalIdType SignalId, void* SignalDataPtr, uint8* MetaDataPtr);

Сервисы · Прочее

Com_DisableReceptionDM функция

Disables the reception deadline monitoring for the I - PDUs within the given I - PDU group.

void Com_DisableReceptionDM (Com_IpduGroupIdType IpduGroupId);
Com_EnableReceptionDM функция

Enables the reception deadline monitoring for the I - PDUs within the given I - PDU group.

void Com_EnableReceptionDM (Com_IpduGroupIdType IpduGroupId);
Com_InvalidateSignal функция

The service Com_ In validate Signal invalidates the signal with the given Signal Id by setting its value to its configured Com Signal Data Invalid Value.

uint8 Com_InvalidateSignal (Com_SignalIdType SignalId);

The service Co m_ Invalidate Signal Group invalidates all group signals of the signal group with the given Signal Group Id by setting their values to their configured Com Signal Data Invalid Values.

uint8 Com_InvalidateSignalGroup (Com_SignalGroupIdType SignalGroupId);
Com_IpduGroupStart функция

Starts a preconfigured I - PDU group. For example, cyclic I - PDUs will be sent out cyclically after the call of Com_ Ipdu Group Start(). If Initialize is true all I - PDUs of the I - PDU group shall be (r e - )initialized before the I - PDU group is started. That is they shall behave like after a start - up of COM, for example the old_ value of the filter ob- jects and shadow buffers of signal groups have to be (re - )initialized.

void Com_IpduGroupStart (Com_IpduGroupIdType IpduGroupId, boolean initialize);
Com_IpduGroupStop функция

Stops a preconfigured I - PDU group. For example, cyclic I - PDUs will be stopped after the call of Com_ Ipdu Group Stop().

void Com_IpduGroupStop (Com_IpduGroupIdType IpduGroupId);
Com_SwitchIpduTxMode функция

The service Com_ Switch Ipdu Tx Mode sets the transmi ssion mode of the I - PDU refe- renced by Pdu Id to Mode. In case the transmission mode changes, the new mode shall immediately be effective (see SWS_ Com_00239). In case the requested transmission mode was already active for this I - PDU, the call will have no effect.

void Com_SwitchIpduTxMode (PduIdType PduId, booleanMode); ⚠️
Com_TriggerIPDUSend функция

By a call to Com_ Trigger IPDUSend the I - PDU with the given ID is triggered for transmission.

Std_ReturnType Com_TriggerIPDUSend (PduIdType PduId);

By a call to Com_ Trigger IPDUSend With Meta Data the AUTOSAR COM module updates its internal metadata for the I - PDU with the given ID by copying the metada- ta from the given position and with respect to length of the globally configured Meta Data Type of this I - PDU. Then the I - PDU is triggered for transmission.

Std_ReturnType Com_TriggerIPDUSendWithMetaData (PduIdType PduId, const uint8* MetaData);

Обратные вызовы

Com_CbkCounterErr функция

This function is called immediately, if the AUTOSAR COM module receives an I - PDU counter that differs from the expected one. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM

void Com_CbkCounterErr (PduIdType ComPduId, uint8 ExpectedCounter, uint8 ReceivedCounter);
Com_CbkInv функция

This callback function corresponds to SWS_ Com_00680. It is called after recepti- on of an invalid signal or signal group respectively.

void Com_CbkInv (void);
Com_CbkRxAck функция

This callback represents notification class 1 of [17]. It is called immediately after the message has been stored in the receiving message object.

void Com_CbkRxAck (void);
Com_CbkRxTOut функция

This callback corresponds to notification class 3 of [17]. It is called immediately after a message reception error has been detected by the deadline monitoring mechanism.

void Com_CbkRxTOut (void);
Com_CbkTxAck функция

This callback represents notification class 2 of [17]. It is called immediately after successful transmission of the I - PDU containing the message.

void Com_CbkTxAck (void);
Com_CbkTxErr функция

This callback corresponds to notification class 4 of [17]. It is called in case the transmission is not possible because the corresponding I - PDU group is stopped.

void Com_CbkTxErr (void);
Com_CbkTxPrep функция

This callback function indicates that the signals/ signal groups of a dedicated Com_ Main Function Tx instance will now be prepared for transmission.

void Com_CbkTxPrep (void);
Com_CbkTxTOut функция

This callback corresponds to notification class 4 of [17]. It is called immediately after a message transmission error has been detected by the deadline monitoring mechanism.

void Com_CbkTxTOut (void);
Com_CopyRxData функция

Service Com_CopyRxData.

BufReq_ReturnType Com_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);
Com_CopyTxData функция

Service Com_CopyTxData.

BufReq_ReturnType Com_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);
Com_RxIndication функция

Indication of a received PDU from a lower layer communication interface module.

void Com_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Com_StartOfReception функция

Service Com_StartReception.

BufReq_ReturnType Com_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);
Com_TpRxIndication функция

Called after an I - PDU has been received via the TP API, the result indicates whe- ther the transmission was successful or not.

void Com_TpRxIndication (PduIdType id, Std_ReturnType result);
Com_TpTxConfirmation функция

This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

void Com_TpTxConfirmation (PduIdType id, Std_ReturnType result);
Com_TriggerTransmit функция

Within this API , the upper layer module (called module) shall check whether the 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 copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

Std_ReturnType Com_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Com_TxConfirmation функция

The lower layer communication interface module confirms the transmission of a AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM PDU, or the failure to transmit a PDU.

void Com_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

Callout-функции и ожидаемые интерфейсы

Com_RxIpduCallout функция

The I - PDU callout on receiver side can be configured to implement user - defined receive filtering mechanisms.

boolean Com_RxIpduCallout (PduIdType PduId, const PduInfoType* PduInfoPtr);
Com_TxIpduCallout функция

The I - PDU callout on sender side can be configured for example to implement user - defined transmission filtering or user - defined pre - transmission - processing of the outgoing I - PDU.

boolean Com_TxIpduCallout (PduIdType PduId, PduInfoType* PduInfoPtr);

Циклические

Calls the signal gateway part of the AUTOSAR COM module to forward received signals to be routed. Per configured Com Main Function Route Signals instance one Com_ Main Functi on Route Signals_ shall be implemented. Hereby is the short name of the Com Main Function Route Signals configuration container in the ECU configuration.

void Com_MainFunctionRouteSignals (void);
Com_MainFunctionRx функция

This function performs the processing of the AUTOSAR COM module's receive processing that are not directly handled within the COM's functions invoked by the PDU - R, for example Com_ Rx Indication. Per configured Com Main Function Rx instance one Com_ Main F unction Rx_ shall be implemented. Hereby is the short name of the Com Main Function Rx configuration container in the ECU configuration.

void Com_MainFunctionRx (void);
Com_MainFunctionTx функция

This function performs the processing of the AUTOSAR COM module's transmissi- on activities that are not directly handled within the COM's function invoked by the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COM RTE, for example Com_ Send Signal. Per configured Com Main Function Tx instance one Com_ Main F unction Tx_ shall be implemented. Hereby is the short name of the Com Main Function Tx configuration container in the ECU configuration.

void Com_MainFunctionTx (void);

Типы

This is the type of the data structure containing the initialization data for COM.

The AUTOSAR COM I - PDU module's group object identifier.

The AUTOSAR COM module's signal group object identifier.

The AUTOSAR COM module's signal object identifier.

This is a status value returned by the API service Com_ Get Status().