LIN Interface (LinIf)
Abstracts LIN hardware and manages schedule tables and frame transmission.
Funktionen — Übersicht
void LinIf_Init (const LinIf_ConfigType* ConfigPtr);Initializes the LIN Interface.void LinIf_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Re quests transmission of a PDU.Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);Requests a schedule table to be executed.Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);Initiates a transition into the Sleep Mode on the selected channel.Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);Initiates the wake up process.Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);Set the given LIN transceiver to the given mode.Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);Returns the actual sta te of a LIN Transceiver Driver.Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);This API enables, disables and cl ears the notification for wakeup events on the addressed networkStd_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);Retrieves all assigned PID values.Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);Sets all assigned PID values.Std_ReturnType LinIf_GetConfiguredNAD (NetworkHandleType Channel, uint8* Nad);Reports the current configured NAD.Std_ReturnType LinIf_SetConfiguredNAD (NetworkHandleType Channel, uint8 Nad);Sets the current configured NAD.void LinTp_Init (const LinTp_ConfigType* ConfigPtr);Initializes the LIN Transport Layer.Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.void LinTp_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.void LinTp_Shutdown (void);Shutdowns the LIN TP.Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);Request to change a specific transport protocol parameter (e.Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);Enables or disables mirroring for a LIN channel.void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup...Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);The LIN Driver will call this function to report a received LIN header.void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN...void LinIf_TxConfirmation (NetworkHandleType Channel);The LIN Driver will call this function to report a successfully transmitted response.void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);The LIN Driver will call this function to report a detected error event during header or response processing.Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size...void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);Notifies the change of the response error signal with the new value.boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);Notifies the reception of a Save Configuration request.
Typen — Übersicht
LinIf_SchHandleTypeIndex of the schedule table that is selectable and followed by LIN Interface.struct LinIf_ConfigTypeA pointer to an instance of this structure will be used in the initialization of the LIN Interface.struct LinTp_ConfigTypeThis is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be...LinTp_ModeThis type denotes which Schedule table can be requested by LIN TP during diagnostic session
Funktionen & Typen — Detailansicht
함수 LinIf_Init [SWS_LinIf_00198] 📄 PDF
void LinIf_Init (const LinIf_ConfigType* ConfigPtr);
Initializes the LIN Interface.
동기식 함수 LinIf_Init은(는) [SWS_LinIf_00198]에 따라 LIN 인터페이스를 초기화하는 데 사용됩니다. 이 인터페이스는 서비스 ID 0x01을(를) 가지며, 헤더 파일 LinIf.h을(를) 통해 사용할 수 있고 동기식으로 실행됩니다.
호출 컨텍스트 및 매개변수
이 함수는 유일한 매개변수로 ConfigPtr(const LinIf_ConfigType*)을(를) 기대하며, 이는 LIN 인터페이스의 구성에 대한 포인터 역할을 합니다 [SWS_LinIf_00198]. 반환값이 없으며, 입출력 또는 순수 출력 매개변수를 가지지 않습니다.
초기화 시퀀스 및 상호작용
초기화의 일환으로 LIN 인터페이스는 슬레이브 노드에 대해 특정 설정을 수행합니다:
- [SWS_LinIf_00767]에 따라 모듈은
LinIf_Init에서 구성 매개변수LinIfInitialNAD및LinIfConfiguredNAD을(를) 기반으로 슬레이브 노드의 초기 노드 주소(initial NAD) 및 구성된 노드 주소(configured NAD)를 초기화합니다. - [SWS_LinIf_00768]에 따라 모듈은
LinIf_Init에서 구성 매개변수LinIfFrameId을(를) 통해 구성 데이터로부터 슬레이브 노드의 구성된 PID를 초기화합니다.
동시성 및 제약사항
이 함수는 재진입 불가(Non Reentrant)로 명시되어 있습니다 [SWS_LinIf_00198]. 따라서 동시 호출이나 중첩 호출은 허용되지 않습니다. 제공된 명세 범위에는 이 서비스에 대한 특정 오류 코드나 DET 메시지가 명시되어 있지 않습니다.
이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_GetVersionInfo [SWS_LinIf_00340] 📄 PDF
void LinIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
함수 LinIf_Transmit [SWS_LinIf_00201] 📄 PDF
Std_ReturnType LinIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Re quests transmission of a PDU.
사용법 및 호출 컨텍스트
LinIf.h에 선언된 함수 LinIf_Transmit(서비스 ID 0x49)은 PDU [SWS_LinIf_00201]의 전송을 동기적으로 요청하는 데 사용됩니다. 입력 매개변수로 전송할 PDU를 고유하게 식별하기 위한 TxPduId 및 데이터 길이와 실제 페이로드 외에도 메타데이터를 참조할 수 있는 PduInfoType 구조체에 대한 포인터 PduInfoPtr를 예상합니다 [SWS_LinIf_00201]. 추가적인 입출력 또는 출력 매개변수는 존재하지 않습니다 [SWS_LinIf_00201].
반환값 및 동작 요구사항
서비스는 반환값으로 상태 Std_ReturnType을 반환합니다 [SWS_LinIf_00201]:
E_OK: LIN 인터페이스가 전송 요청을 성공적으로 수락했습니다 [SWS_LinIf_00201].E_NOT_OK: 전송 요청을 수락할 수 없었습니다 [SWS_LinIf_00201].
프레임 유형과의 상호작용은 [SWS_LinIf_00700]에 의해 명확화됩니다. LIN 인터페이스가 초기화된 경우, PDU가 LIN 마스터 노드의 비산발적(non-sporadic) 프레임에 속하거나 LIN 슬레이브 노드의 비이벤트 기반(non-event-triggered) 프레임에 속하더라도 LinIf_Transmit은 E_OK를 반환합니다.
동시성
실행 환경과 관련하여 LinIf_Transmit은 서로 다른 PDU ID에 대해 재진입 가능(reentrant)하지만, 동일한 TxPduId에 대해서는 동시 또는 병행하여 호출되어서는 안 됩니다 [SWS_LinIf_00201].
이 사용 지침은 AUTOSAR 사양 R20-11을 바탕으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_ScheduleRequest [SWS_LinIf_00202] 📄 PDF
Std_ReturnType LinIf_ScheduleRequest (NetworkHandleType Channel, LinIf_SchHandleType Schedule);
Requests a schedule table to be executed. Only used for LIN master nodes.
함수 LinIf_ScheduleRequest은(는) LIN 마스터 노드에서만 미리 정해진 스케줄 테이블의 실행을 요청하는 데 사용됩니다 [SWS_LinIf_00202]. 호출은 비동기식으로 처리되며 재진입 가능하도록 설계되었습니다 [SWS_LinIf_00202].
매개변수 및 반환값
매개변수 Channel을(를) 통해 해당 LIN 채널 인덱스가 전달되며, Schedule은(는) 새로 실행할 스케줄 테이블의 식별자를 지정합니다 [SWS_LinIf_00202]. 함수는 상태를 Std_ReturnType(으)로 반환합니다:
E_OK: 스케줄 테이블 전환 요청이 성공적으로 수락되었습니다 [SWS_LinIf_00202].E_NOT_OK: 전환이 거부되었습니다 [SWS_LinIf_00202].
오류 조건 및 제한 사항
명세에 따르면 다음과 같은 오류 발생 시 E_NOT_OK의 반환값이 발생합니다 [SWS_LinIf_00202]:
- LIN 인터페이스가 아직 초기화되지 않았습니다.
- 참조된 채널이 존재하지 않거나 전달된 인덱스가 값 범위를 벗어납니다.
- 참조된 스케줄 테이블이 존재하지 않거나 해당 식별자가 유효하지 않습니다.
- 현재 상태가 Sleep입니다.
상호 작용
스케줄 요청 실패는 상위 전송 프로세스에 영향을 미칩니다. BswM_LinTp_RequestMode을(를) 통한 LinTp_Transmit 호출의 일환으로 LinIf_ScheduleRequest을(를) 통한 스케줄 전환이 시작되는 경우, LinIf_ScheduleRequest이(가) E_NOT_OK(으)로 응답할 때 LinTp_Transmit은(는) 반드시 E_NOT_OK을(를) 반환해야 합니다 [SWS_LinIf_00878].
이 사용 지침은 AUTOSAR Classic R20-11의 명세 데이터만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_GotoSleep [SWS_LinIf_00204] 📄 PDF
Std_ReturnType LinIf_GotoSleep (NetworkHandleType Channel);
Initiates a transition into the Sleep Mode on the selected channel.
사용
함수 LinIf_GotoSleep(서비스 ID 0x06, LinIf.h에 선언됨)은 지정된 LIN 채널 [SWS_LinIf_00204]에서 슬립 모드로의 전환을 시작합니다. 호출은 비동기적으로 수행되며, NetworkHandleType 유형의 입력 매개변수 Channel로 해당 채널의 식별자를 전달받습니다 [SWS_LinIf_00204].
반환값 및 오류 처리
서비스는 반환값으로 다음과 같은 의미를 갖는 Std_ReturnType 유형을 반환합니다 [SWS_LinIf_00204]:
E_OK: 슬립 모드로의 전환 요청이 성공적으로 수락되었거나, 슬립 모드로의 상태 전환이 이미 진행 중이거나, 컨트롤러가 이미 슬립 상태에 있습니다 [SWS_LinIf_00204].E_NOT_OK: 요청이 수락되지 않았습니다. 이에 대한 가능한 원인은 아직 초기화되지 않은 LIN 인터페이스 또는 존재하지 않거나 유효 값 범위를 벗어난 채널 식별자입니다 [SWS_LinIf_00204].
동시성 및 시스템 상호작용
인터페이스는 재진입 불가(Non Reentrant)로 정의됩니다 [SWS_LinIf_00204]. LinIf_GotoSleep이 호출되면 LIN 인터페이스는 즉시 함수 Lin_GotoSleepInternal을 호출해야 하며, 메인 함수의 다음 주기까지 기다려서는 안 됩니다 [SWS_LinIf_00757].
이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 작성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_Wakeup [SWS_LinIf_00205] 📄 PDF
Std_ReturnType LinIf_Wakeup (NetworkHandleType Channel);
Initiates the wake up process.
재진입 가능한 함수 LinIf_Wakeup은 매개변수 Channel로 식별된 LIN 채널에 대해 비동기 웨이크업 프로세스를 트리거합니다 [SWS_LinIf_00205]. 이 함수는 헤더 LinIf.h을 통해 제공됩니다 [SWS_LinIf_00205].
반환값 Std_ReturnType은 요청의 수락에 대한 정보를 제공합니다 [SWS_LinIf_00205]:
E_OK은 웨이크업 요청이 수락되었거나 컨트롤러가 이미 더 이상 슬립 상태에 있지 않음을 나타냅니다 [SWS_LinIf_00205].E_NOT_OK은 LIN 인터페이스가 초기화되지 않았거나, 전달된 채널 ID가 유효 범위를 벗어났거나, 하위 드라이버 호출Lin_Wakeup또는Lin_WakeupInternal가E_NOT_OK과 함께 실패한 경우에 반환됩니다 [SWS_LinIf_00205].
사용자와의 상호작용은 콜백 함수 <User>_WakeupConfirmation을 통해 이루어집니다:
- 오류 발생 시 LIN 인터페이스는
E_NOT_OK을 반환하기 전에 반드시<User>_WakeupConfirmation(FALSE)을 호출합니다 [SWS_LinIf_00762]. - 성공적으로 수락된 경우(
E_OK), LIN 인터페이스는 웨이크업을 비동기적으로 확인합니다. 이후 함수LinIf_HeaderIndication이 처음으로 호출된 경우에만 모듈이<User>_WakeupConfirmation(TRUE)호출을 전송합니다 [SWS_LinIf_00761].
이 텍스트는 자동으로 생성되었습니다. AUTOSAR 사양의 요구사항을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_SetTrcvMode [SWS_LinIf_00544] 📄 PDF
Std_ReturnType LinIf_SetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType TransceiverMode);
Set the given LIN transceiver to the given mode.
동기 및 재진입 가능한 함수 LinIf_SetTrcvMode(서비스 ID 0x08)은 지정된 LIN 트랜시버를 요청된 작동 모드로 전환하는 데 사용됩니다 [SWS_LinIf_00544]. 이 인터페이스는 헤더 파일 LinIf.h을 통해 제공됩니다 [SWS_LinIf_00544].
매개변수 및 반환값
호출에는 두 개의 입력 매개변수가 필요합니다 [SWS_LinIf_00544]:
Channel(NetworkHandleType): 제어할 LIN 채널을 식별합니다 [SWS_LinIf_00544].TransceiverMode(LinTrcv_TrcvModeType): 트랜시버의 요청된 상태 전환을 지정합니다 [SWS_LinIf_00544].
Std_ReturnType 유형의 반환값은 전환 작업의 결과를 나타냅니다 [SWS_LinIf_00544]:
E_OK: 트랜시버 상태가 요청된 모드로 성공적으로 변경된 경우 반환됩니다 [SWS_LinIf_00544].E_NOT_OK: 상태 변경이 실패했거나 하나 이상의 매개변수가 허용 범위를 벗어났음을 나타냅니다. 트랜시버의 이전 상태는 변경되지 않은 채 유지됩니다 [SWS_LinIf_00544].
실행 및 오류 동작
함수는 동기적으로 실행되며 재진입 가능하도록 지정되어 있습니다 [SWS_LinIf_00544]. 특정 DET 또는 DEM 오류 메시지는 사양 항목에 별도로 나열되어 있지 않습니다. 모드 변경 실패 또는 허용되지 않는 매개변수 값은 즉시 반환값 E_NOT_OK로 이어집니다 [SWS_LinIf_00544].
이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_GetTrcvMode [SWS_LinIf_00545] 📄 PDF
Std_ReturnType LinIf_GetTrcvMode (NetworkHandleType Channel, LinTrcv_TrcvModeType* TransceiverModePtr);
Returns the actual sta te of a LIN Transceiver Driver.
함수 LinIf_GetTrcvWakeupReason [SWS_LinIf_00547] 📄 PDF
Std_ReturnType LinIf_GetTrcvWakeupReason (NetworkHandleType Channel, LinTrcv_TrcvWakeupReasonType* TrcvWuReasonPtr);
Returns the reason for the wake up that has been detected by the LIN Transceiver Driver.
함수 LinIf_SetTrcvWakeupMode [SWS_LinIf_00550] 📄 PDF
Std_ReturnType LinIf_SetTrcvWakeupMode (NetworkHandleType Channel, LinTrcv_TrcvWakeupModeType LinTrcvWakeupMode);
This API enables, disables and cl ears the notification for wakeup events on the addressed network
동기식 및 재진입 가능한 함수 LinIf_SetTrcvWakeupMode은(는) 지정된 LIN 채널에서 웨이크업 이벤트에 대한 알림을 활성화, 비활성화 또는 리셋하는 데 사용됩니다 [SWS_LinIf_00550]. 선언은 헤더 LinIf.h을(를) 통해 제공되며 서비스 ID 0x0b을(를) 가집니다 [SWS_LinIf_00550].
이 인터페이스는 두 개의 입력 매개변수를 기대합니다 [SWS_LinIf_00550]:
Channel:NetworkHandleType타입의 주소 지정할 LIN 네트워크 또는 채널의 고유 식별자 [SWS_LinIf_00550].LinTrcvWakeupMode:LinTrcv_TrcvWakeupModeType타입의 트랜시버의 요청된 웨이크업 모드 [SWS_LinIf_00550].
반환값으로 함수는 상태 Std_ReturnType을(를) 제공합니다 [SWS_LinIf_00550]:
E_OK: LIN 트랜시버 드라이버의 API 서비스 호출이 성공적이었으며E_OK을(를) 반환했습니다 [SWS_LinIf_00550].E_NOT_OK: LIN 트랜시버 드라이버의 API 서비스가 실패했거나(반환값E_NOT_OK) 채널 또는 모드에 대해 전달된 매개변수 중 적어도 하나가 유효하지 않습니다 [SWS_LinIf_00550].
상호작용과 관련하여 함수는 요청을 LIN 트랜시버 드라이버에 위임합니다. LinIf는 여기서 상위 계층과 트랜시버 하드웨어 사이의 중개 인터페이스 역할을 하는 것으로 추정됩니다 [SWS_LinIf_00550]. 이 서비스는 재진입 가능으로 명시되어 있으므로, 서로 다른 채널 또는 동일한 채널에 대해 병렬로 실행될 수 있습니다 [SWS_LinIf_00550]. 질문 Q-07b525a14a2c5fcd (열림)
이 텍스트는 AI에 의해 생성되었으며 참고용으로 제공됩니다. 공식적인 AUTOSAR 명세 문서가 기준이 됩니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_GetPIDTable [SWS_LinIf_91002] 📄 PDF
Std_ReturnType LinIf_GetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8* PidBufferLength);
Retrieves all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.
함수 LinIf_SetPIDTable [SWS_LinIf_91003] 📄 PDF
Std_ReturnType LinIf_SetPIDTable (NetworkHandleType Channel, Lin_FramePidType* PidBuffer, uint8 PidBufferLength);
Sets all assigned PID values. The order is congruent to the LIN frame index. Only applicable for LIN slave nodes.
함수 LinIf_GetConfiguredNAD [SWS_LinIf_00829] 📄 PDF
Std_ReturnType LinIf_GetConfiguredNAD (NetworkHandleType Channel, uint8* Nad);
Reports the current configured NAD. Only applicable for LIN slave nodes.
함수 LinIf_SetConfiguredNAD [SWS_LinIf_00833] 📄 PDF
Std_ReturnType LinIf_SetConfiguredNAD (NetworkHandleType Channel, uint8 Nad);
Sets the current configured NAD. Only applicable for LIN slave nodes.
함수 LinTp_Init [SWS_LinIf_00350] 📄 PDF
void LinTp_Init (const LinTp_ConfigType* ConfigPtr);
Initializes the LIN Transport Layer.
사용법 및 호출 컨텍스트
함수 LinTp_Init은(는) LIN 프로토콜 전송 계층([SWS_LinIf_00350])의 초기화에 사용됩니다. 명세 [SWS_LinIf_00350]에 따라 함수 호출은 동기식으로 작동합니다.
함수 시그니처는 void LinTp_Init (const LinTp_ConfigType* ConfigPtr)입니다. 입력 매개변수를 통해 구성이 전달됩니다:
ConfigPtr(in):LinTp_ConfigType타입의 LIN 전송 계층 구성 데이터에 대한 포인터([SWS_LinIf_00350]).
이 함수는 반환값을 제공하지 않으며(void) 출력 매개변수나 입출력 매개변수도 정의하지 않습니다([SWS_LinIf_00350]). 16진수 서비스 ID 0x40을(를) 가지며 헤더 파일 LinIf.h을(를) 통해 제공됩니다([SWS_LinIf_00350]).
오류 처리
요구사항 [SWS_LinIf_00350]은(는) 이 함수에 대해 특정 오류 코드, DET 메시지 또는 DEM 이벤트를 정의하지 않습니다. 호출자에게 오류 상태가 반환되지 않습니다([SWS_LinIf_00350]).
동시성 및 제약사항
함수 LinTp_Init은(는) 명시적으로 재진입 불가(Non Reentrant)로 분류됩니다([SWS_LinIf_00350]). 따라서 여러 스레드, 태스크 또는 인터럽트 루틴에서 동시에 호출해서는 안 됩니다. 해석: 호출은 일반적으로 후속 통신 요청이 처리될 수 있기 전에 베이직 소프트웨어 초기화 시퀀스의 일환으로 중앙에서 수행될 것으로 추정됩니다. 질문 Q-6e391bdf8abb1a09 (열림)
상호 작용
LinTp_Init에 대해 본 발췌본에는 다른 명세 요구사항이나 인접 함수에 대한 직접적인 연결이 나열되어 있지 않습니다([SWS_LinIf_00350]). 모듈 LinIf이(가) 선언을 제공합니다([SWS_LinIf_00350]).
이 사용 지침은 AUTOSAR Classic Release R20-11 사양을 기반으로 자동으로 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinTp_Transmit [SWS_LinIf_00351] 📄 PDF
Std_ReturnType LinTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
동기 함수 LinTp_Transmit은 LIN 전송 프로토콜([SWS_LinIf_00351])을 통한 PDU 전송을 요청하는 데 사용됩니다. 전달 매개변수로 PDU 식별자 TxPduId 및 데이터 길이와 PDU 데이터 및 메타데이터에 대한 포인터를 제공하는 포인터 PduInfoPtr을 예상합니다([SWS_LinIf_00351]). 반환값은 전송 요청이 성공적으로 수락된 경우 E_OK이며, 거부된 경우 E_NOT_OK입니다([SWS_LinIf_00351]).
런타임 동작 및 LIN 인터페이스와의 상호작용에는 다음 지침이 적용됩니다:
- 스케줄 요청:
BswM_LinTp_RequestMode을 통한 호출의 일환으로 트리거된 스케줄 전환이LinIf_ScheduleRequest에서 실패하고E_NOT_OK를 반환하는 경우,LinTp_Transmit또한E_NOT_OK로 직접 응답해야 합니다([SWS_LinIf_00878]). - 확인:
LinTp_Transmit이 성공한 경우(반환값E_OK)에만, LIN 인터페이스는 스케줄 테이블 전환의 성공 또는 실패 후PduR_LinTpTxConfirmation함수를 긍정적 또는 부정적 결과와 함께 호출합니다([SWS_LinIf_00702]). 전송 요청이 거부된 경우 이 호출은 완전히 생략됩니다([SWS_LinIf_00702]). - 진행 중인 작업 중단: 물리적 응답을 대기하는 동안 또는 응답을 수신하는 동안
LinTp_Transmit을 통해 새로운 물리적 요청이 트리거되면, LIN 인터페이스는 수신 및 N_Cr 및 P2 타임아웃 모니터링을 포함하여 진행 중인 TP 처리를 중단하고 새 요청을 수락합니다([SWS_LinIf_00708]).
동시성과 관련하여 LinTp_Transmit은 서로 다른 TxPduId에 대해 재진입 가능하지만, 동일한 TxPduId에 대해서는 병행하여 실행되어서는 안 됩니다([SWS_LinIf_00351]).
이 사용 지침은 AUTOSAR Classic R20-11 명세를 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinTp_GetVersionInfo [SWS_LinIf_00352] 📄 PDF
void LinTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
함수 LinTp_Shutdown [SWS_LinIf_00355] 📄 PDF
void LinTp_Shutdown (void);
Shutdowns the LIN TP.
함수 LinTp_Shutdown은(는) LIN 전송 프로토콜([SWS_LinIf_00355])의 제어된 종료에 사용됩니다. 이 함수의 호출을 통해 LIN TP 컴포넌트의 동작이 종료됩니다([SWS_LinIf_00355]). 함수 선언은 헤더 파일 LinIf.h을(를) 통해 사용할 수 있습니다([SWS_LinIf_00355]).
사용 및 실행에는 다음 명세 특성이 적용됩니다([SWS_LinIf_00355]):
- 매개변수 및 반환값: 이 함수는 입력, 입출력 또는 출력 매개변수를 가지지 않으며(
void) 반환값을 반환하지 않습니다(void)([SWS_LinIf_00355]). - 서비스 식별: 서비스는 서비스 ID
0x43아래에 정의되어 있습니다([SWS_LinIf_00355]). - 동기성: 호출은 동기식으로 처리됩니다([SWS_LinIf_00355]).
- 재진입성: 이 함수는 재진입 불가(Non Reentrant)입니다([SWS_LinIf_00355]). 서로 다른 컨텍스트에서의 동시 호출이나 중첩 호출은 허용되지 않습니다.
특정 오류 코드, Development Error Tracer(DET)로의 피드백 또는 오류 시의 특수 처리는 소스에서 이 함수에 대해 설명되어 있지 않습니다([SWS_LinIf_00355]). 마찬가지로 관련 요구사항이나 정확한 호출자에 대한 정보도 없습니다. 아마도 상위 BSW 상태 관리에 의한 통신 스택의 순차적 비초기화의 일환으로 호출이 수행되는 것으로 추정됩니다. 질문 Q-e25a3c9531527c4f (열림)
이 사용 지침은 자동으로 생성되었습니다. 이는 릴리스 R20-11의 AUTOSAR 요소 명세 정보만을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinTp_ChangeParameter [SWS_LinIf_00501] 📄 PDF
Std_ReturnType LinTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);
Request to change a specific transport protocol parameter (e.g. block size).
사용법 및 의미론
동기식 함수 LinTp_ChangeParameter은(는) 런타임에 특정 PDU에 대한 전송 프로토콜의 특정 매개변수를 조정하는 데 사용됩니다 [SWS_LinIf_00501]. 매개변수로는 PDU 식별자(id), 변경할 전송 프로토콜 매개변수의 식별자(parameter, 예: 블록 크기) 및 새로운 목표값(value)이 전달됩니다 [SWS_LinIf_00501]. 선언은 헤더 LinIf.h을(를) 통해 제공됩니다 [SWS_LinIf_00501].
반환값 및 오류 발생 시 동작
이 함수는 Std_ReturnType 타입의 반환값을 통해 요청 결과를 즉시 알립니다 [SWS_LinIf_00501]:
E_OK: 요청된 매개변수가 새 값으로 성공적으로 변경되었습니다 [SWS_LinIf_00501].E_NOT_OK: LIN 전송 프로토콜에 의해 변경이 거부되었습니다 [SWS_LinIf_00501]. 이는 일반적으로 매개변수가 유효하지 않거나 진행 중인 전송으로 인해 수정이 불가능한 경우에 발생할 것으로 추정됩니다. 질문 Q-84aaf28c12dee2e9 (열림)
동시성 및 제약사항
명세에 따르면 LinTp_ChangeParameter은(는) 재진입 불가(Non Reentrant)로 분류됩니다 [SWS_LinIf_00501]. 따라서 동일하거나 병렬 컨텍스트에 대한 동시 또는 중첩 호출은 허용되지 않으며 호출자가 이를 방지해야 합니다. 동기식 흐름은 매개변수 값 적용 여부가 결정될 때까지 호출자를 차단합니다 [SWS_LinIf_00501].
이 텍스트는 AI에 의해 작성되었으며 AUTOSAR R20-11의 사양 데이터만을 기반으로 합니다.
함수 LinIf_CheckWakeup [SWS_LinIf_00378] 📄 PDF
Std_ReturnType LinIf_CheckWakeup (EcuM_WakeupSourceType WakeupSource);
Will be called when the Ecu M has been notified about a wakeup on a specific LIN channel.
사용법 및 호출 컨텍스트
동기식 함수 LinIf_CheckWakeup은(는) 특정 LIN 채널의 웨이크업 이벤트에 대해 모듈 EcuM이(가) 통지를 받자마자 호출됩니다 [SWS_LinIf_00378]. 호출은 EcuM_WakeupSourceType 타입의 입력 매개변수 WakeupSource을(를) 사용하여 수행됩니다 [SWS_LinIf_00378]. 이 매개변수는 웨이크업 이벤트를 시작한 소스 장치를 지정하며, 이는 LIN 컨트롤러 또는 LIN 트랜시버일 수 있습니다 [SWS_LinIf_00378].
오류 처리 및 반환값
함수는 반환값으로 Std_ReturnType 타입의 상태를 반환합니다 [SWS_LinIf_00378]:
E_OK: 인터페이스 실행 중 오류가 발생하지 않았습니다 [SWS_LinIf_00378].E_NOT_OK: 인터페이스 실행 중 오류가 발생했거나WakeupSource에 유효하지 않은 값이 전달되었습니다 [SWS_LinIf_00378].
동시성 및 통합
이 인터페이스는 재진입 가능으로 명시되어 있고, 서비스 ID 0x60을(를) 가지며, 헤더 파일 LinIf.h을(를) 통해 제공됩니다 [SWS_LinIf_00378]. 이는 EcuM의 웨이크업 처리를 LIN 인터페이스의 채널에 직접 연결합니다 [SWS_LinIf_00378].
이 텍스트는 AUTOSAR CP R20-11 명세를 기반으로 AI에 의해 생성되었습니다.
함수 LinIf_EnableBusMirroring [SWS_LinIf_00876] 📄 PDF
Std_ReturnType LinIf_EnableBusMirroring (NetworkHandleType Channel, boolean MirroringActive);
Enables or disables mirroring for a LIN channel.
동기식 및 재진입 가능한 함수 LinIf_EnableBusMirroring은(는) 단일 LIN 채널에 대해 버스 미러링을 활성화하거나 비활성화합니다 [SWS_LinIf_00876]. 이는 헤더 LinIf.h을(를) 통해 사용할 수 있으며, 구성 매개변수 LinIfBusMirroringSupport을(를) 통해 버스 미러링이 활성화되지 않은 경우 생략될 수 있습니다 [SWS_LinIf_00875]. 호출자로는 일반적으로 미러 모듈이 동작할 것으로 추정됩니다. 질문 Q-1703af5207cb7ade (열림)
매개변수 Channel을(를) 통해 해당 LIN 채널이 전달되며, MirroringActive은(는) 모드를 제어합니다 [SWS_LinIf_00876]: TRUE 전달 시 미러링이 활성화되고, FALSE 전달 시 비활성화됩니다 [SWS_LinIf_00876]. 반환값으로 미러링 모드가 성공적으로 변경된 경우 함수는 E_OK을(를) 반환하거나, 유효하지 않은 채널이 지정되었거나 미러링이 전역적으로 비활성화된 경우 E_NOT_OK을(를) 반환합니다 [SWS_LinIf_00876]. 특정 DET 또는 DEM 오류 메시지는 함수 정의에 명시되어 있지 않습니다 [SWS_LinIf_00876].
버스 미러링이 LinIfBusMirroringSupported을(를) 통해 전역적으로 활성화되고 해당 채널에 대해서도 활성화된 경우, LIN 인터페이스는 관련 이벤트를 Mirror_ReportLinFrame(으)로 전달합니다:
- 상태
LIN_RX_OK및 페이로드 포인터 [SWS_LinIf_00838]와(과) 함께LinIf_RxIndication시 수신된 프레임, 그리고 Rx 슬롯에 대한 LIN 드라이버 상태 판독 시 [SWS_LinIf_00873]. - 상태
LIN_TX_OK및 전송된 데이터 포인터 [SWS_LinIf_00839]와(과) 함께LinIf_TxConfirmation시 송신된 프레임, 그리고 Tx 슬롯에 대한 LIN 드라이버 상태 판독 시 [SWS_LinIf_00874]. LIN_ERR_HEADER을(를) 제외한 모든 오류 코드에 대해 오류 상태 및 데이터 콘텐츠로서의 NULL 포인터와 함께LinIf_LinErrorIndication시의 오류 알림 [SWS_LinIf_00869].
이 사용 지침은 AUTOSAR Classic R20-11 사양을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_WakeupConfirmation [SWS_LinIf_00715] 📄 PDF
void LinIf_WakeupConfirmation (EcuM_WakeupSourceType WakeupSource);
The LIN Driver or LIN Transceiver Driver will call this function to report the wake up source after the successful wakeup detection during Check Wakeup or after power on by bus.
함수 LinIf_WakeupConfirmation은(는) 웨이크업 이벤트의 성공적인 감지를 LIN 인터페이스에 보고하는 데 사용됩니다 [SWS_LinIf_00715].
호출 및 매개변수
호출은 Check Wakeup 중 또는 버스를 통한 전원 켜기(power on by bus) 후 성공적인 웨이크업 감지가 발생한 후 LIN 드라이버(LIN Driver) 또는 LIN 트랜시버 드라이버(LIN Transceiver Driver)에 의해 수행됩니다 [SWS_LinIf_00715]. 전달 매개변수로 EcuM_WakeupSourceType 타입의 WakeupSource이(가) 전달되며, 이는 웨이크업 이벤트를 시작한 소스 장치(LIN 컨트롤러 또는 LIN 트랜시버)를 지정합니다 [SWS_LinIf_00715].
실행 속성 및 인터페이스
- 시맨틱: 호출은 동기식으로 처리됩니다 [SWS_LinIf_00715].
- 재진입성: 함수는 재진입 가능으로 명시되어 있습니다 [SWS_LinIf_00715].
- 반환값: 반환값이 없습니다(
void) [SWS_LinIf_00715]. - 헤더: 선언은
LinIf.h을(를) 통해 제공됩니다(서비스 ID:0x61) [SWS_LinIf_00715].
이 텍스트는 AUTOSAR 사양을 기반으로 AI에 의해 생성되었습니다.
함수 LinIf_HeaderIndication [SWS_LinIf_91004] 📄 PDF
Std_ReturnType LinIf_HeaderIndication (NetworkHandleType Channel, Lin_PduType* PduPtr);
The LIN Driver will call this function to report a received LIN header. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
콜백 함수 LinIf_HeaderIndication은 슬레이브 채널에서 LIN 헤더의 수신을 보고하기 위해 LIN 드라이버에 의해 동기적으로 호출됩니다 [SWS_LinIf_91004]. 이는 ECU에 구성된 LIN 슬레이브 채널이 하나 이상 있는 경우에만 제공됩니다 [SWS_LinIf_91004]. 이 함수는 서로 다른 채널에 대해 재진입 가능하지만, 동일한 채널에 대해서는 병행하여 호출되어서는 안 됩니다 [SWS_LinIf_91004].
Inout 매개변수 PduPtr을 통해 드라이버는 수신된 식별자(PID) 및 SDU 데이터 버퍼에 대한 포인터를 전달합니다 [SWS_LinIf_91004]. LinIf는 PID를 평가하고 슬레이브 노드의 응답을 제어합니다:
- 수신 프레임: PID가 구성된 수신 프레임에 속하는 경우, LinIf는 반환하기 전에 체크섬 유형
PduPtr->Cs, 데이터 길이PduPtr->Dl을 설정하고PduPtr->Drc에 값LIN_FRAMERESPONSE_RX을 할당합니다 [SWS_LinIf_00733]. - 전송 프레임: 전송 프레임인 경우, LinIf는
<User_TriggerTransmit>을 통해 페이로드를 요청합니다 [SWS_LinIf_00738]. 성공적으로 제공되면(반환값E_OK또는 노드 구성 핸들러 / 전송 프로토콜에 의한 SRF 데이터), 체크섬과 길이가 구성되고PduPtr->Drc이LIN_FRAMERESPONSE_TX로 설정됩니다 [SWS_LinIf_00739]. 조회가E_NOT_OK으로 실패하면PduPtr->Drc이LIN_FRAMERESPONSE_IGNORE로 설정됩니다 [SWS_LinIf_00740]. - 관련 없는 프레임: 프레임이 슬레이브와 관련이 없는 경우, LinIf는
PduPtr->Drc또한LIN_FRAMERESPONSE_IGNORE로 설정합니다 [SWS_LinIf_00748].
또한 각 호출은 실행 중인 버스 유휴 타이머(Bus-Idle-Timer)를 다시 로드합니다 [SWS_LinIf_00754]. 호출이 성공적인 LinIf_Wakeup 이후 처음으로 수행되는 경우, <User>_WakeupConfirmation(TRUE)가 트리거됩니다 [SWS_LinIf_00761]. SRF 헤더 수신 시 LinIf는 연속 프레임(CF)에 대한 N_As 타이머도 시작합니다 [SWS_LinIf_00800]. 반환값으로 E_OK는 요청 수락을 나타내며, E_NOT_OK은 개발 또는 생산 오류를 나타냅니다 [SWS_LinIf_91004].
이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 LinIf_RxIndication [SWS_LinIf_91005] 📄 PDF
void LinIf_RxIndication (NetworkHandleType Channel, uint8* Lin_SduPtr);
The LIN Driver will call this function to report a successfully received response and provides the reception data to the LIN Interface. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
콜백 함수 LinIf_RxIndication은 수신 데이터를 포함하여 응답(Response)의 성공적인 수신을 LIN 인터페이스에 알리기 위해 LIN 드라이버에 의해 동기적으로 호출됩니다 [SWS_LinIf_91005]. 이 함수는 하나 이상의 구성된 LIN 슬레이브 채널을 가진 ECU에서만 제공됩니다 [SWS_LinIf_91005].
매개변수화 및 동시성과 관련하여 다음 조건이 적용됩니다:
- 매개변수: 채널 식별
Channel및 섀도 버퍼 또는 LIN 하드웨어의 메모리 매핑된 수신 버퍼에 대한 포인터Lin_SduPtr이 전달됩니다 [SWS_LinIf_91005]. 이 포인터는 실제로 응답이 수신된 경우에만 유효합니다 [SWS_LinIf_91005]. - 반환값: 이 함수는 반환값이 없습니다(
void) [SWS_LinIf_91005]. - 재진입성: 인터페이스는 서로 다른 LIN 채널에 대해 재진입 가능하지만, 동일한 채널에 대해서는 재진입할 수 없습니다 [SWS_LinIf_91005].
모듈 동작과의 상호작용에서 이 호출은 여러 조정 작업을 트리거합니다:
<User_RxIndication>을 통해 수신된 페이로드 및 페이로드 길이를 상위 계층으로 전달 [SWS_LinIf_00734].- 슬립 명령 확인: NAD 0을 갖는 마스터 요청 프레임(MRF)인 경우, LIN 인터페이스는 Go-to-Sleep 명령을 인식하고 슬립 모드로의 전환을 시작합니다 [SWS_LinIf_00750].
- 타이머 제어: 각 호출 시 버스 유휴 타이머(Bus-Idle-Timer)가 다시 로드됩니다 [SWS_LinIf_00754]. 또한 호출은 MRF 프레임(FF, CF)에서 N_Cr 타이머를 제어합니다(FF 및 마지막 프레임 전의 CF에서 시작/재시작, 마지막 CF에서 중지) [SWS_LinIf_00805].
- 버스 미러링: 미러링이 전역적으로 그리고 해당 채널에 대해 활성화된 경우, LIN 인터페이스는 상태
LIN_RX_OK을 가진 프레임을Mirror_ReportLinFrame()을 통해 전달합니다 [SWS_LinIf_00838].
이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_TxConfirmation [SWS_LinIf_91006] 📄 PDF
void LinIf_TxConfirmation (NetworkHandleType Channel);
The LIN Driver will call this function to report a successfully transmitted response. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
동기 콜백 함수 LinIf_TxConfirmation(서비스 ID 0x7a, LinIf.h에 선언됨)은 지정된 채널에서 응답(Response)의 성공적인 전송을 확인하기 위해 LIN 드라이버에 의해 호출됩니다 [SWS_LinIf_91006]. 이 함수는 반환값이 없으며 구성된 LIN 슬레이브 채널이 하나 이상 있는 ECU 전용입니다 [SWS_LinIf_91006].
확인이 도착하면 LIN 인터페이스는 다음과 같은 몇 가지 후속 처리를 수행합니다:
- 상위 계층 알림: 모듈은 반환값
E_OK과 함께 콜백 함수<User_TxConfirmation>을 통해 전송 이벤트를 상위 계층으로 전달합니다 [SWS_LinIf_00741]. - 오류 상태: 성공적으로 전송된 프레임에 오류 신호
response_error이 포함되어 있는 경우, LIN 인터페이스는 이 신호를 재설정합니다 [SWS_LinIf_00747]. - 버스 유휴 모니터링:
LinIf_TxConfirmation을 호출할 때마다 채널의 실행 중인 버스 유휴 타이머(Bus-Idle-Timer)가 다시 로드됩니다 [SWS_LinIf_00754]. - 전송 프로토콜(LinTp): 드라이버가 SRF 헤더(Slave Response Frame)에 대한 응답을 확인하면, 인터페이스는 모니터링 타이머
N_As을 중지합니다 [SWS_LinIf_00800]. - 버스 미러링: 미러링이
LinIfBusMirroringSupported을 통해 전역적으로 구성되고LinIf_EnableBusMirroring()에 의해 활성화된 경우, 인터페이스는 상태LIN_TX_OK및 전송 데이터에 대한 포인터와 함께 프레임을Mirror_ReportLinFrame()에 보고합니다 [SWS_LinIf_00839].
동시성과 관련하여 LinIf_TxConfirmation은 서로 다른 LIN 채널에 대해 재진입 가능하도록 설계되었지만, 동일한 채널에 대해 재진입 가능하게 호출되어서는 안 됩니다 [SWS_LinIf_91006].
이 사용 지침은 AUTOSAR R20-11 사양을 바탕으로 자동 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I1)
함수 LinIf_LinErrorIndication [SWS_LinIf_91007] 📄 PDF
void LinIf_LinErrorIndication (NetworkHandleType Channel, Lin_SlaveErrorType ErrorStatus);
The LIN Driver will call this function to report a detected error event during header or response processing. This function is only applicable for LIN slave nodes (available only if the ECU has any LIN slave channel).
사용법 및 호출 컨텍스트
동기 함수 LinIf_LinErrorIndication은 헤더 또는 응답 처리 중 발생한 오류를 보고하기 위해 LIN 드라이버에 의해 호출됩니다 [SWS_LinIf_91007]. 이 함수는 LIN 슬레이브 노드 전용이며, ECU에 하나 이상의 구성된 LIN 슬레이브 채널이 있어야 합니다 [SWS_LinIf_91007]. 매개변수로 채널 식별 Channel 및 Lin_SlaveErrorType 유형의 발생한 오류 상태 ErrorStatus가 전달됩니다 [SWS_LinIf_91007].
오류 처리 및 동시성
이 함수는 서로 다른 채널에 대해 재진입 가능(reentrant)하지만, 동일한 채널에 대해서는 동시에 호출되어서는 안 됩니다 [SWS_LinIf_91007]. 호출 시 LIN 인터페이스는 응답 또는 전송된 프레임이 손실된 것으로 간주하고, 보고된 오류 상태가 LIN_ERR_HEADER가 아닌 한 런타임 오류 LINIF_E_RESPONSE을 Default Error Tracer(DET)에 보고합니다 [SWS_LinIf_00735], [SWS_LinIf_00743].
상호작용 및 버스 모니터링
전달된 오류 코드와 관계없이 LIN 인터페이스는 LinIf_LinErrorIndication이 호출될 때마다 실행 중인 버스 유휴 타이머(Bus-Idle-Timer)를 다시 로드합니다 [SWS_LinIf_00754]. SRF 헤더를 수신한 후 SRF 응답에서 오류가 발생하면, LIN 인터페이스는 전송을 중단하고 PduR_LinTpTxConfirmation를 통해 결과 E_NOT_OK과 함께 이를 상위 계층에 보고합니다 [SWS_LinIf_00796].
LinIfBusMirroringSupported을 통한 버스 미러링이 전역적으로 활성화되어 있고 해당 채널에 대해 켜져 있는 경우, LIN 인터페이스는 데이터 내용에 대한 NULL 포인터와 함께 Mirror_ReportLinFrame()를 통해 LIN_ERR_HEADER이 아닌 오류를 전달합니다 [SWS_LinIf_00869]. 이때 드라이버 오류 코드는 사전에 Lin_StatusType 유형의 해당 상태 값으로 변환됩니다 [SWS_LinIf_00870].
이 사용 지침은 AUTOSAR Classic R20-11 사양을 기반으로 자동으로 생성되었습니다.
구현자 가이드 준비 중 (복잡도 I2)
함수 <User_TriggerTransmit> [SWS_LinIf_00528] 📄 PDF
Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without ch anging Pdu Info Ptr.
구성 가능한 인터페이스 <User_TriggerTransmit>은(는) 대기 중인 전송을 위해 상위 모듈에서 SDU 데이터를 동기식으로 가져오는 데 사용됩니다 [SWS_LinIf_00528].
매개변수 TxPduId을(를) 통해 요청된 SDU가 식별되며, PduInfoPtr은(는) 대상 버퍼(SduDataPtr) 및 사용 가능한 버퍼 크기(SduLength)가 포함된 구조체에 대한 포인터로 전달됩니다 [SWS_LinIf_00528]. 호출된 상위 모듈은 이 API 내에서 준비된 데이터가 보고된 버퍼 크기에 맞는지 확인합니다 [SWS_LinIf_00528]. 충분한 공간이 있는 경우, 모듈은 데이터를 SduDataPtr(으)로 복사하고, 실제로 복사된 바이트 수로 SduLength을(를) 업데이트하며, 반환값 E_OK(으)로 성공을 알립니다 [SWS_LinIf_00528].
반면 버퍼 크기가 충분하지 않은 경우, SDU 데이터는 복사되지 않으며 모듈은 PduInfoPtr을(를) 변경하지 않고 E_NOT_OK을(를) 반환합니다 [SWS_LinIf_00528]. E_NOT_OK의 반환값이 발생한 경우, 호출자는 유효하지 않은 데이터를 가리키거나 NULL 포인터일 수 있으므로 PduInfoPtr을(를) 절대로 사용해서는 안 됩니다 [SWS_LinIf_00528].
동시성과 관련하여, 이 함수는 서로 다른 PDU ID에 대해서는 재진입 가능하지만 동일한 PDU ID에 대해서는 재진입 불가합니다 [SWS_LinIf_00528].
이 사용 지침은 AUTOSAR 명세 SWS_LinIf_00528을 기반으로 합니다.
함수 <User_TxConfirmation> [SWS_LinIf_00529] 📄 PDF
void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);
The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.
구성 가능한 콜백 함수 <User_TxConfirmation>은(는) 상위 계층에 PDU 전송 또는 전송 실패를 확인하기 위해 하위 통신 인터페이스 모듈에 의해 호출됩니다 [SWS_LinIf_00529]. 호출은 동기식으로 수행되며 반환값을 반환하지 않습니다 [SWS_LinIf_00529].
매개변수 및 시맨틱
TxPduId(In):PduIdType타입의 전송된 PDU 식별자를 나타냅니다 [SWS_LinIf_00529].result(In): 전송의 성공 상태를Std_ReturnType(으)로 보고하며, 성공적인 PDU 전송 시E_OK값을, 실패한 전송 시E_NOT_OK값을 가집니다 [SWS_LinIf_00529].
동시성 및 오류 처리
재진입성과 관련하여 이 함수는 서로 다른 PDU ID에 대해 재진입 가능하도록 설계되었지만, 동일한 PDU ID에 대해서는 재진입 가능하게 호출되어서는 안 됩니다 [SWS_LinIf_00529]. 모듈은 이 인터페이스에 대해 별도의 오류 코드나 DET 또는 DEM 메시지를 지정하지 않으며, 전송 실패는 대신 매개변수 값 E_NOT_OK을(를) 통해 표시됩니다 [SWS_LinIf_00529]. 서비스가 구성 가능한 것으로 지정되어 있으므로, 실제 함수 식별자는 구성된 사용자 계층에 따라 통합 시 특정하게 결정될 것으로 추정됩니다 [SWS_LinIf_00529]. 질문 Q-35de931161f26cb8 (열림)
이 텍스트는 사양을 기반으로 AI에 의해 생성되었습니다.
함수 <User_RxIndication> [SWS_LinIf_00530] 📄 PDF
void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
콜백 함수 <User_RxIndication>은(는) 하위 통신 인터페이스 모듈에서 상위 계층으로 수신된 PDU를 알리는 데 사용됩니다 [SWS_LinIf_00530]. 호출은 동기식 시맨틱으로 수행되며 반환값이 없습니다 [SWS_LinIf_00530].
매개변수 및 인터페이스 사양
이 함수는 두 개의 입력 매개변수를 상위 레이어에 전달합니다 [SWS_LinIf_00530]:
RxPduId:PduIdType타입의 수신된 PDU 식별자 [SWS_LinIf_00530].PduInfoPtr: 페이로드 길이(SduLength), 페이로드가 포함된 버퍼에 대한 포인터(SduDataPtr) 및 PDU에 대한 관련 메타데이터를 제공하는PduInfoType타입 구조체에 대한 포인터 [SWS_LinIf_00530].
이 인터페이스에는 입출력 매개변수나 순수 출력 매개변수가 모두 제공되지 않습니다 [SWS_LinIf_00530].
동시성 및 구성
재진입성과 관련하여 이 함수는 서로 다른 PDU ID에 대해서는 재진입 가능하도록 설계되었지만, 동일한 PDU ID에 대해서는 명시적으로 재진입 불가로 지정되어 있습니다 [SWS_LinIf_00530]. 따라서 호출자는 동일한 RxPduId에 대해 중첩 호출이 발생하지 않도록 해야 합니다. 이 함수는 구성 가능한 인터페이스로 선언되어 있으므로 [SWS_LinIf_00530], 상위 계층의 구체적인 함수 이름은 모듈 구성을 통해 결정될 것으로 추정됩니다. 질문 Q-94175e8cd86775b6 (열림)
이 사용 지침은 명세 SWS_LinIf_00530을 기반으로 자동 생성되었습니다.
함수 <User_ResponseErrorSignalChanged> [SWS_LinIf_00856] 📄 PDF
void <User_ResponseErrorSignalChanged> (NetworkHandleType Channel, boolean RespErrSigValue);
Notifies the change of the response error signal with the new value. Only applicable for LIN slave nodes. AUTOSAR CP R20 - of Document ID : AUTOSAR_ SWS_ LINInterface
인터페이스 <User_ResponseErrorSignalChanged>은 LinIf 모듈에서 Response-Error 신호의 값 변경을 새 신호 값과 함께 보고하는 알림 함수 역할을 합니다 [SWS_LinIf_00856]. 호출은 동기식으로 수행되며 서비스 ID 0x74를 갖습니다 [SWS_LinIf_00856]. 입출력 매개변수나 반환값은 제공되지 않으며 시그니처는 반환 타입 void로 정의됩니다 [SWS_LinIf_00856].
전달 매개변수로 함수는 순수 입력값 두 개를 필요로 합니다 [SWS_LinIf_00856]:
Channel(NetworkHandleType타입): 해당 LIN 채널의 고유 식별자 [SWS_LinIf_00856].RespErrSigValue(boolean타입): Response-Error 신호의 현재 값입니다. 이 매개변수는 신호가 1로 설정된 경우true이고 그렇지 않으면false입니다 [SWS_LinIf_00856].
동시성 및 호출 컨텍스트와 관련하여, 이 함수는 서로 다른 채널에 대해 재진입 가능하지만 동일한 채널에 대해서는 재진입 가능하게 호출되어서는 안 된다고 명시되어 있습니다 [SWS_LinIf_00856]. 기능적 제약 사항 중 하나는 이 알림 서비스가 LIN 슬레이브 노드에만 적용 가능하다는 점입니다 [SWS_LinIf_00856]. 선언은 헤더 파일 LinIf_Externals.h를 통해 제공됩니다 [SWS_LinIf_00856].
이 텍스트는 AUTOSAR R20-11 사양을 기반으로 AI에 의해 생성되었습니다.
함수 <User_SaveConfigurationRequest> [SWS_LinIf_00857] 📄 PDF
boolean <User_SaveConfigurationRequest> (NetworkHandleType Channel);
Notifies the reception of a Save Configuration request. Only applicable for LIN slave nodes.
콜백 함수 <User_SaveConfigurationRequest>(서비스 ID 0x75)은 상위 계층에 'Save Configuration' 요청의 수신을 알리며 LinIf_Externals.h에 선언되어 있습니다 [SWS_LinIf_00857]. 이 인터페이스는 LIN 슬레이브 노드에만 적용 가능합니다 [SWS_LinIf_00857].
호출은 동기식으로 수행되며 재진입 가능으로 명시되어 있습니다 [SWS_LinIf_00857]:
- 매개변수:
NetworkHandleType타입의 입력 매개변수Channel을(를) 통해 해당 LIN 채널이 전달됩니다 [SWS_LinIf_00857]. 추가 입력 또는 출력 매개변수는 존재하지 않습니다 [SWS_LinIf_00857]. - 반환값: 함수는
boolean타입의 값을 반환합니다 [SWS_LinIf_00857]. 반환값TRUE은(는) 긍정 응답이 LIN 버스로 전송되어야 함을 나타내는 반면,FALSE은(는) 어떠한 응답의 전송도 금지합니다 [SWS_LinIf_00857].
오류 처리와 관련하여 명세는 특정 오류 코드나 DET 또는 DEM 메시지를 정의하지 않습니다 [SWS_LinIf_00857]. 오류 또는 거부 시의 동작은 FALSE에 의해 응답 전송을 방지함으로써 부울 반환값을 통해 직접 제어됩니다 [SWS_LinIf_00857]. 호출이 재진입 가능으로 분류되어 있으므로, 이 함수는 서로 다른 채널에서의 동시 호출을 위해 설계되었을 것으로 추정됩니다 [SWS_LinIf_00857]. 질문 Q-84432030c1aff644 (열림)
이 텍스트는 AUTOSAR R20-11 명세를 기반으로 AI에 의해 생성되었습니다.
타입 LinIf_SchHandleType [SWS_LinIf_00197] 📄 PDF
Index of the schedule table that is selectable and followed by LIN Interface. Value is unique per LIN c hannel/ controller, but not per ECU. The number of schedule tables is limited to 255
타입 LinIf_ConfigType [SWS_LinIf_00668] 📄 PDF
A pointer to an instance of this structure will be used in the initialization of the LIN Interface. The outline of the structure is defined in chapter 10 Configuration Specification.
타입 LinTp_ConfigType [SWS_LinIf_00426] 📄 PDF
This is the base type for the configuration of the LIN Transport Protocol A pointer to an instance of this structure will be used in the initialization of the LIN Transport Protocol. The outline of the structure is defined in chapter 10 Configuration Specification
타입 LinTp_Mode [SWS_LinIf_00629] 📄 PDF
This type denotes which Schedule table can be requested by LIN TP during diagnostic session
열거형 LinTp_Mode은 헤더 파일 LinIf.h에 정의되어 있으며, 진단 세션 동안 LIN 전송 프로토콜(LIN TP)에 의해 어떤 스케줄 테이블 모드가 요청될 수 있는지 정의합니다 [SWS_LinIf_00629].
값 범위에는 LIN 버스에서의 스케줄 전환을 제어하기 위한 세 가지 열거형 리터럴이 포함됩니다 [SWS_LinIf_00629]:
LINTP_APPLICATIVE_SCHEDULE: 정기 메시지 통신을 위한 애플리케이션 스케줄 테이블을 선택합니다 [SWS_LinIf_00629].LINTP_DIAG_REQUEST: 진단 요청 전송을 위한 마스터 요청 스케줄 테이블을 선택합니다 [SWS_LinIf_00629].LINTP_DIAG_RESPONSE: 진단 응답 수신을 위한 슬레이브 응답 스케줄 테이블을 선택합니다 [SWS_LinIf_00629].
상호작용과 관련하여 이 유형은 LIN 인터페이스 내에서 진단 전송과 일반 애플리케이션 통신 간의 전환에 사용됩니다 [SWS_LinIf_00629]. 특정 호출 컨텍스트, 재진입 특성 또는 오류 처리(예: DET 또는 DEM 메시지)는 순수 데이터 유형인 이 유형에 대해 출처에 명시되어 있지 않습니다. 추정컨대 이 유형은 LIN 전송 프로토콜에 의해 LIN 인터페이스로 전달되는 제어 호출 시 함수 매개변수로 전달됩니다. 질문 Q-1bf7553401882471 (열림)
이 텍스트는 AI에 의해 작성되었으며, 전적으로 AUTOSAR 릴리스 R20-11 사양을 기반으로 합니다.
구현자 가이드 준비 중 (복잡도 I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_LinIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_LinIf@rel:R20-11#ab0baf88- Content hash
ab0baf88- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINInterface.pdf#nameddest=SWS_LinIf_00198
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문