Skip to content

Commit

Permalink
Merge pull request #833 from mavlink/camera-params-workaround
Browse files Browse the repository at this point in the history
mavlink_parameters: workaround for param mismatch
  • Loading branch information
julianoes committed Sep 10, 2019
2 parents e84034a + a060a6f commit 08d1422
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/core/mavlink_parameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,24 @@ void MAVLinkParameters::process_param_ext_value(const mavlink_message_t& message
if (work->get_param_callback) {
work->get_param_callback(MAVLinkParameters::Result::SUCCESS, value);
}
} else if (value.is_uint8() && work->param_value.is_uint16()) {
// FIXME: workaround for mismatching type uint8_t which should be uint16_t.
ParamValue correct_type_value;
correct_type_value.set_uint16(static_cast<uint16_t>(value.get_uint8()));
_cache[work->param_name] = correct_type_value;
if (work->get_param_callback) {
work->get_param_callback(
MAVLinkParameters::Result::SUCCESS, correct_type_value);
}
} else if (value.is_uint8() && work->param_value.is_uint32()) {
// FIXME: workaround for mismatching type uint8_t which should be uint32_t.
ParamValue correct_type_value;
correct_type_value.set_uint32(static_cast<uint32_t>(value.get_uint8()));
_cache[work->param_name] = correct_type_value;
if (work->get_param_callback) {
work->get_param_callback(
MAVLinkParameters::Result::SUCCESS, correct_type_value);
}
} else {
LogErr() << "Param types don't match";
ParamValue no_value;
Expand Down

0 comments on commit 08d1422

Please sign in to comment.