• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mavlink / MAVSDK / 4578731844

pending completion
4578731844

push

github

GitHub
Merge pull request #2012 from mavlink/rename-parent

885 of 885 new or added lines in 31 files covered. (100.0%)

7416 of 24250 relevant lines covered (30.58%)

21.54 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

64.38
/src/mavsdk/plugins/param/param_impl.cpp
1
#include <functional>
2
#include "param_impl.h"
3
#include "system.h"
4

5
namespace mavsdk {
6

7
ParamImpl::ParamImpl(System& system) : PluginImplBase(system)
×
8
{
9
    _system_impl->register_plugin(this);
×
10
}
×
11

12
ParamImpl::ParamImpl(std::shared_ptr<System> system) : PluginImplBase(std::move(system))
3✔
13
{
14
    _system_impl->register_plugin(this);
3✔
15
}
3✔
16

17
ParamImpl::~ParamImpl()
3✔
18
{
19
    _system_impl->unregister_plugin(this);
3✔
20
}
3✔
21

22
void ParamImpl::init() {}
3✔
23

24
void ParamImpl::deinit() {}
3✔
25

26
void ParamImpl::enable() {}
3✔
27

28
void ParamImpl::disable() {}
3✔
29

30
std::pair<Param::Result, int32_t> ParamImpl::get_param_int(const std::string& name)
2✔
31
{
32
    std::pair<MAVLinkParameters::Result, int32_t> result = _system_impl->get_param_int(name);
2✔
33
    return std::make_pair<>(result_from_mavlink_parameters_result(result.first), result.second);
2✔
34
}
35

36
Param::Result ParamImpl::set_param_int(const std::string& name, int32_t value)
1✔
37
{
38
    MAVLinkParameters::Result result = _system_impl->set_param_int(name, value);
1✔
39
    return result_from_mavlink_parameters_result(result);
1✔
40
}
41

42
std::pair<Param::Result, float> ParamImpl::get_param_float(const std::string& name)
2✔
43
{
44
    std::pair<MAVLinkParameters::Result, float> result = _system_impl->get_param_float(name);
2✔
45
    return std::make_pair<>(result_from_mavlink_parameters_result(result.first), result.second);
2✔
46
}
47

48
Param::Result ParamImpl::set_param_float(const std::string& name, float value)
1✔
49
{
50
    MAVLinkParameters::Result result = _system_impl->set_param_float(name, value);
1✔
51
    return result_from_mavlink_parameters_result(result);
1✔
52
}
53

54
std::pair<Param::Result, std::string> ParamImpl::get_param_custom(const std::string& name)
2✔
55
{
56
    auto result = _system_impl->get_param_custom(name);
4✔
57
    return std::make_pair<>(result_from_mavlink_parameters_result(result.first), result.second);
2✔
58
}
59

60
Param::Result ParamImpl::set_param_custom(const std::string& name, const std::string& value)
1✔
61
{
62
    auto result = _system_impl->set_param_custom(name, value);
1✔
63
    return result_from_mavlink_parameters_result(result);
1✔
64
}
65

66
Param::AllParams ParamImpl::get_all_params()
1✔
67
{
68
    auto tmp = _system_impl->get_all_params();
2✔
69

70
    Param::AllParams res{};
1✔
71
    for (auto const& param_pair : tmp) {
201✔
72
        if (param_pair.second.is<float>()) {
200✔
73
            Param::FloatParam tmp_param;
200✔
74
            tmp_param.name = param_pair.first;
100✔
75
            tmp_param.value = param_pair.second.get<float>();
100✔
76
            res.float_params.push_back(tmp_param);
100✔
77
        } else if (param_pair.second.is<int32_t>()) {
100✔
78
            Param::IntParam tmp_param;
200✔
79
            tmp_param.name = param_pair.first;
100✔
80
            tmp_param.value = param_pair.second.get<int32_t>();
100✔
81
            res.int_params.push_back(tmp_param);
100✔
82
        } else if (param_pair.second.is<int16_t>()) {
×
83
            Param::IntParam tmp_param;
×
84
            tmp_param.name = param_pair.first;
×
85
            tmp_param.value = param_pair.second.get<int16_t>();
×
86
            res.int_params.push_back(tmp_param);
×
87
        } else if (param_pair.second.is<int8_t>()) {
×
88
            Param::IntParam tmp_param;
×
89
            tmp_param.name = param_pair.first;
×
90
            tmp_param.value = param_pair.second.get<int8_t>();
×
91
            res.int_params.push_back(tmp_param);
×
92
        }
93
    }
94

95
    return res;
1✔
96
}
97

98
Param::Result ParamImpl::result_from_mavlink_parameters_result(MAVLinkParameters::Result result)
9✔
99
{
100
    switch (result) {
9✔
101
        case MAVLinkParameters::Result::Success:
9✔
102
            return Param::Result::Success;
9✔
103
        case MAVLinkParameters::Result::Timeout:
×
104
            return Param::Result::Timeout;
×
105
        case MAVLinkParameters::Result::ParamNameTooLong:
×
106
            return Param::Result::ParamNameTooLong;
×
107
        case MAVLinkParameters::Result::WrongType:
×
108
            return Param::Result::WrongType;
×
109
        case MAVLinkParameters::Result::ConnectionError:
×
110
            return Param::Result::ConnectionError;
×
111
        case MAVLinkParameters::Result::ParamValueTooLong:
×
112
            return Param::Result::ParamValueTooLong;
×
113
        default:
×
114
            LogErr() << "Unknown param error";
×
115
            return Param::Result::Unknown;
×
116
    }
117
}
118

119
} // namespace mavsdk
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc