wiki:spec/PduR

Version 10 (modified by fujisft-shigihara, 4 years ago) ( diff )

--

PDU Router


概要

  • 静的に設定した内容に応じたPDUのルーティングを行う
  • CANプロトコルしか使用しないECUなどの場合、ゼロコストオペレーションとして処理を省略できる
  • API一覧
API ID
[Dec]
ID
[Hex]
R4.0.3 R4.2.2
PduR_Init 240 0xF0
PduR_GetVersionInfo 241 0xF1
PduR_GetConfigurationId 242 0xF2
PduR_EnableRouting 243 0xF3
PduR_DisableRouting 244 0xF4
PduR_<User:Up>Transmit -- 0x<UpModId>9
PduR_<User:Up>CancelTransmit -- 0x<UpModId>A
PduR_<User:Up>ChangeParameter -- 0x<UpModId>B
PduR_<User:Up>CancelReceive -- 0x<UpModId>C
PduR_<User:Lo>RxIndication -- 0x<LoModId>1
PduR_<User:Lo>TxConfirmation -- 0x<LoModId>2
PduR_<User:Lo>TriggerTransmit -- 0x<LoModId>3
PduR_<User:LoTp>CopyRxData -- 0x<LoTpModId>4
PduR_<User:LoTp>RxIndication -- 0x<LoTpModId>5
PduR_<User:LoTp>StartOfReception -- 0x<LoTpModId>6
PduR_<User:LoTp>CopyTxData -- 0x<LoTpModId>7
PduR_<User:LoTp>TxConfirmation -- 0x<LoTpModId>8
  • <UpModId>一覧
Upper layer module <UpModId> R4.0.3 R4.2.2
Com 8
Dcm 9
IpduM A
Dbg B
CDD for interface interaction C
CDD for transport protocol interaction D
J1939Rm E -
J1939Dcm F -
LdCom 8 -
  • <LoModId>一覧
Lower layer communication interface module <LoModId> R4.0.3 R4.2.2
CanIf/TTCanIf 0
CanNm 1
IpduM 2
FrIf 3
FrNm 4
LinIf 5
SoAdIf 6
CDD If 7
  • <LoTpModId>一覧
Lower layer transport protocol module <LoTpModId> R4.0.3 R4.2.2
CanTp 0
SAE J1939 1
FrTp 3
LinTp 5
SoAdTp 6
CDD Tp 7
  • エラーコード一覧
エラーコード Dec Hex R4.0.3 R4.2.2
PDUR_E_CONFIG_PTR_INVALID 0 0x00 -
PDUR_E_INIT_FAILED 0 0x00 -
PDUR_E_INVALID_REQUEST 1 0x01
PDUR_E_PDU_ID_INVALID 2 0x02
PDUR_E_TP_TX_REQ_REJECTED 3 0x03
PDUR_E_PARAM_INVALID 4 0x04 -
PDUR_E_DUPLICATE_IPDU_ID 6 0x06 -
PDUR_E_IPDU_TOO_LONG 7 0x07 -
PDUR_E_ROUTING_PATH_GROUP_ID_INVALID 8 0x08
PDUR_E_PDU_INSTANCES_LOST 10 0x0A
PDUR_E_INIT_FAILED 11 0x0B -
PDUR_E_NULL_POINTER 9 0x09 -
PDUR_E_PARAM_POINTER 9 0x09 -

API仕様

PduR_Init

void PduR_Init(const PduR_PBConfigType* ConfigPtr)

PduR_GetVersionInfo

void PduR_GetVersionInfo(Std_VersionInfoType* versionInfo)

PduR_GetConfigurationId

PduR_PBConfigIdType PduR_GetConfigurationId(void)

PduR_EnableRouting

void PduR_EnableRouting(PduR_RoutingPathGroupIdType id)

PduR_DisableRouting

R4.0.3: void PduR_DisableRouting(PduR_RoutingPathGroupIdType id)
R4.2.2: void PduR_DisableRouting(PduR_RoutingPathGroupIdType id, boolean initialize)

PduR_<User:Up>Transmit

Std_ReturnType PduR_<User:Up>Transmit(PduIdType id, const PduInfoType* info)

PduR_<User:Up>CancelTransmit

Std_ReturnType PduR_<User:Up>CancelTransmit(PduIdType id)

PduR_<User:Up>ChangeParameter

Std_ReturnType PduR_<User:Up>ChangeParameter(PduIdType id, TPParameterType parameter, uint16 value)

PduR_<User:Up>CancelReceive

Std_ReturnType PduR_<User:Up>CancelReceive(PduIdType id)

PduR_<User:Lo>RxIndication

void PduR_<User:Lo>RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr)

PduR_<User:Lo>TxConfirmation

void PduR_<User:Lo>TxConfirmation(PduIdType TxPduId)

PduR_<User:Lo>TriggerTransmit

Std_ReturnType PduR_<User:Lo>TriggerTransmit(PduIdType TxPduId, PduInfoType* PduInfoPtr)

PduR_<User:LoTp>CopyRxData

BufReq_ReturnType PduR_<User:LoTp>CopyRxData(PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr)

PduR_<User:LoTp>RxIndication

void PduR_<User:LoTp>RxIndication(PduIdType id, Std_ReturnType result)

PduR_<User:LoTp>StartOfReception

BufReq_ReturnType PduR_<User:LoTp>StartOfReception(PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr)

PduR_<User:LoTp>CopyTxData

BufReq_ReturnType PduR_<User:LoTp>CopyTxData(PduIdType id, const PduInfoType* info, RetryInfoType* retry, PduLengthType* availableDataPtr)

PduR_<User:LoTp>TxConfirmation

void PduR_<User:LoTp>TxConfirmation(PduIdType id, Std_ReturnType result)

コンフィギュレーション仕様

PduRBswModules

/AUTOSAR/EcucDefs/PduR/PduRBswModules
  • 型:Container
  • 多重度:0..*

PduRCancelReceive

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRCancelReceive
  • 型:BooleanParam
  • 多重度:1

PduRCancelTransmit

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRCancelTransmit
  • 型:BooleanParam
  • 多重度:1

PduRChangeParameterRequestApi

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRChangeParameterRequestApi
  • 型:BooleanParam
  • 多重度:1

PduRChangeParameterApi

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRChangeParameterApi
  • 型:BooleanParam
  • 多重度:1

PduRCommunicationInterface

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRCommunicationInterface
  • 型:BooleanParam
  • 多重度:1

PduRLowerModule

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRLowerModule
  • 型:BooleanParam
  • 多重度:1

PduRRetransmission

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRRetransmission
  • 型:BooleanParam
  • 多重度:1

PduRTransportProtocol

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRTransportProtocol
  • 型:BooleanParam
  • 多重度:1

PduRTriggertransmit

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRTriggertransmit
  • 型:BooleanParam
  • 多重度:1

PduRTxConfirmation

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRTxConfirmation
  • 型:BooleanParam
  • 多重度:1

PduRUpperModule

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRUpperModule
  • 型:BooleanParam
  • 多重度:1

PduRUseTag

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRUseTag
  • 型:BooleanParam
  • 多重度:1

PduRBswModuleRef

/AUTOSAR/EcucDefs/PduR/PduRBswModules/PduRBswModuleRef
  • 型:Reference
  • 多重度:1

PduRGeneral

/AUTOSAR/EcucDefs/PduR/PduRGeneral
  • 型:Container
  • 多重度:1

PduRDevErrorDetect

/AUTOSAR/EcucDefs/PduR/PduRGeneral/PduRDevErrorDetect
  • 型:BooleanParam
  • 多重度:1
  • DETエラー通知の使用有無

PduRMetaDataSupport

/AUTOSAR/EcucDefs/PduR/PduRGeneral/PduRMetaDataSupport
  • 型:BooleanParam
  • 多重度:0..1
  • デフォルト値:false

PduRVersionInfoApi

/AUTOSAR/EcucDefs/PduR/PduRGeneral/PduRVersionInfoApi

PduRZeroCostOperation

/AUTOSAR/EcucDefs/PduR/PduRGeneral/PduRZeroCostOperation
  • 型:BooleanParam
  • 多重度:1
  • ゼロコストオペレーションの使用有無

PduRRoutingTables

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables
  • 型:Container
  • 多重度:1
  • PduRモジュールで実現するルーティングテーブルを設定する

PduRConfigurationId

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRConfigurationId
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65535
  • 下限値:0
  • ルーティングテーブルのID

PduRMaxRoutingPathCnt

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRMaxRoutingPathCnt
  • 型:IntegerParam
  • 多重度:0..1
  • 上限値:65535
  • 下限値:0

PduRMaxRoutingPathGroupCnt

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRMaxRoutingPathGroupCnt
  • 型:IntegerParam
  • 多重度:0..1
  • 上限値:65535
  • 下限値:0

PduRMaxRoutingTableCnt

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRMaxRoutingTableCnt
  • 型:IntegerParam
  • 多重度:0..1
  • 上限値:65535
  • 下限値:0

PduRRoutingPathGroup

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingPathGroup
  • 型:Container
  • 多重度:0..*

PduRIsEnabledAtInit

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingPathGroup/PduRIsEnabledAtInit
  • 型:BooleanParam
  • 多重度:1

PduRRoutingPathGroupId

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingPathGroup/PduRRoutingPathGroupId
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65535
  • 下限値:0

PduRDestPduRef

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingPathGroup/PduRDestPduRef
  • 型:Reference
  • 多重度:1..*
  • 参照先:/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu

PduRRoutingTable

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable
  • 型:Container
  • 多重度:0..*
  • ルーティングテーブルを設定するコンテナ

PduRIsMinimumRouting

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRIsMinimumRouting
  • 型:BooleanParam
  • 多重度:1

PduRRoutingPath

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath
  • 型:Container
  • 多重度:0..*
  • ルーティングするパスを設定するコンテナ

PduRDestPdu

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu
  • 型:Container
  • 多重度:1..*
  • ルーティング先のPDUを設定するコンテナ

PduRDestPduDataProvision

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduDataProvision
  • 型:EnumerationParam
  • 多重度:0..1
  • 選択肢:
    • PDUR_DIRECT
    • PDUR_TRIGGERTRANSMIT

PduRDestPduHandleId

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduHandleId
  • 型:IntegerParam
  • 多重度:0..1
  • 上限値:65535
  • 下限値:0
  • ルーティング先のPDUのPDU-ID
  • ゼロコストオペレーションにおいて対象PDUが送信PDUの場合、本パラメータで設定するIDとComモジュールのComIPduHandleIdで設定するIDを一致させる必要がある
  • 詳細はモジュール間のPDU-IDの関係を参照

PduRTpThreshold

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRTpThreshold
  • 型:IntegerParam
  • 多重度:0..1
  • 上限値:65535
  • 下限値:
    • R4.0.3:1
    • R4.2.2:0

PduRTransmissionConfirmation

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRTransmissionConfirmation
  • 型:BooleanParam
  • 多重度:0..1

PduRDestPduRef

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduRef
  • 型:Reference
  • 多重度:1
  • 参照先:/AUTOSAR/EcucDefs/EcuC/EcucConfigSet/EcucPduCollection/Pdu
  • システム全体として同一PDUを識別するためのPDU(グローバルPDU)への参照
  • 詳細はモジュール間のPDU-IDの関係を参照

PduRDestTxBufferRef

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestTxBufferRef
  • 型:Reference
  • 多重度:0..1
  • 参照先:/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTxBufferTable/PduRTxBuffer

PduRDefaultValue

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDefaultValue
  • 型:Container
  • 多重度:0..1

PduRDefaultValueElement

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDefaultValue/PduRDefaultValueElement
  • 型:Container
  • 多重度:0..*

PduRDefaultValueElement

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDefaultValue/PduRDefaultValueElement/PduRDefaultValueElement
  • 型:IntegerParam
  • 多重度:1
  • 上限値:255
  • 下限値:0

PduRDefaultValueElementBytePosition

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDefaultValue/PduRDefaultValueElement/PduRDefaultValueElementBytePosition
  • 型:IntegerParam
  • 多重度:1
  • 上限値:
    • R4.0.3:255
    • R4.2.2:4294967294
  • 下限値:0

PduRSrcPdu

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu
  • 型:Container
  • 多重度:1
  • ルーティング元のPDUを設定するコンテナ

PduRSourcePduHandleId

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSourcePduHandleId
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65535
  • 下限値:0
  • ルーティング元のPDUのPDU-ID
  • ゼロコストオペレーションにおいて対象PDUが送信PDUの場合、本パラメータで設定するIDとCanIfモジュールのCanIfTxPduIdで設定するIDを一致させる必要がある
  • ゼロコストオペレーションにおいて対象PDUが受信PDUの場合、本パラメータで設定するIDとComモジュールのComIPduHandleIdで設定するIDを一致させる必要がある
  • 詳細はモジュール間のPDU-IDの関係を参照

PduRSrcPduUpTxConf

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSrcPduUpTxConf
  • 型:BooleanParam
  • 多重度:0..1
  • デフォルト値:true

PduRSrcPduRef

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSrcPduRef
  • 型:Reference
  • 多重度:1
  • 参照先:/AUTOSAR/EcucDefs/EcuC/EcucConfigSet/EcucPduCollection/Pdu
  • システム全体として同一PDUを識別するためのPDU(グローバルPDU)への参照
  • 詳細はモジュール間のPDU-IDの関係を参照

PduRTpBufferTable

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTpBufferTable
  • 型:Container
  • 多重度:0..1

PduRMaxTpBufferNumber

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTpBufferTable/PduRMaxTpBufferNumber
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65535
  • 下限値:0

PduRTpBuffer

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTpBufferTable/PduRTpBuffer
  • 型:Container
  • 多重度:0..*

PduRTpBufferLength

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTpBufferTable/PduRTpBuffer/PduRTpBufferLength
  • 型:IntegerParam
  • 多重度:1
  • 上限値:
    • R4.0.3:65535
    • R4.2.2:4294967295
  • 下限値:1

PduRTxBufferTable

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTxBufferTable
  • 型:Container
  • 多重度:0..1

PduRMaxTxBufferNumber

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTxBufferTable/PduRMaxTxBufferNumber
  • 型:IntegerParam
  • 多重度:1
  • 上限値:65535
  • 下限値:0

PduRTxBuffer

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTxBufferTable/PduRTxBuffer
  • 型:Container
  • 多重度:0..*

PduRPduMaxLength

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTxBufferTable/PduRTxBuffer/PduRPduMaxLength
  • 型:IntegerParam
  • 多重度:1
  • 上限値:
    • R4.0.3:255
    • R4.2.2:4294967295
  • 下限値:1

PduRTxBufferDepth

/AUTOSAR/EcucDefs/PduR/PduRRoutingTables/PduRTxBufferTable/PduRTxBuffer/PduRTxBufferDepth
  • 型:IntegerParam
  • 多重度:1
  • 上限値:255
  • 下限値:1
Note: See TracWiki for help on using the wiki.