Commit a65d5c56 authored by Bryan Godbolt's avatar Bryan Godbolt

fixed parameter set issue where parameter name was becoming corrupted

parent 3578606a
......@@ -955,21 +955,20 @@ void UAS::enableExtra3Transmission(bool enabled)
}
void UAS::setParameter(int component, QString id, float value)
{
{
mavlink_message_t msg;
mavlink_param_set_t p;
p.param_value = value;
p.target_system = (uint8_t)uasId;
p.target_component = (uint8_t)component;
// Copy string into buffer, ensuring not to exceed the buffer size
char* s = (char*)id.toStdString().c_str();
// Copy string into buffer, ensuring not to exceed the buffer size
for (unsigned int i = 0; i < sizeof(p.param_id); i++)
{
// String characters
if ((int)i < id.length() && i < (sizeof(p.param_id) - 1))
{
p.param_id[i] = s[i];
p.param_id[i] = id.toAscii()[i];
}
// Null termination at end of string or end of buffer
else if ((int)i == id.length() || i == (sizeof(p.param_id) - 1))
......@@ -981,7 +980,7 @@ void UAS::setParameter(int component, QString id, float value)
{
p.param_id[i] = 0;
}
}
}
mavlink_msg_param_set_encode(mavlink->getSystemId(), mavlink->getComponentId(), &msg, &p);
sendMessage(msg);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment