RadarObjectStruct 结构体定义
struct RadarObjectStruct {
::Bool active;
::ByteArray objectArray;
static bool IsPlane()
{
return false;
}
using IsEnumerableTag = void;
template<typename F>
void enumerate(F& fun)
{
fun(active);
fun(objectArray);
}
template<typename F>
void enumerate(F& fun) const
{
fun(active);
fun(objectArray);
}
bool operator == (const ::RadarObjectStruct& t) const {
return (active == t.active) && (objectArray == t.objectArray);
}
};
#endif
arxml中定义方式
<?xml version="1.0" encoding="UTF-8"?>
<AUTOSAR xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_00046.xsd">
<AR-PACKAGES>
<AR-PACKAGE UUID="8efd1eb4-f857-4e91-a57a-a1fc47649f49">
<SHORT-NAME>HuaweiMDC</SHORT-NAME>
<AR-PACKAGES>
<AR-PACKAGE>
<SHORT-NAME>Sample</SHORT-NAME>
<AR-PACKAGES>
<AR-PACKAGE>
<SHORT-NAME>RadarMsgDataType</SHORT-NAME>
<ELEMENTS>
<COMPU-METHOD>
<SHORT-NAME>RadarCalibrationCompuMethod</SHORT-NAME>
<CATEGORY>TEXTTABLE</CATEGORY>
<COMPU-INTERNAL-TO-PHYS>
<COMPU-SCALES>
<COMPU-SCALE>
<SYMBOL>VARANT_A</SYMBOL>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">0x01</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">0x01</UPPER-LIMIT>
</COMPU-SCALE>
<COMPU-SCALE>
<SYMBOL>VARANT_B</SYMBOL>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">0x02</LOWER-LIMIT>
</COMPU-SCALE>
<COMPU-SCALE>
<SYMBOL>VARANT_C</SYMBOL>
<LOWER-LIMIT>0x03</LOWER-LIMIT>
</COMPU-SCALE>
</COMPU-SCALES>
</COMPU-INTERNAL-TO-PHYS>
</COMPU-METHOD>
<IMPLEMENTATION-DATA-TYPE S="">
<SHORT-NAME>RadarCalibrationVariant</SHORT-NAME>
<CATEGORY>TYPE_REFERENCE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<COMPU-METHOD-REF DEST="COMPU-METHOD">/HuaweiMDC/Sample/RadarMsgDataType/RadarCalibrationCompuMethod</COMPU-METHOD-REF>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/UInt16</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE>
<IMPLEMENTATION-DATA-TYPE>
<SHORT-NAME>RadarObjectStruct</SHORT-NAME>
<CATEGORY>STRUCTURE</CATEGORY>
<SUB-ELEMENTS>
<IMPLEMENTATION-DATA-TYPE-ELEMENT>
<SHORT-NAME>active</SHORT-NAME>
<CATEGORY>TYPE_REFERENCE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/Bool</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE-ELEMENT>
<IMPLEMENTATION-DATA-TYPE-ELEMENT>
<SHORT-NAME>objectArray</SHORT-NAME>
<CATEGORY>TYPE_REFERENCE</CATEGORY>
<SW-DATA-DEF-PROPS>
<SW-DATA-DEF-PROPS-VARIANTS>
<SW-DATA-DEF-PROPS-CONDITIONAL>
<IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/ByteArray</IMPLEMENTATION-DATA-TYPE-REF>
</SW-DATA-DEF-PROPS-CONDITIONAL>
</SW-DATA-DEF-PROPS-VARIANTS>
</SW-DATA-DEF-PROPS>
</IMPLEMENTATION-DATA-TYPE-ELEMENT>
</SUB-ELEMENTS>
</IMPLEMENTATION-DATA-TYPE>
</ELEMENTS>
</AR-PACKAGE>
<AR-PACKAGE>
<SHORT-NAME>RadarServiceInterface</SHORT-NAME>
<ELEMENTS>
<SERVICE-INTERFACE>
<SHORT-NAME>RadarServiceInterface</SHORT-NAME>
<SHORT-NAME-PATTERN></SHORT-NAME-PATTERN>
<IS-SERVICE>true</IS-SERVICE>
<NAMESPACES>
<SYMBOL-PROPS>
<SHORT-NAME>mdc</SHORT-NAME>
<SYMBOL>mdc</SYMBOL>
</SYMBOL-PROPS>
<SYMBOL-PROPS>
<SHORT-NAME>Radar</SHORT-NAME>
<SYMBOL>Radar</SYMBOL>
</SYMBOL-PROPS>
</NAMESPACES>
<EVENTS>
<VARIABLE-DATA-PROTOTYPE>
<SHORT-NAME>RadarDataEvent</SHORT-NAME>
<TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/Sample/RadarMsgDataType/RadarObjectStruct</TYPE-TREF>
</VARIABLE-DATA-PROTOTYPE>
</EVENTS>
<FIELDS>
<FIELD>
<SHORT-NAME>RadarStateField</SHORT-NAME>
<TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/UInt32</TYPE-TREF>
<HAS-GETTER>true</HAS-GETTER>
<HAS-NOTIFIER>true</HAS-NOTIFIER>
<HAS-SETTER>true</HAS-SETTER>
</FIELD>
</FIELDS>
<METHODS>
<CLIENT-SERVER-OPERATION>
<SHORT-NAME>RadarControlMethod</SHORT-NAME>
<ARGUMENTS>
<ARGUMENT-DATA-PROTOTYPE>
<SHORT-NAME>inputArg</SHORT-NAME>
<TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/UInt32</TYPE-TREF>
<DIRECTION>IN</DIRECTION>
</ARGUMENT-DATA-PROTOTYPE>
<ARGUMENT-DATA-PROTOTYPE>
<SHORT-NAME>outputArg</SHORT-NAME>
<TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/Bool</TYPE-TREF>
<DIRECTION>OUT</DIRECTION>
</ARGUMENT-DATA-PROTOTYPE>
<ARGUMENT-DATA-PROTOTYPE>
<SHORT-NAME>inoutArg</SHORT-NAME>
<TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/String</TYPE-TREF>
<DIRECTION>INOUT</DIRECTION>
</ARGUMENT-DATA-PROTOTYPE>
</ARGUMENTS>
</CLIENT-SERVER-OPERATION>
</METHODS>
</SERVICE-INTERFACE>
<SOMEIP-SERVICE-INTERFACE-DEPLOYMENT>
<SHORT-NAME>RadarSomeipServiceInterfaceDeployment</SHORT-NAME>
<EVENT-DEPLOYMENTS>
<SOMEIP-EVENT-DEPLOYMENT>
<SHORT-NAME>RadarDataEventDeployment</SHORT-NAME>
<EVENT-REF DEST="VARIABLE-DATA-PROTOTYPE">/HuaweiMDC/Sample/RadarServiceInterface/RadarServiceInterface/RadarDataEvent</EVENT-REF>
<EVENT-ID>3300</EVENT-ID>
<TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
</SOMEIP-EVENT-DEPLOYMENT>
</EVENT-DEPLOYMENTS>
<FIELD-DEPLOYMENTS>
<SOMEIP-FIELD-DEPLOYMENT>
<SHORT-NAME>RadarStateFieldDeployment</SHORT-NAME>
<FIELD-REF DEST="FIELD">/HuaweiMDC/Sample/RadarServiceInterface/RadarServiceInterface/RadarStateField</FIELD-REF>
<GET>
<SHORT-NAME>Getter</SHORT-NAME>
<METHOD-ID>2</METHOD-ID>
<TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
</GET>
<NOTIFIER>
<SHORT-NAME>Notifier</SHORT-NAME>
<EVENT-ID>33002</EVENT-ID>
<TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
</NOTIFIER>
<SET>
<SHORT-NAME>Setter</SHORT-NAME>
<METHOD-ID>3</METHOD-ID>
<TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
</SET>
</SOMEIP-FIELD-DEPLOYMENT>
</FIELD-DEPLOYMENTS>
<METHOD-DEPLOYMENTS>
<SOMEIP-METHOD-DEPLOYMENT>
<SHORT-NAME>RadarControlMethodDeployment</SHORT-NAME>
<METHOD-REF DEST="CLIENT-SERVER-OPERATION">/HuaweiMDC/Sample/RadarServiceInterface/RadarServiceInterface/RadarControlMethod</METHOD-REF>
<METHOD-ID>1</METHOD-ID>
<TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
</SOMEIP-METHOD-DEPLOYMENT>
</METHOD-DEPLOYMENTS>
<SERVICE-INTERFACE-REF DEST="SERVICE-INTERFACE">/HuaweiMDC/Sample/RadarServiceInterface/RadarServiceInterface</SERVICE-INTERFACE-REF>
<EVENT-GROUPS>
<SOMEIP-EVENT-GROUP S="">
<SHORT-NAME>RadarEventGroup</SHORT-NAME>
<EVENT-GROUP-ID>1</EVENT-GROUP-ID>
<EVENT-REFS>
<EVENT-REF DEST="SOMEIP-EVENT-DEPLOYMENT">/HuaweiMDC/Sample/RadarServiceInterface/RadarSomeipServiceInterfaceDeployment/RadarStateFieldDeployment/Notifier</EVENT-REF>
<EVENT-REF DEST="SOMEIP-EVENT-DEPLOYMENT">/HuaweiMDC/Sample/RadarServiceInterface/RadarSomeipServiceInterfaceDeployment/RadarDataEventDeployment</EVENT-REF>
</EVENT-REFS>
</SOMEIP-EVENT-GROUP>
</EVENT-GROUPS>
<SERVICE-INTERFACE-ID>95</SERVICE-INTERFACE-ID>
<SERVICE-INTERFACE-VERSION>
<MAJOR-VERSION>1</MAJOR-VERSION>
<MINOR-VERSION>0</MINOR-VERSION>
</SERVICE-INTERFACE-VERSION>
</SOMEIP-SERVICE-INTERFACE-DEPLOYMENT>
</ELEMENTS>
</AR-PACKAGE>
</AR-PACKAGES>
</AR-PACKAGE>
</AR-PACKAGES>
</AR-PACKAGE>
</AR-PACKAGES>
</AUTOSAR>