|
|
|
@ -161,7 +161,7 @@ bool MAVLinkXMLParser::generate()
@@ -161,7 +161,7 @@ bool MAVLinkXMLParser::generate()
|
|
|
|
|
} |
|
|
|
|
else if (fieldType == "uint16_t" || fieldType == "int16_t") |
|
|
|
|
{ |
|
|
|
|
unpackingCode = QString("\tgeneric_32bit r;\n\tr.b[3] = (msg->payload%1)[0];\n\tr.b[1] = (msg->payload%1)[1];\n\treturn (%2)r.s;").arg(prepends).arg(fieldType); |
|
|
|
|
unpackingCode = QString("\tgeneric_16bit r;\n\tr.b[1] = (msg->payload%1)[0];\n\tr.b[0] = (msg->payload%1)[1];\n\treturn (%2)r.s;").arg(prepends).arg(fieldType); |
|
|
|
|
} |
|
|
|
|
else if (fieldType == "uint32_t" || fieldType == "int32_t") |
|
|
|
|
{ |
|
|
|
@ -171,9 +171,9 @@ bool MAVLinkXMLParser::generate()
@@ -171,9 +171,9 @@ bool MAVLinkXMLParser::generate()
|
|
|
|
|
{ |
|
|
|
|
unpackingCode = QString("\tgeneric_32bit r;\n\tr.b[3] = (msg->payload%1)[0];\n\tr.b[2] = (msg->payload%1)[1];\n\tr.b[1] = (msg->payload%1)[2];\n\tr.b[0] = (msg->payload%1)[3];\n\treturn (%2)r.f;").arg(prepends).arg(fieldType); |
|
|
|
|
} |
|
|
|
|
else if (fieldType == "uint32_t" || fieldType == "int32_t") |
|
|
|
|
else if (fieldType == "uint64_t" || fieldType == "int64_t") |
|
|
|
|
{ |
|
|
|
|
unpackingCode = QString("\tgeneric_32bit r;\n\tr.b[3] = (msg->payload%1)[0];\n\tr.b[2] = (msg->payload%1)[1];\n\tr.b[1] = (msg->payload%1)[2];\n\tr.b[0] = (msg->payload%1)[3];\n\treturn (%2)r.f;").arg(prepends).arg(fieldType); |
|
|
|
|
unpackingCode = QString("\tgeneric_64bit r;\n\tr.b[7] = (msg->payload%1)[0];\n\tr.b[6] = (msg->payload%1)[1];\n\tr.b[5] = (msg->payload%1)[2];\n\tr.b[4] = (msg->payload%1)[3];\n\tr.b[3] = (msg->payload%1)[4];\n\tr.b[2] = (msg->payload%1)[5];\n\tr.b[1] = (msg->payload%1)[6];\n\tr.b[0] = (msg->payload%1)[7];\n\treturn (%2)r.ll;").arg(prepends).arg(fieldType); |
|
|
|
|
} |
|
|
|
|
else if (fieldType.startsWith("array")) |
|
|
|
|
{ // fieldtype formatis string[n] where n is the number of bytes, extract n from field type string
|
|
|
|
|