DEENESPTFRRUARHIKOZHNL

CAN Transport Layer (CanTp)

ModulCanTp (CAN Transport Layer)
BSW-Modul-ID35
Standard-Header#include "CanTp.h"
SWS-SpezifikationAUTOSAR_SWS_CANTransportLayer.pdf
ClusterCAN

मॉड्यूल गाइडएआई जनित

लंबे संदेशों को CAN फ़्रेमों में विभाजित करता है और प्रवाह नियंत्रण के साथ प्राप्त खंडों को पुनः संयोजित करता है।
एआई-जनित असत्यापित मॉडल: claude-opus-5-5 · प्रयास: high · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 69cea53d1819 उद्गम खुले प्रश्न (1)
कारणात्मक एंकर: R20-11 R20-11 से मान्य इस विनिर्देश संस्करण के लिए नए सिरे से संश्लेषित।
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

लंबे संदेशों को CAN फ़्रेमों में विभाजित करता है और प्रवाह नियंत्रण के साथ प्राप्त खंडों को पुनः संयोजित करता है।

CAN Transport Layer उन संदेशों को विखंडित करता है जो एकल CAN-Frame में फ़िट नहीं होते, Flow Control के माध्यम से डेटा प्रवाह को नियंत्रित करता है और ISO 15765-2 के अनुसार प्राप्त सेगमेंट्स को पुनर्गठित करता है [SWS_CanTp_00033]। यह PduR और CanIf के बीच स्थित होता है, इसका अपना कोई पेलोड बफ़र नहीं होता है और यह ऊपरी लेयर की Copy-सेवाओं के माध्यम से ट्रांसमिशन और रिसेप्शन डेटा को सेगमेंट-दर-सेगमेंट कॉपी करता है [SWS_CanTp_00298]। यह प्रत्येक स्वीकृत ट्रांसमिशन को ऊपरी लेयर को एक संदेश भेजकर समाप्त करता है, सफल होने पर E_OK के साथ, टाइमआउट या निरस्तीकरण पर E_NOT_OK के साथ। यह सब CanTp_Init की पूर्व-अपेक्षा रखता है; टाइमआउट्स की निगरानी चक्रीय MainFunction करती है।

CanTp CAN Transport Layer है। यह लंबे संदेशों को CAN-Frames में विखंडित करता है, डेटा प्रवाह को नियंत्रित करता है और प्राप्त सेगमेंट्स को पुनर्गठित करता है; इस प्रक्रिया में यह ISO 15765-2 का पालन करता है, जब तक कि विनिर्देश अन्यथा निर्धारित न करे [SWS_CanTp_00033]। यह मॉड्यूल PduR और CanIf के बीच स्थित होता है और इसका अपना कोई पेलोड बफ़र नहीं होता है। डेटा को यह ऊपरी लेयर की Copy-सेवाओं के माध्यम से सेगमेंट-दर-सेगमेंट कॉपी करता है [SWS_CanTp_00298] [SWS_CanTp_00216]।

kontext Nutzer DCM / Com (TP-Nutzer) PduR PduR Nutzer->PduR TP-Dienste CanTp CanTp PduR->CanTp CanTp_Transmit CanTp_CancelTransmit / CanTp_CancelReceive CanTp_ChangeParameter / CanTp_ReadParameter CanTp->PduR PduR_CanTpStartOfReception PduR_CanTpCopyRxData / PduR_CanTpCopyTxData PduR_CanTpRxIndication / PduR_CanTpTxConfirmation CanIf CanIf CanTp->CanIf CanIf_Transmit (SF, FF, CF, FC) Det DET CanTp->Det Det_ReportError Det_ReportRuntimeError CanIf->CanTp CanTp_RxIndication CanTp_TxConfirmation BswM BswM (Modusmanagement) BswM->CanTp CanTp_Init / CanTp_Shutdown Sched Schedule Manager (zyklischer Task) Sched->CanTp CanTp_MainFunction

संदर्भ आरेख: CanTp के PduR, CanIf, मोड प्रबंधन, शेड्यूलर और DET के साथ इंटरफ़ेस। स्रोत: [SWS_CanTp_00216], SWS CanTp पृ. 17

पावर ऑन होने के बाद CanTp CANTP_OFF में होता है [SWS_CanTp_00168]। CanTp_ConfigType के साथ CanTp_Init [SWS_CanTp_00208] सभी कनेक्शनों को निष्क्रिय स्थिति [SWS_CanTp_00030] में रीसेट करता है; इसके बाद CANTP_ON [SWS_CanTp_00170] लागू होता है। CanTp_Shutdown किसी को भी सूचित किए बिना सभी कनेक्शन बंद कर देता है [SWS_CanTp_00202] [SWS_CanTp_00200]। कनेक्शन चैनल अपने स्वयं के टाइमर के साथ एक दूसरे से स्वतंत्र रूप से काम करते हैं [SWS_CanTp_00122]। यदि कोई ट्रांसमिशन चैनल व्यस्त है, तो CanTp नए अनुरोधों को E_NOT_OK के साथ अस्वीकार कर देता है [SWS_CanTp_00123]।

ट्रांसमिट करते समय CanTp_Transmit केवल लंबाई (और यदि लागू हो तो MetaData) का मूल्यांकन करता है [SWS_CanTp_00225]। लंबाई के आधार पर एक SF या एक सेगमेंटेड सत्र का अनुसरण होता है [SWS_CanTp_00232]। प्रत्येक सेगमेंट के लिए CanTp PduR_CanTpCopyTxData [SWS_CanTp_00086] के साथ डेटा प्राप्त करता है और FF तथा N_Bs के अंतर्गत प्रत्येक ब्लॉक के बाद Flow Control की प्रतीक्षा करता है [SWS_CanTp_00315]। व्याख्या: कॉल केवल स्वीकृति की रिपोर्ट करता है; स्थानांतरण की समाप्ति PduR_CanTpTxConfirmation [SWS_CanTp_00176] [SWS_CanTp_00204] के माध्यम से अतुल्यकालिक रूप से आती है। प्रश्न (खुला)

प्राप्त करते समय CanTp सबसे पहले PduR_CanTpStartOfReception के साथ एक बफ़र का अनुरोध करता है [SWS_CanTp_00079]। उसके बाद यह PduR_CanTpCopyRxData [SWS_CanTp_00269] के साथ प्रत्येक CF को कॉपी करता है। यदि बफ़र कम है, तो CanTp प्रत्येक MainFunction में इसे फिर से क्वेरी करता है और अधिकतम WFTmax FC(WAIT) भेजता है [SWS_CanTp_00222] [SWS_CanTp_00223]। अंत में PduR_CanTpRxIndication [SWS_CanTp_00084] होता है। टाइमआउट्स की निगरानी चक्रीय CanTp_MainFunction [SWS_CanTp_00164] करती है।

N-SDU का सेगमेंटेड रिसेप्शनCanIfCanTpPduRUse Case: First FrameCanTp_RxIndication(FF)N_Br gestartetPduR_CanTpStartOfReception(TpSduLength)BUFREQ_OK, उपलब्ध बफ़र आकारPduR_CanTpCopyRxData(FF-Daten)CanIf_Transmit(FC: CTS, BS, STmin)loopप्रति ब्लॉक एक CFCanTp_RxIndication(CF)PduR_CanTpCopyRxData(6/7 Byte)BUFREQ_OK, Restpufferaltशेष बफ़र अगले ब्लॉक के लिए पर्याप्त नहीं हैN_Br चल रहा हैCanTp_MainFunctionPduR_CanTpCopyRxData(लंबाई 0, NULL_PTR)BUFREQ_OK, RestpufferCanIf_Transmit(FC: WAIT)अधिकतम WFTmax बारPuffer ausreichendCanIf_Transmit(FC: CTS)Use Case: Letzter Consecutive FrameCanTp_RxIndication(letzter CF)PduR_CanTpCopyRxData()PduR_CanTpRxIndication(E_OK)

अनुक्रम आरेख: बफ़र नेगोशिएशन और Flow Control CTS/WAIT के साथ सेगमेंटेड रिसेप्शन। स्रोत: [SWS_CanTp_00269], [SWS_CanTp_00222], SWS CanTp पृ. 38

CanTp त्रुटियों को तीन तरीकों से संभालता है। यह डेवलपमेंट त्रुटियों की रिपोर्ट DET को करता है और E_NOT_OK [SWS_CanTp_00294] लौटाता है। प्रोटोकॉल त्रुटियाँ जैसे कि टाइमआउट सत्र को निरस्त कर देती हैं और E_NOT_OK के साथ PduR [SWS_CanTp_00205] [SWS_CanTp_00311] को जाती हैं। यही बात Cancel-सेवाओं [SWS_CanTp_00255] [SWS_CanTp_00263] के माध्यम से अनुरोध पर किए गए निरस्तीकरण पर लागू होती है। Cancel-सेवाओं में अमान्य ID के लिए R20-11 CANTP_E_PARAM_ID [SWS_CanTp_00254] की अपेक्षा करता है, जबकि नए रिलीज़ अन्य कोड निर्दिष्ट करते हैं।

CAN-स्टैक में भूमिका: PduR और CanIf के बीच ट्रांसपोर्ट प्रोटोकॉल

CanTp CAN Transport Layer है। यह उन संदेशों को सेगमेंट्स में विखंडित करता है जो एकल CAN-Frame में फ़िट नहीं होते, डेटा प्रवाह को नियंत्रित करता है और प्राप्त सेगमेंट्स को पुनर्गठित करता है (SWS CanTp पृ. 24, SWS CanTp पृ. 17)। इसका आधार ISO 15765-2 है: इस मानक की प्रत्येक अनुशंसा तब तक लागू होती है जब तक विनिर्देश इसे स्पष्ट रूप से बाहर न करे [SWS_CanTp_00033]। CanTp केवल CANTP_ON स्थिति [SWS_CanTp_00238] में सेगमेंटेशन और रीअसेम्बली निष्पादित करता है।

ऊपर की दिशा में CanTp PduR को निम्नलिखित सेवाएँ प्रदान करता है: CanTp_Transmit [SWS_CanTp_00212], CanTp_CancelTransmit [SWS_CanTp_00246] और CanTp_CancelReceive [SWS_CanTp_00257]। CanTp स्वयं ऊपर की ओर PduR_CanTpStartOfReception, PduR_CanTpCopyRxData, PduR_CanTpCopyTxData, PduR_CanTpRxIndication और PduR_CanTpTxConfirmation को कॉल करता है, नीचे की ओर CanIf_Transmit [SWS_CanTp_00216] को कॉल करता है। निचली लेयर प्राप्त फ़्रेमों की रिपोर्ट CanTp_RxIndication [SWS_CanTp_00078] के माध्यम से और ट्रांसमिट पुष्टियों की रिपोर्ट CanTp_TxConfirmation [SWS_CanTp_00076] के माध्यम से करती है। दोनों फ़ंक्शंस इंटरप्ट संदर्भ में कॉल करने योग्य होने चाहिए [SWS_CanTp_00235] [SWS_CanTp_00236]। नए दस्तावेज़ संदर्भ कॉलर के रूप में L-SDU Router (LSduR) का उल्लेख करते हैं (SWS CanTp पृ. 27)। इसके विपरीत, R20-11 की आवश्यकताएँ CAN Interface की बात करती हैं, जैसे कि [SWS_CanTp_00031] और [SWS_CanTp_00335]।

CanTp का अपना कोई पेलोड बफ़र नहीं होता है। यह ट्रांसमिशन डेटा सीधे ऊपरी लेयर से प्राप्त करता है [SWS_CanTp_00298], और प्राप्त डेटा को सीधे उसकी मेमोरी में कॉपी करता है (SWS CanTp पृ. 35)। इससे ऊपरी लेयर के लिए ब्लॉकिंग अवधियाँ उत्पन्न होती हैं (SWS CanTp पृ. 35):

  • जैसे ही CanTp_Transmit E_OK के साथ लौटता है, यह ट्रांसमिशन बफ़र को तब तक लॉक रखता है जब तक कि PduR_CanTpTxConfirmation प्राप्त नहीं हो जाता।
  • जैसे ही इसने PduR_CanTpStartOfReception पर BUFREQ_OK प्रदान किया है, यह रिसेप्शन बफ़र को तब तक लॉक रखता है जब तक कि PduR_CanTpRxIndication प्राप्त नहीं हो जाता।
kontext Nutzer DCM / Com (TP-Nutzer) PduR PduR Nutzer->PduR TP-Dienste CanTp CanTp PduR->CanTp CanTp_Transmit CanTp_CancelTransmit / CanTp_CancelReceive CanTp_ChangeParameter / CanTp_ReadParameter CanTp->PduR PduR_CanTpStartOfReception PduR_CanTpCopyRxData / PduR_CanTpCopyTxData PduR_CanTpRxIndication / PduR_CanTpTxConfirmation CanIf CanIf CanTp->CanIf CanIf_Transmit (SF, FF, CF, FC) Det DET CanTp->Det Det_ReportError Det_ReportRuntimeError CanIf->CanTp CanTp_RxIndication CanTp_TxConfirmation BswM BswM (Modusmanagement) BswM->CanTp CanTp_Init / CanTp_Shutdown Sched Schedule Manager (zyklischer Task) Sched->CanTp CanTp_MainFunction

संदर्भ आरेख: CanTp PduR और CanIf के बीच स्थित होता है। इसे मोड प्रबंधन द्वारा प्रारंभ किया जाता है, शेड्यूलर द्वारा चक्रीय रूप से ट्रिगर किया जाता है और यह DET को त्रुटियों की रिपोर्ट करता है। स्रोत: [SWS_CanTp_00216], [SWS_CanTp_00217], [SWS_CanTp_00164], SWS CanTp पृ. 17, Mode Management Guide पृ. 54

जीवनचक्र: CANTP_OFF, CanTp_Init और स्वतंत्र कनेक्शन चैनल

CanTp CANTP_OFF और CANTP_ON स्थितियों को पहचानता है [SWS_CanTp_00027]। पावर ऑन होने के बाद मॉड्यूल CANTP_OFF [SWS_CanTp_00168] में होता है; केवल वहीं पोस्ट-बिल्ड कॉन्फ़िगरेशन को अपडेट किया जा सकता है [SWS_CanTp_00169]।

CanTp_Init को CanTp_ConfigType [SWS_CanTp_00208] [SWS_CanTp_00340] का एक सूचक प्राप्त होता है। यह फ़ंक्शन सभी वैश्विक चरों को प्रारंभ करता है और प्रत्येक कनेक्शन को निष्क्रिय स्थिति CANTP_RX_WAIT या CANTP_TX_WAIT [SWS_CanTp_00030] में सेट करता है; इसके बाद CANTP_ON [SWS_CanTp_00170] लागू होता है। परिवेश को किसी भी अन्य उपयोग से पहले CanTp_Init को कॉल करना होगा [SWS_CanTp_00199]। मोड प्रबंधन गाइड में, यह कार्य NvM_ReadAll के बाद एक BswM नियम संभालता है (Mode Management Guide पृ. 54)। CANTP_ON में एक पुनरावर्ती कॉल सभी चल रहे कनेक्शनों को छोड़ देता है और निष्क्रिय स्थिति में वापस ले जाता है [SWS_CanTp_00273] [SWS_CanTp_00111]।

CanTp_Shutdown सभी खुले कनेक्शनों को बंद करता है, संसाधनों को मुक्त करता है और CANTP_OFF [SWS_CanTp_00202] सेट करता है। इस प्रक्रिया में CanTp निरस्त किए गए ट्रांसमिशन के बारे में किसी को भी सूचित नहीं करता है [SWS_CanTp_00200] (SWS CanTp पृ. 58)।

CANTP_ON में कई कनेक्शन एक साथ चलते हैं [SWS_CanTp_00096]:

  • प्रत्येक N-SDU सांख्यिकीय रूप से एक कनेक्शन चैनल को असाइन किया गया है। प्रत्येक चैनल के अपने टाइमर, बफ़र और अपनी स्थिति मशीन होती है [SWS_CanTp_00121] [SWS_CanTp_00122]।
  • चैनल केवल आंतरिक रूप से दिखाई देते हैं [SWS_CanTp_00285]। उनकी संख्या कॉन्फ़िगरेशन टूल निर्धारित करता है [SWS_CanTp_00289]।
  • यदि कोई ट्रांसमिशन चैनल CANTP_TX_PROCESSING में है, तो CanTp CanTp_Transmit के माध्यम से नए अनुरोधों को E_NOT_OK के साथ अस्वीकार कर देता है [SWS_CanTp_00123]। यही बात उस N-SDU पर लागू होती है जो पहले से ही किसी चल रहे सत्र में शामिल है [SWS_CanTp_00206]।
  • यदि एकाधिक N-SDU एक चैनल साझा करते हैं और कोई मुफ़्त चैनल उपलब्ध नहीं है, तो CanTp ट्रांसमिशन को अस्वीकार कर देता है या रिसेप्शन को निरस्त कर देता है [SWS_CanTp_00288] (SWS CanTp पृ. 42)।
lebenszyklus cluster_on CANTP_ON cluster_rx Rx-Verbindungskanal cluster_tx Tx-Verbindungskanal PowerUp Einschalten OFF CANTP_OFF (पोस्ट-बिल्ड कॉन्फ़िगरेशन परिवर्तनीय) PowerUp->OFF RXW CANTP_RX_WAIT OFF->RXW CanTp_Init (erfolgreich) TXW CANTP_TX_WAIT OFF->TXW CanTp_Init (erfolgreich) RXP CANTP_RX_PROCESSING RXW->RXP SF/FF empfangen RXP->RXW कोई अन्य N-PDU अपेक्षित नहीं या निरस्तीकरण TXP CANTP_TX_PROCESSING TXW->TXP CanTp_Transmit = E_OK TXP->OFF CanTp_Shutdown (बिना नोटिफ़िकेशन के) TXP->TXW ट्रांसमिशन समाप्त या निरस्तीकरण

स्थिति आरेख: CanTp_Init के बाद, रिसेप्शन और ट्रांसमिशन चैनल एक दूसरे से स्वतंत्र रूप से WAIT और PROCESSING के बीच स्विच करते हैं; CanTp_Shutdown वापस CANTP_OFF की ओर ले जाता है। स्रोत: [SWS_CanTp_00027], [SWS_CanTp_00030], [SWS_CanTp_00170], [SWS_CanTp_00202], SWS CanTp पृ. 27

ट्रांसमिशन: CanTp_Transmit से पावती तक

CanTp_Transmit TxPduId और PduInfoPtr प्राप्त करता है [SWS_CanTp_00212]। MetaData के बिना, CanTp केवल कुल लंबाई SduLength का मूल्यांकन करता है और डेटा बफ़र तक नहीं पहुँचता [SWS_CanTp_00225] [SWS_CanTp_00299]। MetaData के साथ, यह अतिरिक्त रूप से सभी SF, FF और CF [SWS_CanTp_00334] के लिए एड्रेस जानकारी संग्रहीत करता है। यदि डेटा N-PDU में फ़िट हो जाता है, तो CanTp एक SF भेजता है, अन्यथा यह एक मल्टी-फ़्रेम सत्र खोलता है [SWS_CanTp_00232] (SWS CanTp पृ. 60)। अधिकतम ट्रांसमिशन लंबाई (TX_DL) EcuC [SWS_CanTp_00354] में PduLength से प्राप्त होती है। व्याख्या: कॉल केवल तुल्यकालिक रूप से रिपोर्ट करता है कि क्या अनुरोध स्वीकार कर लिया गया है; वास्तविक स्थानांतरण अतुल्यकालिक रूप से चलता है [SWS_CanTp_00176]। प्रश्न Q-b6d13590324e2906 (खुला) स्वीकृति के बाद CanTp प्रत्येक स्थिति में PduR_CanTpTxConfirmation [SWS_CanTp_00177] [SWS_CanTp_00204] के माध्यम से अंत की रिपोर्ट करता है।

प्रत्येक सेगमेंट (SF, FF, CF) के लिए CanTp PduR_CanTpCopyTxData को कॉल करता है [SWS_CanTp_00086]; पहली कॉल तक टाइमर N_Cs चलता है [SWS_CanTp_00167]। यदि ऊपरी लेयर BUFREQ_E_BUSY लौटाती है, तो CanTp बाद में फिर से प्रयास करता है [SWS_CanTp_00184]। CanTp रिट्री पैरामीटर को हमेशा NULL पर सेट करता है, क्योंकि ISO 15765-2 पुनरावृत्ति का समर्थन नहीं करता है [SWS_CanTp_00272]।

FF के बाद और प्रत्येक ब्लॉक के अंतिम CF के बाद CanTp N_Bs के अंतर्गत एक Flow Control फ़्रेम की प्रतीक्षा करता है [SWS_CanTp_00315]। इसके साथ रिसीवर आगे के CFs को साफ़ करता है या उन्हें विलंबित करता है [SWS_CanTp_00282]। यदि सत्र सफलतापूर्वक पूरा हो जाता है, तो E_OK [SWS_CanTp_00090] के साथ PduR_CanTpTxConfirmation आता है। यही पुल अनुक्रम 50-बाइट उदाहरण (SWS CanTp पृ. 37) और DCM से CanTp के पथ (SWS PduR पृ. 104) द्वारा दिखाया गया है।

N-SDU का सेगमेंटेड ट्रांसमिशनPduRCanTpCanIfUse Case: ट्रिगरCanTp_Transmit(TxPduId, PduInfoPtr)केवल SduLength (+ MetaData)E_OKN_Cs चल रहा हैUse Case: First FramePduR_CanTpCopyTxData()BUFREQ_OKCanIf_Transmit(FF)CanTp_TxConfirmation(E_OK)N_Bs चल रहा है: FC की प्रतीक्षाCanTp_RxIndication(FC: CTS, BS, STmin)loopएक ब्लॉक का प्रत्येक CF (BS फ़्रेम, अंतराल STmin)PduR_CanTpCopyTxData()BUFREQ_OKCanIf_Transmit(CF)CanTp_TxConfirmation(E_OK)प्रत्येक ब्लॉक के बाद पुनः FC की प्रतीक्षा करें (N_Bs)Use Case: AbschlussPduR_CanTpTxConfirmation(E_OK)

अनुक्रम आरेख: CanTp PduR से सेगमेंट-दर-सेगमेंट डेटा का अनुरोध करता है, FF और प्रत्येक ब्लॉक के बाद Flow Control की प्रतीक्षा करता है और अंत में E_OK के साथ पुष्टि करता है। स्रोत: [SWS_CanTp_00212], [SWS_CanTp_00086], [SWS_CanTp_00315], [SWS_CanTp_00090], SWS CanTp पृ. 73

रिसेप्शन: बफ़र नेगोशिएशन, Flow Control और रीअसेम्बली

प्रत्येक आने वाले SF या FF पर CanTp PduR_CanTpStartOfReception [SWS_CanTp_00079] के साथ रिसेप्शन प्रारंभ होने की सूचना देता है। उपलब्ध बफ़र आकार एक आउटपुट पैरामीटर के माध्यम से लौटाया जाता है और यह N-SDU [SWS_CanTp_00080] से छोटा हो सकता है। एक FF के मामले में CanTp पहले टाइमर N_Br प्रारंभ करता है [SWS_CanTp_00166]। यह Flow Control तभी भेजता है जब परिणाम उपलब्ध हो; इसकी सामग्री इस परिणाम पर निर्भर करती है [SWS_CanTp_00064] [SWS_CanTp_00277]। एक रिसेप्शन सत्र के सभी FCs में BS और STmin [SWS_CanTp_00067] के समान मान होते हैं। एक FC क्रमशः BS Consecutive Frames [SWS_CanTp_00278] के बाद आता है।

प्रत्येक CF के बाद CanTp पेलोड को PduR_CanTpCopyRxData के साथ स्थानांतरित करता है और इस प्रक्रिया में शेष बफ़र [SWS_CanTp_00269] का पता लगाता है। CAN 2.0 के लिए यह प्रति CF छह या सात बाइट्स है। यदि किसी ब्लॉक के अंतिम CF के बाद शेष बफ़र अगले ब्लॉक के लिए पर्याप्त नहीं है, तो CanTp टाइमर N_Br प्रारंभ करता है [SWS_CanTp_00325] [SWS_CanTp_00082]। जब तक यह टाइमर चल रहा है:

  • CanTp MainFunction के प्रत्येक रन में लंबाई 0 और NULL_PTR [SWS_CanTp_00222] के साथ बफ़र को क्वेरी करता है;
  • CanTp अधिकतम WFTmax लगातार FC(WAIT) भेजता है [SWS_CanTp_00223] (SWS CanTp पृ. 38)।

यदि सत्र समाप्त होता है, चाहे सफल हो या नहीं, CanTp PduR_CanTpRxIndication को कॉल करता है [SWS_CanTp_00084]। पैडिंग के साथ और उसके बिना, CanTp केवल वास्तव में उपयोग किए गए डेटा बाइट्स को ही ऊपर भेजता है [SWS_CanTp_00116]।

N-SDU का सेगमेंटेड रिसेप्शनCanIfCanTpPduRUse Case: First FrameCanTp_RxIndication(FF)N_Br gestartetPduR_CanTpStartOfReception(TpSduLength)BUFREQ_OK, उपलब्ध बफ़र आकारPduR_CanTpCopyRxData(FF-Daten)CanIf_Transmit(FC: CTS, BS, STmin)loopप्रति ब्लॉक एक CFCanTp_RxIndication(CF)PduR_CanTpCopyRxData(6/7 Byte)BUFREQ_OK, Restpufferaltशेष बफ़र अगले ब्लॉक के लिए पर्याप्त नहीं हैN_Br चल रहा हैCanTp_MainFunctionPduR_CanTpCopyRxData(लंबाई 0, NULL_PTR)BUFREQ_OK, RestpufferCanIf_Transmit(FC: WAIT)अधिकतम WFTmax बारPuffer ausreichendCanIf_Transmit(FC: CTS)Use Case: Letzter Consecutive FrameCanTp_RxIndication(letzter CF)PduR_CanTpCopyRxData()PduR_CanTpRxIndication(E_OK)

अनुक्रम आरेख: बफ़र नेगोशिएशन, ब्लॉक-वाइज Flow Control और सीमित बफ़र के मामले में प्रतीक्षा चरण के साथ सेगमेंटेड रिसेप्शन। स्रोत: [SWS_CanTp_00079], [SWS_CanTp_00269], [SWS_CanTp_00222], [SWS_CanTp_00084], SWS CanTp पृ. 76

rxstart Ein CanTp_RxIndication: SF या FF प्राप्त हुआ Kanal Kanal in CANTP_RX_PROCESSING? Ein->Kanal Art MetaData के साथ या अन्य N_AI? Kanal->Art हाँ Sor PduR_CanTpStartOfReception() Kanal->Sor नहीं Ign Frame ignorieren Art->Ign हाँ Neu laufenden Empfang abbrechen, Frame als neuen Empfang behandeln Art->Neu nein (gleiche N_AI) Neu->Sor Erg रिटर्न मान? Sor->Erg NotOk रिसेप्शन निरस्त करें: कोई FC नहीं, कोई PduR_CanTpRxIndication नहीं Erg->NotOk BUFREQ_E_NOT_OK Ovfl FF: FC(OVFLW) senden, abbrechen SF: abbrechen Erg->Ovfl BUFREQ_E_OVFL Typ Frame-Typ? Erg->Typ BUFREQ_OK Sf SF: Daten kopieren, PduR_CanTpRxIndication Typ->Sf SF Puf FF: क्या बफ़र अगले ब्लॉक के लिए पर्याप्त है? Typ->Puf FF Cts FC(CTS) senden Puf->Cts हाँ Br N_Br starten, Puffer in MainFunction abfragen Puf->Br नहीं

गतिविधि आरेख: इस प्रकार CanTp एक आने वाले SF या FF पर चैनल की स्थिति और PduR_CanTpStartOfReception के परिणाम के आधार पर निर्णय लेता है। स्रोत: [SWS_CanTp_00124], [SWS_CanTp_00337], [SWS_CanTp_00081], [SWS_CanTp_00318], [SWS_CanTp_00353], SWS CanTp पृ. 67

एड्रेसिंग, MetaData और पैडिंग

कार्यात्मक एड्रेसिंग (1:n) केवल SF [SWS_CanTp_00092] के लिए अनुमत है। एक कार्यात्मक हैंडल पर सेगमेंटेड सत्र को CanTp अस्वीकार कर देता है और CANTP_E_INVALID_TATYPE [SWS_CanTp_00093] (SWS CanTp पृ. 39) की रिपोर्ट करता है। Extended या Mixed Addressing में CanTp पहले डेटा बाइट [SWS_CanTp_00095] [SWS_CanTp_00284] [SWS_CanTp_00283] में N_TA या N_AE से N-SDU निर्धारित करता है। पहचानकर्ताओं के असाइनमेंट के लिए निम्नलिखित लागू होता है (SWS CanTp पृ. 44):

  • प्रत्येक NSduId ठीक एक LSduId को असाइन किया गया है [SWS_CanTp_00035]।
  • एक FC का LSduId N_TA या N_AE के साथ मिलकर ठीक एक NSduId की पहचान करता है [SWS_CanTp_00094]।
  • एकाधिक N-SDU केवल Extended/Mixed Addressing में या MetaData के साथ ही समान N-PDU को संदर्भित कर सकते हैं [SWS_CanTp_00328]।

जेनेरिक कनेक्शन MetaData के साथ काम करते हैं। CanTp SF या FF [SWS_CanTp_00330] से एड्रेस जानकारी संग्रहीत करता है, इसे PduR_CanTpStartOfReception [SWS_CanTp_00331] को अग्रेषित करता है और इसके विरुद्ध निम्नलिखित CFs की जाँच करता है [SWS_CanTp_00333]। यदि चैनल पहले से ही डेटा प्राप्त कर रहा है, तो CanTp MetaData [SWS_CanTp_00337] वाले अन्य SF या FF को अनदेखा कर देता है।

पैडिंग प्रति N-SDU सक्रिय की जाती है (SWS CanTp पृ. 43)। भराव मान CANTP_PADDING_BYTE [SWS_CanTp_00059] है। अधिकतम 8 बाइट्स के पेलोड वाले फ़्रेमों के लिए:

  • Rx-पैडिंग के साथ CanTp SF और अंतिम CF को केवल 8 बाइट्स [SWS_CanTp_00344] के साथ स्वीकार करता है और 8 बाइट्स [SWS_CanTp_00347] के साथ FC भेजता है।
  • Tx-पैडिंग के साथ CanTp SF और अंतिम CF को 8 बाइट्स [SWS_CanTp_00348] तक पैड करता है।

यदि कोई ट्रांसमिशन लंबाई किसी मान्य DLC से मेल नहीं खाती है, तो CanTp अगले उच्चतर मान्य मान [SWS_CanTp_00351] तक पैड करता है। CanTp पहले प्राप्त CAN_DL [SWS_CanTp_00350] से रिसेप्शन लंबाई RX_DL प्राप्त करता है।

समय निगरानी, रनटाइम पैरामीटर्स और अनुरोध पर निरस्तीकरण

CanTp_MainFunction [SWS_CanTp_00213] को चक्रीय रूप से कॉल किया जाता है। यह N_As, N_Bs, N_Cs, N_Ar, N_Br, N_Cr और साथ ही STmin [SWS_CanTp_00164] (SWS CanTp पृ. 63) की निगरानी करता है। इसकी क्लॉक CanTpMainFunctionPeriod [SWS_CanTp_00300] पर आधारित होती है। यह मान कॉलिंग टास्क के चक्र समय (SWS CanTp पृ. 77) के अनुरूप होना चाहिए। एक उदाहरण के रूप में, टाइमिंग विश्लेषण 5-ms टास्क (TR Timing Analysis पृ. 117) का उल्लेख करता है।

दो सेवाएँ रनटाइम पर N-SDU के रिसेप्शन पैरामीटर्स BS और STmin तक पहुँचती हैं: CanTp_ChangeParameter उन्हें बदलता है [SWS_CanTp_00302], CanTp_ReadParameter उन्हें पढ़ता है [SWS_CanTp_00323]। दोनों केवल तभी उपलब्ध होते हैं जब CanTpChangeParameterApi = TRUE हो (SWS CanTp पृ. 61)। BS केवल एक अधिकतम मान है, जिसे CanTp बफ़र कारणों से कम कर सकता है [SWS_CanTp_00091]। किसी चल रहे रिसेप्शन सत्र के FF और अंतिम CF के बीच, CanTp E_NOT_OK [SWS_CanTp_00303] [SWS_CanTp_00304] के साथ किसी भी परिवर्तन को अस्वीकार कर देता है। जेनेरिक कनेक्शनों में, परिवर्तन सभी पर लागू होता है [SWS_CanTp_00338]।

चल रहे ट्रांसमिशन को अनुरोध पर निरस्त किया जा सकता है:

  • ट्रांसमिट करना: यह फ़ंक्शन सांख्यिकीय रूप से CanTpTc [SWS_CanTp_00242] के माध्यम से सक्रिय होता है और CanTp_CancelTransmit [SWS_CanTp_00274] के साथ ट्रिगर होता है। E_OK पर CanTp ट्रांसमिशन को निरस्त कर देता है [SWS_CanTp_00243] [SWS_CanTp_00256] और E_NOT_OK [SWS_CanTp_00255] के साथ PduR_CanTpTxConfirmation की रिपोर्ट करता है। दूसरी तरफ, इससे टाइमआउट होता है (SWS CanTp पृ. 26)।
  • प्राप्त करना: CanTp_CancelReceive FF के साथ शुरू हुए रिसेप्शन को समाप्त करता है [SWS_CanTp_00261] और E_NOT_OK [SWS_CanTp_00263] के साथ PduR_CanTpRxIndication की रिपोर्ट करता है। एक SF के मामले में या जब केवल अंतिम CF लंबित हो, तो CanTp निरस्तीकरण को अस्वीकार कर देता है [SWS_CanTp_00262] (SWS CanTp पृ. 60)।

त्रुटि की स्थिति में व्यवहार

डेवलपमेंट त्रुटियाँ। यदि पहचान सक्रिय है, तो CanTp DET को त्रुटि की रिपोर्ट करता है और E_NOT_OK [SWS_CanTp_00294] [SWS_CanTp_00217] (SWS CanTp पृ. 49) लौटाता है। कोड्स [SWS_CanTp_00293] द्वारा परिभाषित किए गए हैं। विशिष्ट मामले:

  • CANTP_E_UNINIT: CanTp_GetVersionInfo को छोड़कर कोई फ़ंक्शन CanTp_Init [SWS_CanTp_00031] से पहले उपयोग किया जाता है।
  • CANTP_E_PARAM_POINTER: कोई सूचक NULL है [SWS_CanTp_00319] [SWS_CanTp_00321] [SWS_CanTp_00322]।
  • CANTP_E_PARAM_ID: CanTp_ReadParameter को अमान्य पैरामीटर्स प्राप्त होते हैं [SWS_CanTp_00324]।

रिलीज़ के बीच विचलन: Cancel-सेवाओं में अमान्य PduId के लिए R20-11 CANTP_E_PARAM_ID [SWS_CanTp_00254] [SWS_CanTp_00260] की अपेक्षा करता है। नए दस्तावेज़ संदर्भ इसके बजाय CANTP_E_INVALID_TX_ID या CANTP_E_INVALID_RX_ID (SWS CanTp पृ. 59) का उल्लेख करते हैं। R20-11 के लिए आवश्यकता लागू होती है।

रनटाइम त्रुटियाँ। वे Default Error Tracer [SWS_CanTp_00352] को जाती हैं:

  • CANTP_E_PADDING: पैडिंग के बावजूद एक फ़्रेम बहुत छोटा है [SWS_CanTp_00345] [SWS_CanTp_00346] [SWS_CanTp_00349]।
  • CANTP_E_OPER_NOT_SUPPORTED: एक Cancel ऐसी N-SDU को प्रभावित करता है जिसका कोई ट्रांसमिशन चालू नहीं है [SWS_CanTp_00254]।
  • प्रोटोकॉल त्रुटियों के लिए दस्तावेज़ संदर्भ अतिरिक्त रूप से CANTP_E_COM, CANTP_E_RX_COM और CANTP_E_TX_COM (SWS CanTp पृ. 52) का उल्लेख करता है।

प्रोटोकॉल त्रुटियाँ। वे ऊपरी लेयर [SWS_CanTp_00205] को E_NOT_OK के साथ सत्र समाप्त करती हैं:

  • ट्रांसमिट पक्ष (PduR_CanTpTxConfirmation के माध्यम से रिपोर्ट): कॉपी करते समय डेटा की कमी [SWS_CanTp_00087], N_Cs [SWS_CanTp_00280], N_As [SWS_CanTp_00310] या N_Bs [SWS_CanTp_00316] की समाप्ति, OVFLW या अमान्य FS [SWS_CanTp_00309] [SWS_CanTp_00317] के साथ FC। N_As के बाद N-PDU तब तक लॉक रहता है जब तक कि TxConfirmation प्राप्त नहीं हो जाता [SWS_CanTp_00075]।
  • रिसेप्शन पक्ष (PduR_CanTpRxIndication के माध्यम से रिपोर्ट): N_Ar [SWS_CanTp_00311] या N_Cr [SWS_CanTp_00313] की समाप्ति, अस्वीकृत कॉपी [SWS_CanTp_00271]।
  • बिना रिपोर्ट के निरस्तीकरण: यदि PduR_CanTpStartOfReception BUFREQ_E_NOT_OK देता है, तो CanTp निरस्त हो जाता है; इसके बाद न तो FC आता है और न ही Indication [SWS_CanTp_00081]।
  • अप्रत्याशित N-PDUs को CanTp एक तालिका [SWS_CanTp_00057] (SWS CanTp पृ. 45) के अनुसार संभालता है।

PduR नकारात्मक पावती को उपयोगकर्ता को अग्रेषित करता है, उदाहरण के लिए DCM को, जो तब पुनर्प्राप्ति सुनिश्चित करता है (Error Description पृ. 29, Error Description पृ. 28)। प्रोडक्शन त्रुटियों को DEM FiM [SWS_CanTp_00291] के माध्यम से संभालता है।

abbruch cluster_tx Sendeseite cluster_rx Empfangsseite t1 PduR_CanTpCopyTxData = BUFREQ_E_NOT_OK TA Sendesitzung abbrechen t1->TA t2 N_Cs abgelaufen t2->TA t3 N_As abgelaufen t3->TA t4 N_Bs abgelaufen t4->TA t5 OVFLW या अमान्य FS के साथ FC t5->TA t6 Tx पैडिंग के मामले में FC 8 बाइट से छोटा t6->TA t7 CanIf_Transmit(SF/FF/CF) = E_NOT_OK t7->TA t8 CanTp_TxConfirmation(E_NOT_OK) t8->TA t9 CanTp_CancelTransmit = E_OK t9->TA r1 N_Ar abgelaufen RA Empfangssitzung abbrechen r1->RA r2 N_Cr abgelaufen r2->RA r3 PduR_CanTpCopyRxData = BUFREQ_E_NOT_OK r3->RA r4 WFTmax FC(WAIT) erreicht r4->RA r5 Rx पैडिंग के मामले में अंतिम CF बहुत छोटा r5->RA r6 CanIf_Transmit(FC) = E_NOT_OK r6->RA r7 CanTp_CancelReceive = E_OK r7->RA TC PduR_CanTpTxConfirmation(E_NOT_OK) TA->TC RC PduR_CanTpRxIndication(E_NOT_OK) RA->RC

गतिविधि आरेख: प्रत्येक दिशा में सभी निरस्तीकरण कारण PduR को एक नकारात्मक संदेश में समाप्त होते हैं। स्रोत: [SWS_CanTp_00205], [SWS_CanTp_00343], [SWS_CanTp_00355], [SWS_CanTp_00342], [SWS_CanTp_00223], [SWS_CanTp_00084], Error Description पृ. 28

आगे विस्तृत साक्ष्य

CanTp (R20-11) के विनिर्देश अंशों पर आधारित AI-जनरेटेड गाइड। केवल लिंक की गई आवश्यकताएं ही बाध्यकारी हैं; अन्य रिलीज़ के दस्तावेज़ संदर्भ केवल स्पष्टीकरण के लिए हैं।

CAN Transport Layer (CanTp)

Provides segmentation and reassembly of CAN messages up to 4095 bytes (ISO 15765-2).

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

फ़ंक्शन CanTp_Init [SWS_CanTp_00208] 📄 PDF

void CanTp_Init (const CanTp_ConfigType* CfgPtr);

This function initializes the Can Tp module.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 62b706f68200 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

सिंक्रोनस और गैर-रीएंट्रेंट फ़ंक्शन CanTp_Init CanTp मॉड्यूल को इनिशियलाइज़ करता है [SWS_CanTp_00208]। यह पैरामीटर CfgPtr के माध्यम से पोस्ट-बिल्ड कॉन्फ़िगरेशन डेटा (CanTp_ConfigType) के लिए एक पॉइंटर स्वीकार करता है और इसका कोई रिटर्न मान नहीं होता है [SWS_CanTp_00208]। आगे की प्रोसेसिंग के लिए मॉड्यूल का उपयोग करने से पहले मॉड्यूल परिवेश को अनिवार्य रूप से CanTp_Init को कॉल करना होगा [SWS_CanTp_00199]।

इनिशियलाइज़ेशन के दौरान, मॉड्यूल के सभी ग्लोबल वेरिएबल्स को इनिशियलाइज़ किया जाता है और सभी ट्रांसपोर्ट प्रोटोकॉल कनेक्शनों को CANTP_ON की एक सब-स्थिति में ले जाया जाता है, जिसमें न तो खंडित ट्रांसमिशन और न ही खंडित रिसेप्शन सक्रिय होता है [SWS_CanTp_00030]। इस दौरान रिसेप्शन पाथ स्थिति CANTP_RX_WAIT में और ट्रांसमिशन पाथ स्थिति CANTP_TX_WAIT में होते हैं [SWS_CanTp_00030]। सफल निष्पादन के बाद, मॉड्यूल आंतरिक स्थिति CANTP_ON में बदल जाता है [SWS_CanTp_00170]।

यदि CanTp_Init को तब कॉल किया जाता है जब मॉड्यूल पहले से ही ग्लोबल स्थिति CANTP_ON में है, तो फ़ंक्शन मॉड्यूल को Idle स्थिति में रीसेट कर देता है, जिससे न तो ट्रांसमिशन और न ही रिसेप्शन प्रक्रियाएं चलती हैं [SWS_CanTp_00111]।

यदि विकास त्रुटि पहचान (Development Error Detection) सक्रिय है, तो CanTp मॉड्यूल त्रुटि CANTP_E_UNINIT की रिपोर्ट करता है यदि PDU Router या CAN Interface CanTp_Init को कॉल करने से पहले मॉड्यूल के फ़ंक्शनों (CanTp_GetVersionInfo को छोड़कर) को निष्पादित करने का प्रयास करता है [SWS_CanTp_00031]।

यह पाठ विनिर्देश के आधार पर AI द्वारा तैयार किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)

फ़ंक्शन CanTp_Shutdown [SWS_CanTp_00211] 📄 PDF

void CanTp_Shutdown (void);

This function is called to shutdown the Can Tp module.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: e5430e2cac5b उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग और कॉल संदर्भ

फ़ंक्शन CanTp_Shutdown पूरे CanTp मॉड्यूल को व्यवस्थित रूप से शट डाउन करने का काम करता है ([SWS_CanTp_00211])। इंटरफ़ेस हेडर फ़ाइल CanTp.h के माध्यम से प्रदान किया जाता है और इसकी सर्विस-ID 0x02 ([SWS_CanTp_00211]) है। कॉल को समकालिक रूप से संसाधित किया जाता है, यह कोई इनपुट पैरामीटर नहीं लेता है और कोई रिटर्न मान नहीं देता है ([SWS_CanTp_00211])।

स्थिति संक्रमण और क्लीनअप

निष्पादित होने पर, CanTp_Shutdown सभी शेष लंबित ट्रांसपोर्ट प्रोटोकॉल कनेक्शनों को बंद कर देता है, सभी आवंटित संसाधनों को मुक्त कर देता है और CanTp मॉड्यूल को स्थिति CANTP_OFF ([SWS_CanTp_00202]) में स्थानांतरित कर देता है। निरस्तीकरण व्यवहार का एक अनिवार्य पहलू यह है कि लंबित फ़्रेम प्रसारणों या फ़्रेम प्राप्ति प्रक्रियाओं के लिए उच्च-स्तरीय परतों को स्पष्ट रूप से कोई भी सूचना ट्रिगर नहीं की जानी चाहिए ([SWS_CanTp_00200])।

समवर्तीता और सीमांत शर्तें

फ़ंक्शन को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है ([SWS_CanTp_00211])। इसलिए इसे अलग-अलग निष्पादन संदर्भों या इंटरप्ट रूटीन से एक साथ कॉल नहीं किया जाना चाहिए। इंटरफ़ेस के कार्यक्षेत्र में विशिष्ट त्रुटि कोड या त्रुटि प्रबंधन को सूचनाएं इंगित नहीं की गई हैं।

यह उपयोग नोट AUTOSAR Classic Release R20-11 विनिर्देश के आधार पर स्वचालित रूप से बनाया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन CanTp_Transmit [SWS_CanTp_00212] 📄 PDF

Std_ReturnType CanTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Requests transmission of a PDU.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 7a5280a26edd उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग

फ़ंक्शन CanTp_Transmit CAN ट्रांसपोर्ट लेयर पर N-SDU के ट्रांसमिशन का अनुरोध करने के लिए कार्य करता है [SWS_CanTp_00212]। प्रेषित की जाने वाली PDU का पहचानकर्ता (TxPduId) और डेटा, लंबाई तथा मेटाडेटा का एक पॉइंटर (PduInfoPtr) पैरामीटर के रूप में पास किए जाते हैं [SWS_CanTp_00212]। कॉल अनुरोध की सफल स्वीकृति को E_OK के साथ या अस्वीकृति को E_NOT_OK के साथ रिपोर्ट करता है [SWS_CanTp_00212]। जबकि कॉल को सिंक्रोनस रूप से स्वीकार किया जाता है, ट्रांसमिशन का प्रसंस्करण एसिंक्रोनस होता है [SWS_CanTp_00176] (व्याख्या: विनिर्देश तालिका में "Synchronous" प्रविष्टि संभवतः अनुरोध की स्वीकृति को संदर्भित करती है)। प्रश्न Q-df438ddaa4963aba (खुला)

परस्पर क्रिया और PDU प्रसंस्करण

मेटाडेटा युक्त N-SDUs के मामले में, मॉड्यूल एड्रेसिंग जानकारी (एड्रेसिंग प्रारूप जैसे कि Normal, Extended, Mixed 11 bit, Normal fixed या Mixed 29 bit के आधार पर) संग्रहीत करता है, ताकि SF-, FF- और CF-N-PDUs के लिए तथा FC-N-PDUs की पहचान के लिए इसका उपयोग किया जा सके [SWS_CanTp_00334]। यदि किसी मेटाडेटा का उपयोग नहीं किया जाता है, तो SF- या FF-PCI की तैयारी के लिए CanTp_Transmit केवल लंबाई विनिर्देश SduLength तक पहुँचता है और N-SDU डेटा बफ़र [SWS_CanTp_00225] का उपयोग नहीं करता है।

त्रुटि हैंडलिंग और समवर्तीता

  • त्रुटि जाँच: यदि DET सक्षम है और PduInfoPtr एक NULL पॉइंटर है, तो फ़ंक्शन त्रुटि CANTP_E_PARAM_POINTER की रिपोर्ट करता है और बिना किसी अतिरिक्त कार्रवाई के वापस आ जाता है [SWS_CanTp_00321]।
  • चैनल व्यस्तता: यदि असाइन किया गया चैनल स्थिति CANTP_TX_PROCESSING में है या N-SDU पहचानकर्ता के लिए पहले से ही एक सत्र चल रहा है, तो ट्रांसमिशन अनुरोध अस्वीकार कर दिया जाता है और E_NOT_OK वापस कर दिया जाता है [SWS_CanTp_00123], [SWS_CanTp_00206]।
  • पुन:प्रवेश्यता (Reentrancy): यह सेवा विभिन्न PDU-IDs के लिए पुन:प्रवेशी है, लेकिन समान PDU-ID के लिए पुन:प्रवेशी नहीं है [SWS_CanTp_00212]।

यह पाठ AUTOSAR Classic R20-11 विनिर्देश के आधार पर AI द्वारा जनरेट किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)

फ़ंक्शन CanTp_CancelTransmit [SWS_CanTp_00246] 📄 PDF

Std_ReturnType CanTp_CancelTransmit (PduIdType TxPduId);

Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: f7624766b8a1 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

सिंक्रोनस फ़ंक्शन CanTp_CancelTransmit एक अंतर्निहित संचार मॉड्यूल में चल रहे PDU ट्रांसमिशन को निरस्त करने का अनुरोध करता है [SWS_CanTp_00246] और इस प्रकार ट्रांसमिशन प्रक्रिया को रद्द करने की शुरुआत करता है [SWS_CanTp_00274]। संबंधित PDU का आइडेंटिफ़ायर (TxPduId) पैरामीटर के रूप में पास किया जाता है [SWS_CanTp_00246]। रिटर्न मान के रूप में, E_OK लक्ष्य मॉड्यूल द्वारा निरस्तीकरण के सफल निष्पादन का संकेत देता है, जबकि E_NOT_OK अस्वीकृति को दर्शाता है [SWS_CanTp_00246]।

फ़ंक्शन कॉल के बाद, संबंधित कनेक्शन पर ट्रांसमिशन निरस्त हो जाता है [SWS_CanTp_00243]। यदि निरस्तीकरण सफलतापूर्वक निष्पादित किया गया था, तो मॉड्यूल ऊपरी परतों को निरस्तीकरण के बारे में सूचित करने के लिए नकारात्मक परिणाम E_NOT_OK के साथ पुष्टि PduR_CanTpTxConfirmation को कॉल करने के लिए CanTp बाध्य है [SWS_CanTp_00255]।

सक्रिय विकास त्रुटि पहचान (Development Error Detection) के साथ, CanTp_CancelTransmit TxPduId की वैधता की जांच करता है: अमान्य पैरामीटर की स्थिति में, विकास त्रुटि CANTP_E_PARAM_ID उत्पन्न होती है और E_NOT_OK लौटाया जाता है [SWS_CanTp_00254]। यदि किसी ऐसी N-SDU के लिए निरस्तीकरण का अनुरोध किया जाता है जो वर्तमान में ट्रांसमिशन प्रक्रिया में नहीं है, तो मॉड्यूल रनटाइम त्रुटि CANTP_E_OPER_NOT_SUPPORTED की रिपोर्ट Default Error Tracer (DET) को करता है और इसी तरह E_NOT_OK लौटाता है [SWS_CanTp_00254]।

समवर्तीता के संबंध में, फ़ंक्शन विभिन्न PDU-IDs के लिए रीएंट्रेंट है, लेकिन इसे समान TxPduId के लिए समवर्ती रूप से कॉल नहीं किया जाना चाहिए [SWS_CanTp_00246]।

यह उपयोग नोट स्वचालित रूप से AUTOSAR विनिर्देश के आधार पर तैयार किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)

फ़ंक्शन CanTp_CancelReceive [SWS_CanTp_00257] 📄 PDF

Std_ReturnType CanTp_CancelReceive (PduIdType RxPduId);

Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: ccccdf72ba41 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन CanTp_CancelReceive एक अंतर्निहित ट्रांसपोर्ट प्रोटोकॉल मॉड्यूल में PDU के चल रहे रिसेप्शन को सिंक्रोनस रूप से निरस्त करता है [SWS_CanTp_00257]। यह हेडर फ़ाइल CanTp.h के माध्यम से उपलब्ध है और इसमें सर्विस ID 0x4c है [SWS_CanTp_00257]।

उपयोग और कॉल शर्तें

इनपुट पैरामीटर RxPduId के माध्यम से निरस्त किए जाने वाले PDU का आइडेंटिफ़ायर पास किया जाता है [SWS_CanTp_00257]। कॉल को सिंक्रोनस रूप से संसाधित किया जाता है और इसे गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_CanTp_00257]। रिटर्न मान के रूप में, Std_ReturnType प्रकार का इंटरफ़ेस प्रदान करता है:

  • E_OK: निरस्तीकरण लक्ष्य मॉड्यूल द्वारा सफलतापूर्वक निष्पादित किया गया था [SWS_CanTp_00257]।
  • E_NOT_OK: निरस्तीकरण लक्ष्य मॉड्यूल द्वारा अस्वीकार कर दिया गया था [SWS_CanTp_00257]।

त्रुटि प्रबंधन

सक्रिय विकास त्रुटि पहचान (Development Error Detection) के साथ, फ़ंक्शन पैरामीटर RxPduId को मान्य करता है [SWS_CanTp_00260]:

  • यदि RxPduId का मान अमान्य है, तो CanTp_CancelReceive विकास त्रुटि CANTP_E_PARAM_ID की रिपोर्ट करता है और E_NOT_OK लौटाता है [SWS_CanTp_00260]।
  • यदि किसी ऐसी N-SDU के लिए निरस्तीकरण का अनुरोध किया जाता है जो वर्तमान में चल रही रिसेप्शन प्रक्रिया में नहीं है, तो मॉड्यूल Default Error Tracer को रनटाइम त्रुटि CANTP_E_OPER_NOT_SUPPORTED की रिपोर्ट करता है और E_NOT_OK लौटाता है [SWS_CanTp_00260]।

पड़ोसी मॉड्यूल के साथ परस्पर क्रिया

यदि रिसेप्शन निरस्तीकरण सफलतापूर्वक निष्पादित किया गया था, तो CanTp ऊपरी परत को निरस्तीकरण के बारे में सूचित करने के लिए अधिसूचना परिणाम E_NOT_OK के साथ कॉलबैक फ़ंक्शन PduR_CanTpRxIndication को कॉल करता है [SWS_CanTp_00263]।

यह उपयोग नोट विनिर्देश AUTOSAR Classic R20-11 पर आधारित है और स्वचालित रूप से जनरेट किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन CanTp_ChangeParameter [SWS_CanTp_00302] 📄 PDF

Std_ReturnType CanTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);

Request to change a specific transport protocol parameter (e.g. block size).

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 2d391dbc31e8 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

सिंक्रोनस फ़ंक्शन CanTp_ChangeParameter एक विशिष्ट ट्रांसपोर्ट प्रोटोकॉल पैरामीटर जैसे कि ब्लॉक आकार ([SWS_CanTp_00302]) के रनटाइम परिवर्तन के लिए कार्य करता है। हेडर फ़ाइल CanTp.h के माध्यम से प्रदान की गई, यह सेवा PDU आइडेंटिफ़ायर (id), पैरामीटर के आइडेंटिफ़ायर (parameter) और साथ ही नए सेट किए जाने वाले मान (value) ([SWS_CanTp_00302]) को स्वीकार करती है। सफल निष्पादन पर फ़ंक्शन E_OK लौटाता है; यदि परिवर्तन विफल रहता है या अस्वीकार कर दिया जाता है, तो यह E_NOT_OK लौटाता है ([SWS_CanTp_00302])।

समवर्तीता और कॉल शर्तों के संबंध में निम्नलिखित आवश्यकताएं लागू होती हैं:

  • इंटरफ़ेस को गैर-रीएंट्रेंट (Non Reentrant) के रूप में कार्यान्वित किया गया है ([SWS_CanTp_00302])।
  • यदि प्रभावित N-SDU कॉल के समय पहले से ही एक चल रही रिसेप्शन प्रक्रिया में है, तो CanTp_ChangeParameter तुरंत समाप्त हो जाता है, E_NOT_OK लौटाता है और पैरामीटर मान को नहीं बदलता है ([SWS_CanTp_00304])।

जेनेरिक कनेक्शनों में एक विशेष परस्पर क्रिया होती है: यदि फ़ंक्शन को MetaData वाले N-SDU के लिए कॉल किया जाता है, तो पैरामीटर परिवर्तन सभी जेनेरिक कनेक्शनों पर लागू होता है और बाद की सभी रिसेप्शन प्रक्रियाओं के लिए अपनाया जाता है ([SWS_CanTp_00338])।

यह उपयोग नोट विनिर्देश आवश्यकताओं के आधार पर स्वचालित रूप से उत्पन्न किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन CanTp_ReadParameter [SWS_CanTp_00323] 📄 PDF

Std_ReturnType CanTp_ReadParameter (PduIdType id, TPParameterType parameter, uint16* value);

This service is used to read the current value of reception parameters BS and STmin for a specified N - SDU.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 949f6cb3df18 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग

सिंक्रोनस फ़ंक्शन CanTp_ReadParameter एक निर्दिष्ट रिसेप्शन N-SDU [SWS_CanTp_00323] के लिए रिसेप्शन पैरामीटर BS (Block Size) या STmin (Separation Time minimum) के वर्तमान मान को पढ़ने के लिए कार्य करता है। घोषणा हेडर फ़ाइल CanTp.h के माध्यम से उपलब्ध है [SWS_CanTp_00323]।

इंटरफ़ेस में निम्नलिखित पैरामीटर हैं:

  • id (in): प्राप्त N-SDU का आइडेंटिफ़ायर (प्रकार PduIdType), जिसके लिए रिसेप्शन पैरामीटर पढ़ा जाता है [SWS_CanTp_00323]।
  • parameter (in): पढ़े जाने वाले पैरामीटर को निर्धारित करता है (प्रकार TPParameterType का BS या STmin) [SWS_CanTp_00323]।
  • value (out): uint16 के लिए पॉइंटर, जिसके माध्यम से पढ़ा गया पैरामीटर मान प्रदान किया जाता है [SWS_CanTp_00323]।

रिटर्न मान के रूप में, फ़ंक्शन Std_ReturnType प्रदान करता है; जिसमें E_OK अनुरोध की स्वीकृति और E_NOT_OK अस्वीकृति का संकेत देता है [SWS_CanTp_00323]।

त्रुटि प्रबंधन

यदि विकास त्रुटि पहचान (Development Error Detection) सक्रिय है, तो CanTp_ReadParameter पैरामीटर id और parameter की वैधता की जांच करता है [SWS_CanTp_00324]। यदि इनमें से कोई एक पैरामीटर अमान्य है, तो फ़ंक्शन विकास त्रुटि CANTP_E_PARAM_ID की रिपोर्ट करता है और E_NOT_OK लौटाता है [SWS_CanTp_00324]।

समवर्तीता और प्रतिबंध

फ़ंक्शन को गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_CanTp_00323]। कॉलर्स को समान इंटरफ़ेस पर समानांतर एक्सेस से बचना चाहिए।

यह पाठ AI द्वारा AUTOSAR R20-11 के विनिर्देश दस्तावेजों के आधार पर तैयार किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन CanTp_MainFunction [SWS_CanTp_00213] 📄 PDF

void CanTp_MainFunction (void);

The main function for scheduling the CAN TP.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 64a7b42182e1 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन CanTp_MainFunction CAN ट्रांसपोर्ट प्रोटोकॉल (CAN TP) के आवधिक शेड्यूलिंग के लिए एक केंद्रीय प्रवेश बिंदु के रूप में कार्य करता है [SWS_CanTp_00213], [SWS_CanTp_00164]। इसकी सर्विस ID 0x06 है, हस्ताक्षर void CanTp_MainFunction(void) है और यह हेडर SchM_CanTp.h के माध्यम से उपलब्ध है [SWS_CanTp_00213]। यह कोई पैरामीटर स्वीकार नहीं करता है और कोई रिटर्न मान नहीं देता है [SWS_CanTp_00213]।

कॉल संदर्भ और समय नियंत्रण

आवश्यक अवधि के अनुसार कॉल या तो Schedule Manager द्वारा या Free Running Timer मॉड्यूल द्वारा शुरू की जाती है [SWS_CanTp_00164]। मॉड्यूल के भीतर, CanTp_MainFunction प्रोटोकॉल प्रक्रियाओं की समय निगरानी और नियंत्रण का कार्य संभालता है [SWS_CanTp_00164]। विशेष रूप से, यह फ़ंक्शन निम्नलिखित टाइमर और समय स्थितियों के प्रसंस्करण में शामिल है:

  • ट्रांसमिशन और पावती के प्रोटोकॉल टाइमआउट: N_As, N_Bs, N_Cs तथा N_Ar, N_Br और N_Cr [SWS_CanTp_00164]।
  • न्यूनतम फ़्रेम सेपरेशन समय STMmin का अनुपालन [SWS_CanTp_00164]।

त्रुटि हैंडलिंग और समवर्तीता

पेलोड में इस फ़ंक्शन के लिए DET या DEM हेतु कोई विशिष्ट त्रुटि कोड परिभाषित नहीं हैं। व्याख्या: चक्रीय रूप से कॉल किए जाने वाले शेड्यूलिंग फ़ंक्शन के रूप में, CanTp_MainFunction गैर-पुन:प्रवेशी (non-reentrant) होना चाहिए और आंतरिक टाइमर के सही डिक्रीमेंटेशन को सुनिश्चित करने के लिए एक सुसंगत कॉल दर की आवश्यकता होनी चाहिए। प्रश्न Q-2fe22e31085abf49 (खुला)

यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन CanTp_RxIndication [SWS_CanTp_00214] 📄 PDF

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

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

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 38e732456055 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग और सिमेंटिक्स

समकालिक फ़ंक्शन [SWS_CanTp_00214] एक अंतर्निहित संचार इंटरफ़ेस मॉड्यूल द्वारा एक N-PDU की प्राप्ति की सूचना CAN ट्रांसपोर्ट मॉड्यूल को देता है। कॉल प्राप्त PDU की पहचान (RxPduId) के साथ-साथ पॉइंटर PduInfoPtr के माध्यम से लंबाई (SduLength), पेलोड (SduDataPtr) और संबंधित मेटाडेटा पास करती है। फ़ंक्शन का कोई रिटर्न मान नहीं है।

समवर्तीता और कॉल संदर्भ

फ़ंक्शन अलग-अलग PDU-ID के लिए पुनःप्रवेशी है, लेकिन समान PDU-ID के लिए गैर-पुनःप्रवेशी है [SWS_CanTp_00214]। CanTp_RxIndication को इंटरप्ट संदर्भ में कॉल करने की अनुमति है, उदाहरण के लिए सीधे CAN प्राप्ति इंटरप्ट से [SWS_CanTp_00235]।

जेनेरिक कनेक्शनों में सहभागिता

मेटाडेटा वाले Single Frames (SF) या First Frames (FF) के लिए कॉल किए जाने पर, CanTp निहित पता जानकारी (जैसे सामान्य-निश्चित या मिश्रित 29-बिट एड्रेसिंग में N_SA और N_TA) को संग्रहीत करता है। यह जानकारी उच्च परत से कनेक्शन स्थापित करने, Flow Control फ़्रेम (FC) भेजने और Consecutive Frames (CF) का पता लगाने के काम आती है [SWS_CanTp_00330]। बाद के CF- और प्राप्त FC-फ़्रेमों के लिए, CanTp संग्रहीत मानों के विरुद्ध मेटाडेटा के पता डेटा की जाँच करता है [SWS_CanTp_00333], [SWS_CanTp_00336]।

त्रुटि प्रबंधन और पैडिंग

यदि DET सक्षम है और PduInfoPtr एक NULL पॉइंटर है, तो फ़ंक्शन त्रुटि CANTP_E_PARAM_POINTER की रिपोर्ट करता है और बिना किसी कार्रवाई के वापस लौटता है [SWS_CanTp_00322]। यदि 8 बाइट्स तक के पेलोड वाले फ़्रेमों के लिए पैडिंग जाँच सक्षम है (CanTpRxPaddingActivation या CanTpTxPaddingActivation बराबर CANTP_ON), तो लंबाई त्रुटियों की स्थिति में रनटाइम त्रुटि CANTP_E_PADDING की रिपोर्ट DET को की जाती है:

  • SduLength < 8 वाला एक SF अस्वीकार कर दिया जाता है [SWS_CanTp_00345]।
  • SduLength != 8 वाला एक अंतिम CF PduR_CanTpRxIndication() के माध्यम से E_NOT_OK के साथ चल रही प्राप्ति को निरस्त कर देता है [SWS_CanTp_00346]।
  • SduLength < 8 वाला एक प्राप्त FC PduR_CanTpTxConfirmation() के माध्यम से E_NOT_OK के साथ चल रहे प्रसारण को निरस्त कर देता है [SWS_CanTp_00349]।

यह पाठ AI द्वारा जनरेट किया गया था और मार्गदर्शन के रूप में कार्य करता है। AUTOSAR विनिर्देश ही प्रामाणिक है।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)

फ़ंक्शन CanTp_TxConfirmation [SWS_CanTp_00215] 📄 PDF

void CanTp_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.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 2541d17fed91 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

CanTp मॉड्यूल प्रेषित PDU के लिए पुष्टिकरण कॉल स्वीकार करने के लिए हेडर CanTp.h के माध्यम से समकालिक कॉलबैक फ़ंक्शन CanTp_TxConfirmation (सर्विस-ID 0x40) प्रदान करता है [SWS_CanTp_00076] [SWS_CanTp_00215]। इस इंटरफ़ेस के माध्यम से, अंतर्निहित संचार इंटरफ़ेस मॉड्यूल सफल प्रेषण या PDU प्रसारण की विफलता की रिपोर्ट करता है [SWS_CanTp_00215]।

पैरामीटर और रिटर्न मान

फ़ंक्शन कोई रिटर्न मान प्रदान नहीं करता है (void) और दो इनपुट पैरामीटरों की अपेक्षा करता है [SWS_CanTp_00215]:

  • TxPduId: प्रेषित PDU की ID [SWS_CanTp_00215]।
  • result: प्रसारण स्थिति। मान E_OK सफल प्रसारण की पुष्टि करता है, जबकि E_NOT_OK PDU प्रसारण की विफलता का संकेत देता है [SWS_CanTp_00215]।

त्रुटि प्रबंधन

यदि CanTp_TxConfirmation को परिणाम मान E_NOT_OK के साथ कॉल किया जाता है, तो CanTp मॉड्यूल संबंधित ट्रांसमिशन सत्र को निरस्त कर देता है [SWS_CanTp_00355]।

समवर्तीता और निष्पादन संदर्भ

संगामिति के संबंध में, फ़ंक्शन विभिन्न PDU-IDs के लिए पुनःप्रवेशी है, लेकिन समान PDU-ID के लिए गैर-पुनःप्रवेशी है [SWS_CanTp_00215]। इसे इंटरप्ट संदर्भ में कॉल करने योग्य होना चाहिए और इसे उदाहरण के लिए सीधे CAN ट्रांसमिट इंटरप्ट से कॉल किया जा सकता है [SWS_CanTp_00236]।

यह उपयोग नोट AUTOSAR Classic रिलीज़ R20-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)

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

Record
AUTOSAR/AP/record/CP_MOD_CanTp
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_CanTp@rel:R20-11#e9c4b86e
Content hash
e9c4b86e
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CANTransportLayer.pdf#nameddest=SWS_CanTp_00208

विषय मानचित्र

विवरण दृश्य

रूपरेखा में कोई प्रविष्टि चुनें।

आरंभीकरण और स्थिति

CanTp_GetVersionInfo फ़ंक्शन

This function returns the version information of the Can Tp module.

void CanTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
CanTp_Init फ़ंक्शन

This function initializes the Can Tp module.

void CanTp_Init (const CanTp_ConfigType* CfgPtr);

सेवाएँ

CanTp_CancelReceive फ़ंक्शन

Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.

Std_ReturnType CanTp_CancelReceive (PduIdType RxPduId);
CanTp_CancelTransmit फ़ंक्शन

Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.

Std_ReturnType CanTp_CancelTransmit (PduIdType TxPduId);
CanTp_ChangeParameter फ़ंक्शन

Request to change a specific transport protocol parameter (e.g. block size).

Std_ReturnType CanTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);
CanTp_ReadParameter फ़ंक्शन

This service is used to read the current value of reception parameters BS and STmin for a specified N - SDU.

Std_ReturnType CanTp_ReadParameter (PduIdType id, TPParameterType parameter, uint16* value);
CanTp_Shutdown फ़ंक्शन

This function is called to shutdown the Can Tp module.

void CanTp_Shutdown (void);
CanTp_Transmit फ़ंक्शन

Requests transmission of a PDU.

Std_ReturnType CanTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

कॉलबैक

CanTp_RxIndication फ़ंक्शन

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

void CanTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
CanTp_TxConfirmation फ़ंक्शन

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void CanTp_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

चक्रीय

CanTp_MainFunction फ़ंक्शन

The main function for scheduling the CAN TP.

void CanTp_MainFunction (void);

टाइप

CanTp_ConfigType टाइप

Data structure type for the post - build configuration parameters.