|
|
|
@ -341,7 +341,8 @@ bool MAVLinkXMLParser::generate()
@@ -341,7 +341,8 @@ bool MAVLinkXMLParser::generate()
|
|
|
|
|
|
|
|
|
|
QString decode("static inline void mavlink_msg_%1_decode(const mavlink_message_t* msg, %2* %1)\n{\n%3}\n"); |
|
|
|
|
QString pack("static inline uint16_t mavlink_msg_%1_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg%2)\n{\n\tuint16_t i = 0;\n\tmsg->msgid = MAVLINK_MSG_ID_%3;\n\n%4\n\treturn mavlink_finalize_message(msg, system_id, component_id, i);\n}\n\n"); |
|
|
|
|
QString compactSend("#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS\n\nstatic inline void mavlink_msg_%3_send(%1 chan%5)\n{\n\t%2 msg;\n\tmavlink_msg_%3_pack(mavlink_system.sysid, mavlink_system.compid, &msg%4);\n\tmavlink_send_uart(chan, &msg);\n}\n\n#endif"); |
|
|
|
|
QString packChan("static inline uint16_t mavlink_msg_%1_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg%2)\n{\n\tuint16_t i = 0;\n\tmsg->msgid = MAVLINK_MSG_ID_%3;\n\n%4\n\treturn mavlink_finalize_message_chan(msg, system_id, component_id, chan, i);\n}\n\n"); |
|
|
|
|
QString compactSend("#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS\n\nstatic inline void mavlink_msg_%3_send(%1 chan%5)\n{\n\t%2 msg;\n\tmavlink_msg_%3_pack_chan(mavlink_system.sysid, mavlink_system.compid, chan, &msg%4);\n\tmavlink_send_uart(chan, &msg);\n}\n\n#endif"); |
|
|
|
|
//QString compactStructSend = "#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS\n\nstatic inline void mavlink_msg_%3_struct_send(%1 chan%5)\n{\n\t%2 msg;\n\tmavlink_msg_%3_encode(mavlink_system.sysid, mavlink_system.compid, &msg%4);\n\tmavlink_send_uart(chan, &msg);\n}\n\n#endif";
|
|
|
|
|
QString unpacking; |
|
|
|
|
QString prepends; |
|
|
|
@ -506,10 +507,11 @@ bool MAVLinkXMLParser::generate()
@@ -506,10 +507,11 @@ bool MAVLinkXMLParser::generate()
|
|
|
|
|
cStruct = cStruct.arg(cStructName, cStructLines); |
|
|
|
|
lcmStructDefs.append("\n").append(cStruct).append("\n"); |
|
|
|
|
pack = pack.arg(messageName, packParameters, messageName.toUpper(), packLines); |
|
|
|
|
packChan = packChan.arg(messageName, packParameters, messageName.toUpper(), packLines); |
|
|
|
|
encode = encode.arg(messageName).arg(cStructName).arg(packArguments); |
|
|
|
|
decode = decode.arg(messageName).arg(cStructName).arg(decodeLines); |
|
|
|
|
compactSend = compactSend.arg(channelType, messageType, messageName, sendArguments, packParameters); |
|
|
|
|
QString cFile = "// MESSAGE " + messageName.toUpper() + " PACKING\n\n" + idDefine + "\n\n" + cStruct + "\n\n" + arrayDefines + "\n\n" + commentContainer.arg(messageName.toLower(), commentLines) + pack + encode + "\n" + compactSend + "\n" + "// MESSAGE " + messageName.toUpper() + " UNPACKING\n\n" + unpacking + decode; |
|
|
|
|
QString cFile = "// MESSAGE " + messageName.toUpper() + " PACKING\n\n" + idDefine + "\n\n" + cStruct + "\n\n" + arrayDefines + "\n\n" + commentContainer.arg(messageName.toLower(), commentLines) + pack + packChan + encode + "\n" + compactSend + "\n" + "// MESSAGE " + messageName.toUpper() + " UNPACKING\n\n" + unpacking + decode; |
|
|
|
|
cFiles.append(qMakePair(QString("mavlink_msg_%1.h").arg(messageName), cFile)); |
|
|
|
|
} // Check if tag = message
|
|
|
|
|
} // Check if e = NULL
|
|
|
|
|