From 2df4bed443d9f51d6d39a44d9f57f82e028fed67 Mon Sep 17 00:00:00 2001 From: Bryan Godbolt Date: Wed, 25 Aug 2010 15:20:32 -0600 Subject: [PATCH] fixed parameter set issue where parameter name was becoming corrupted --- src/uas/UAS.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/uas/UAS.cc b/src/uas/UAS.cc index 1a5b2a6f4..fec0ffbe5 100644 --- a/src/uas/UAS.cc +++ b/src/uas/UAS.cc @@ -940,21 +940,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)) @@ -966,7 +965,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); } -- 2.22.0