diff --git a/src/modules/mavlink/mavlink_messages.cpp b/src/modules/mavlink/mavlink_messages.cpp index 4dc38f8a75..2a03d4a53e 100644 --- a/src/modules/mavlink/mavlink_messages.cpp +++ b/src/modules/mavlink/mavlink_messages.cpp @@ -118,11 +118,11 @@ using matrix::Vector3f; using matrix::wrap_2pi; -#include "streams/autopilot_version.h" -#include "streams/flight_information.h" -#include "streams/protocol_version.h" -#include "streams/storage_information.h" +#include "streams/AUTOPILOT_VERSION.hpp" #include "streams/EXTENDED_SYS_STATE.hpp" +#include "streams/FLIGHT_INFORMATION.hpp" +#include "streams/PROTOCOL_VERSION.hpp" +#include "streams/STORAGE_INFORMATION.hpp" // ensure PX4 rotation enum and MAV_SENSOR_ROTATION align static_assert(MAV_SENSOR_ROTATION_NONE == static_cast(ROTATION_NONE), @@ -5516,7 +5516,7 @@ static const StreamListItem streams_list[] = { create_stream_list_item(), create_stream_list_item(), create_stream_list_item(), -#ifdef EXTENDED_SYS_STATE_HPP +#if defined(EXTENDED_SYS_STATE_HPP) create_stream_list_item(), #endif // EXTENDED_SYS_STATE_HPP create_stream_list_item(), @@ -5532,10 +5532,18 @@ static const StreamListItem streams_list[] = { create_stream_list_item(), create_stream_list_item(), create_stream_list_item(), +#if defined(AUTOPILOT_VERSION_HPP) create_stream_list_item(), +#endif // AUTOPILOT_VERSION_HPP +#if defined(PROTOCOL_VERSION_HPP) create_stream_list_item(), +#endif // PROTOCOL_VERSION_HPP +#if defined(FLIGHT_INFORMATION_HPP) create_stream_list_item(), +#endif // FLIGHT_INFORMATION_HPP +#if defined(STORAGE_INFORMATION_HPP) create_stream_list_item(), +#endif // STORAGE_INFORMATION_HPP create_stream_list_item() }; diff --git a/src/modules/mavlink/streams/autopilot_version.h b/src/modules/mavlink/streams/AUTOPILOT_VERSION.hpp similarity index 73% rename from src/modules/mavlink/streams/autopilot_version.h rename to src/modules/mavlink/streams/AUTOPILOT_VERSION.hpp index 74bb327bbe..c532008130 100644 --- a/src/modules/mavlink/streams/autopilot_version.h +++ b/src/modules/mavlink/streams/AUTOPILOT_VERSION.hpp @@ -31,37 +31,19 @@ * ****************************************************************************/ -#pragma once - -#include "../mavlink_messages.h" +#ifndef AUTOPILOT_VERSION_HPP +#define AUTOPILOT_VERSION_HPP class MavlinkStreamAutopilotVersion : public MavlinkStream { public: - const char *get_name() const override - { - return MavlinkStreamAutopilotVersion::get_name_static(); - } + static MavlinkStream *new_instance(Mavlink *mavlink) { return new MavlinkStreamAutopilotVersion(mavlink); } - static constexpr const char *get_name_static() - { - return "AUTOPILOT_VERSION"; - } + static constexpr const char *get_name_static() { return "AUTOPILOT_VERSION"; } + static constexpr uint16_t get_id_static() { return MAVLINK_MSG_ID_AUTOPILOT_VERSION; } - static constexpr uint16_t get_id_static() - { - return MAVLINK_MSG_ID_AUTOPILOT_VERSION; - } - - uint16_t get_id() override - { - return get_id_static(); - } - - static MavlinkStream *new_instance(Mavlink *mavlink) - { - return new MavlinkStreamAutopilotVersion(mavlink); - } + const char *get_name() const override { return get_name_static(); } + uint16_t get_id() override { return get_id_static(); } unsigned get_size() override { @@ -69,17 +51,12 @@ public: } private: - /* do not allow top copying this class */ - MavlinkStreamAutopilotVersion(MavlinkStreamAutopilotVersion &) = delete; - MavlinkStreamAutopilotVersion &operator = (const MavlinkStreamAutopilotVersion &) = delete; - - -protected: - explicit MavlinkStreamAutopilotVersion(Mavlink *mavlink) : MavlinkStream(mavlink) - {} + explicit MavlinkStreamAutopilotVersion(Mavlink *mavlink) : MavlinkStream(mavlink) {} bool send(const hrt_abstime t) override { return _mavlink->send_autopilot_capabilities(); } }; + +#endif // AUTOPILOT_VERSION_HPP diff --git a/src/modules/mavlink/streams/EXTENDED_SYS_STATE.hpp b/src/modules/mavlink/streams/EXTENDED_SYS_STATE.hpp index 8dde7caced..105d2815cd 100644 --- a/src/modules/mavlink/streams/EXTENDED_SYS_STATE.hpp +++ b/src/modules/mavlink/streams/EXTENDED_SYS_STATE.hpp @@ -37,30 +37,13 @@ class MavlinkStreamExtendedSysState : public MavlinkStream { public: - const char *get_name() const override - { - return MavlinkStreamExtendedSysState::get_name_static(); - } + static MavlinkStream *new_instance(Mavlink *mavlink) { return new MavlinkStreamExtendedSysState(mavlink); } - static constexpr const char *get_name_static() - { - return "EXTENDED_SYS_STATE"; - } + static constexpr const char *get_name_static() { return "EXTENDED_SYS_STATE"; } + static constexpr uint16_t get_id_static() { return MAVLINK_MSG_ID_EXTENDED_SYS_STATE; } - static constexpr uint16_t get_id_static() - { - return MAVLINK_MSG_ID_EXTENDED_SYS_STATE; - } - - uint16_t get_id() override - { - return get_id_static(); - } - - static MavlinkStream *new_instance(Mavlink *mavlink) - { - return new MavlinkStreamExtendedSysState(mavlink); - } + const char *get_name() const override { return get_name_static(); } + uint16_t get_id() override { return get_id_static(); } unsigned get_size() override { @@ -68,24 +51,18 @@ public: } private: - uORB::Subscription _status_sub{ORB_ID(vehicle_status)}; - uORB::Subscription _landed_sub{ORB_ID(vehicle_land_detected)}; - uORB::Subscription _pos_sp_triplet_sub{ORB_ID(position_setpoint_triplet)}; - uORB::Subscription _control_mode_sub{ORB_ID(vehicle_control_mode)}; - mavlink_extended_sys_state_t _msg; - - /* do not allow top copying this class */ - MavlinkStreamExtendedSysState(MavlinkStreamExtendedSysState &) = delete; - MavlinkStreamExtendedSysState &operator = (const MavlinkStreamExtendedSysState &) = delete; - -protected: - explicit MavlinkStreamExtendedSysState(Mavlink *mavlink) : MavlinkStream(mavlink), - _msg() + explicit MavlinkStreamExtendedSysState(Mavlink *mavlink) : MavlinkStream(mavlink) { _msg.vtol_state = MAV_VTOL_STATE_UNDEFINED; _msg.landed_state = MAV_LANDED_STATE_ON_GROUND; } + uORB::Subscription _status_sub{ORB_ID(vehicle_status)}; + uORB::Subscription _landed_sub{ORB_ID(vehicle_land_detected)}; + uORB::Subscription _pos_sp_triplet_sub{ORB_ID(position_setpoint_triplet)}; + uORB::Subscription _control_mode_sub{ORB_ID(vehicle_control_mode)}; + mavlink_extended_sys_state_t _msg{}; + bool send(const hrt_abstime t) override { bool updated = false; diff --git a/src/modules/mavlink/streams/flight_information.h b/src/modules/mavlink/streams/FLIGHT_INFORMATION.hpp similarity index 79% rename from src/modules/mavlink/streams/flight_information.h rename to src/modules/mavlink/streams/FLIGHT_INFORMATION.hpp index cab474bbf3..48fc35786c 100644 --- a/src/modules/mavlink/streams/flight_information.h +++ b/src/modules/mavlink/streams/FLIGHT_INFORMATION.hpp @@ -31,58 +31,36 @@ * ****************************************************************************/ -#pragma once - -#include "../mavlink_messages.h" +#ifndef FLIGHT_INFORMATION_HPP +#define FLIGHT_INFORMATION_HPP #include class MavlinkStreamFlightInformation : public MavlinkStream { public: - const char *get_name() const override - { - return MavlinkStreamFlightInformation::get_name_static(); - } + static MavlinkStream *new_instance(Mavlink *mavlink) { return new MavlinkStreamFlightInformation(mavlink); } - static constexpr const char *get_name_static() - { - return "FLIGHT_INFORMATION"; - } + static constexpr const char *get_name_static() { return "FLIGHT_INFORMATION"; } + static constexpr uint16_t get_id_static() { return MAVLINK_MSG_ID_FLIGHT_INFORMATION; } - static constexpr uint16_t get_id_static() - { - return MAVLINK_MSG_ID_FLIGHT_INFORMATION; - } - - uint16_t get_id() override - { - return get_id_static(); - } - - static MavlinkStream *new_instance(Mavlink *mavlink) - { - return new MavlinkStreamFlightInformation(mavlink); - } + const char *get_name() const override { return get_name_static(); } + uint16_t get_id() override { return get_id_static(); } unsigned get_size() override { return MAVLINK_MSG_ID_FLIGHT_INFORMATION_LEN + MAVLINK_NUM_NON_PAYLOAD_BYTES; } -private: - uORB::Subscription _armed_sub{ORB_ID(actuator_armed)}; - param_t _param_com_flight_uuid; - /* do not allow top copying this class */ - MavlinkStreamFlightInformation(MavlinkStreamFlightInformation &) = delete; - MavlinkStreamFlightInformation &operator = (const MavlinkStreamFlightInformation &) = delete; -protected: +private: explicit MavlinkStreamFlightInformation(Mavlink *mavlink) : MavlinkStream(mavlink) { - _param_com_flight_uuid = param_find("COM_FLIGHT_UUID"); } + uORB::Subscription _armed_sub{ORB_ID(actuator_armed)}; + param_t _param_com_flight_uuid; + bool send(const hrt_abstime t) override { actuator_armed_s actuator_armed{}; @@ -102,3 +80,5 @@ protected: return ret; } }; + +#endif // FLIGHT_INFORMATION_HPP diff --git a/src/modules/mavlink/streams/protocol_version.h b/src/modules/mavlink/streams/PROTOCOL_VERSION.hpp similarity index 73% rename from src/modules/mavlink/streams/protocol_version.h rename to src/modules/mavlink/streams/PROTOCOL_VERSION.hpp index cc457a9f7f..35d4757b52 100644 --- a/src/modules/mavlink/streams/protocol_version.h +++ b/src/modules/mavlink/streams/PROTOCOL_VERSION.hpp @@ -31,37 +31,19 @@ * ****************************************************************************/ -#pragma once - -#include "../mavlink_messages.h" +#ifndef PROTOCOL_VERSION_HPP +#define PROTOCOL_VERSION_HPP class MavlinkStreamProtocolVersion : public MavlinkStream { public: - const char *get_name() const override - { - return MavlinkStreamProtocolVersion::get_name_static(); - } + static MavlinkStream *new_instance(Mavlink *mavlink) { return new MavlinkStreamProtocolVersion(mavlink); } - static constexpr const char *get_name_static() - { - return "PROTOCOL_VERSION"; - } + static constexpr const char *get_name_static() { return "PROTOCOL_VERSION"; } + static constexpr uint16_t get_id_static() { return MAVLINK_MSG_ID_PROTOCOL_VERSION; } - static constexpr uint16_t get_id_static() - { - return MAVLINK_MSG_ID_PROTOCOL_VERSION; - } - - uint16_t get_id() override - { - return get_id_static(); - } - - static MavlinkStream *new_instance(Mavlink *mavlink) - { - return new MavlinkStreamProtocolVersion(mavlink); - } + const char *get_name() const override { return get_name_static(); } + uint16_t get_id() override { return get_id_static(); } unsigned get_size() override { @@ -69,14 +51,7 @@ public: } private: - /* do not allow top copying this class */ - MavlinkStreamProtocolVersion(MavlinkStreamProtocolVersion &) = delete; - MavlinkStreamProtocolVersion &operator = (const MavlinkStreamProtocolVersion &) = delete; - - -protected: - explicit MavlinkStreamProtocolVersion(Mavlink *mavlink) : MavlinkStream(mavlink) - {} + explicit MavlinkStreamProtocolVersion(Mavlink *mavlink) : MavlinkStream(mavlink) {} bool send(const hrt_abstime t) override { @@ -84,3 +59,5 @@ protected: return true; } }; + +#endif // PROTOCOL_VERSION_HPP diff --git a/src/modules/mavlink/streams/storage_information.h b/src/modules/mavlink/streams/STORAGE_INFORMATION.hpp similarity index 81% rename from src/modules/mavlink/streams/storage_information.h rename to src/modules/mavlink/streams/STORAGE_INFORMATION.hpp index fe55a89ed2..e7a23ab9f9 100644 --- a/src/modules/mavlink/streams/storage_information.h +++ b/src/modules/mavlink/streams/STORAGE_INFORMATION.hpp @@ -31,9 +31,8 @@ * ****************************************************************************/ -#pragma once - -#include "../mavlink_messages.h" +#ifndef STORAGE_INFORMATION_HPP +#define STORAGE_INFORMATION_HPP #ifdef __PX4_DARWIN #include @@ -47,30 +46,13 @@ class MavlinkStreamStorageInformation : public MavlinkStream { public: - const char *get_name() const override - { - return MavlinkStreamStorageInformation::get_name_static(); - } + static MavlinkStream *new_instance(Mavlink *mavlink) { return new MavlinkStreamStorageInformation(mavlink); } - static constexpr const char *get_name_static() - { - return "STORAGE_INFORMATION"; - } + static constexpr const char *get_name_static() { return "STORAGE_INFORMATION"; } + static constexpr uint16_t get_id_static() { return MAVLINK_MSG_ID_STORAGE_INFORMATION; } - static constexpr uint16_t get_id_static() - { - return MAVLINK_MSG_ID_STORAGE_INFORMATION; - } - - uint16_t get_id() override - { - return get_id_static(); - } - - static MavlinkStream *new_instance(Mavlink *mavlink) - { - return new MavlinkStreamStorageInformation(mavlink); - } + const char *get_name() const override { return get_name_static(); } + uint16_t get_id() override { return get_id_static(); } unsigned get_size() override { @@ -84,16 +66,9 @@ public: return send(hrt_absolute_time()); } private: - int _storage_id = 0; + explicit MavlinkStreamStorageInformation(Mavlink *mavlink) : MavlinkStream(mavlink) {} - /* do not allow top copying this class */ - MavlinkStreamStorageInformation(MavlinkStreamStorageInformation &) = delete; - MavlinkStreamStorageInformation &operator = (const MavlinkStreamStorageInformation &) = delete; - - -protected: - explicit MavlinkStreamStorageInformation(Mavlink *mavlink) : MavlinkStream(mavlink) - {} + int _storage_id{0}; bool send(const hrt_abstime t) override { @@ -133,3 +108,5 @@ protected: return true; } }; + +#endif // STORAGE_INFORMATION_HPP