MCPcopy Create free account
hub / github.com/OpenHD/OpenHD / AirTelemetry

Method AirTelemetry

OpenHD/ohd_telemetry/src/AirTelemetry.cpp:34–63  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32#include "openhd_util_time.h"
33
34AirTelemetry::AirTelemetry() : MavlinkSystem(OHD_SYS_ID_AIR) {
35 m_console = openhd::log::create_or_get("air_tele");
36 assert(m_console);
37 m_air_settings = std::make_unique<openhd::telemetry::air::SettingsHolder>();
38 m_fc_serial = std::make_unique<SerialEndpointManager>();
39 m_ohd_main_component = std::make_shared<OHDMainComponent>(_sys_id, true);
40 m_components.push_back(m_ohd_main_component);
41 //
42 m_generic_mavlink_param_provider = std::make_shared<XMavlinkParamProvider>(
43 _sys_id, MAV_COMP_ID_ONBOARD_COMPUTER);
44 if (OHDPlatform::instance().is_rpi()) {
45 m_opt_gpio_control =
46 std::make_unique<openhd::telemetry::rpi::GPIOControl>();
47 }
48 // NOTE: We don't call set ready yet, since we have to wait until other
49 // modules have provided all their paramters.
50 m_generic_mavlink_param_provider->add_params(get_all_settings());
51 m_components.push_back(m_generic_mavlink_param_provider);
52 m_tcp_server = std::make_unique<TCPEndpoint>(
53 openhd::TCPServer::Config{TCPEndpoint::DEFAULT_PORT}); // 1445
54 if (m_tcp_server) {
55 m_tcp_server->registerCallback(
56 [this](std::vector<MavlinkMessage> messages) {
57 // Technically not correct, but works
58 on_messages_ground_unit(messages);
59 });
60 }
61 setup_uart();
62 m_console->debug("Created AirTelemetry");
63}
64
65AirTelemetry::~AirTelemetry() {}
66

Callers

nothing calls this directly

Calls 5

push_backMethod · 0.80
is_rpiMethod · 0.80
add_paramsMethod · 0.80
registerCallbackMethod · 0.80
debugMethod · 0.80

Tested by

no test coverage detected