mavlink: param_get proper type to silence errors

This commit is contained in:
Daniel Agar
2021-11-19 15:55:11 -05:00
parent cbb743c64d
commit 8fc3b05491
+16 -5
View File
@@ -522,14 +522,25 @@ MavlinkParametersManager::send_param(param_t param, int component_id)
* get param value, since MAVLink encodes float and int params in the same
* space during transmission, copy param onto float val_buf
*/
float param_value{};
if (param_type(param) == PARAM_TYPE_INT32) {
int32_t param_value;
if (param_get(param, &param_value) != OK) {
return 2;
if (param_get(param, &param_value) != OK) {
return 2;
}
memcpy(&msg.param_value, &param_value, sizeof(param_value));
} else {
float param_value;
if (param_get(param, &param_value) != OK) {
return 2;
}
msg.param_value = param_value;
}
msg.param_value = param_value;
msg.param_count = param_count_used();
msg.param_index = param_get_used_index(param);