Mavros: рд╕рд░рд▓ рдорд╛рд╡рд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢ рд░рд┐рд╕реАрд╡рд░ рд╕рдорд╕реНрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдордИ 2017  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mavlink/mavros

MAVROS рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдордВрдЪ

рдорд╛рд╡рд░реЛрд╕: 0.19.0
рдЖрд░рдУрдПрд╕: рдХрд╛рдЗрдиреЗрдЯрд┐рдХ
рдЙрдмрдВрдЯреВ: 16.04

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг

рдирдорд╕реНрддреЗ,

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ libmavconn рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдорд╛рд╡рд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢ рд░рд┐рд╕реАрд╡рд░ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрдкрдирд╛ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдХреЛрдб рд╣реИ:

mavlink_receiver_test.h:

#ifndef PROJECT_MAVLINK_RECEIVER_TEST_H
#define PROJECT_MAVLINK_RECEIVER_TEST_H

#include <ros/ros.h>
#include <mavconn/interface.h>
#include <mavlink/v2.0/common/mavlink_msg_set_attitude_target.h>

using mavlink::mavlink_message_t;

class MavlinkReceiverTest {
public:
    MavlinkReceiverTest(const std::string& fcu_url);

protected:
    void handle_message(const mavlink_message_t* message, const mavconn::Framing framing);

    void handle_msg_set_attitude_target(const mavlink_message_t* message);

    mavconn::MAVConnInterface::Ptr link_;
};


#endif //PROJECT_MAVLINK_RECEIVER_TEST_H

mavlink_receiver_test.cpp:

#include "aft_controller/mavlink_receiver_test.h"

MavlinkReceiverTest::MavlinkReceiverTest(const std::string& fcu_url) {
    link_ = mavconn::MAVConnInterface::open_url(fcu_url);

    link_->message_received_cb = std::bind(&MavlinkReceiverTest::handle_message, this, std::placeholders::_1,
                                           std::placeholders::_2);
}

void MavlinkReceiverTest::handle_message(const mavlink_message_t* message, const mavconn::Framing framing) {
    switch (message->msgid) {
        case MAVLINK_MSG_ID_SET_ATTITUDE_TARGET:
            ROS_INFO_STREAM("it's working");
            handle_msg_set_attitude_target(message);
            break;
        default:
            break;
    }
}

void MavlinkReceiverTest::handle_msg_set_attitude_target(const mavlink_message_t* message) {
    (void) message;
}

int main(int argc, char** argv) {
    ros::init(argc, argv, "mavlink_receiver_test");
    ros::NodeHandle nh;

    MavlinkReceiverTest mavlink("udp://localhost:14557<strong i="19">@localhost</strong>:14565");
    ros::spin();

    return 0;
}

рдФрд░ рдпрд╣рд╛рдБ catkin_make рдХрдорд╛рдВрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

[  2%] Built target aft_math_tools
[  3%] Built target aft_draw_tools
[  4%] Built target aft_mavros_tools
[  5%] Built target aft_plane
[  5%] Built target std_msgs_generate_messages_eus
[  5%] Built target geometry_msgs_generate_messages_eus
[  6%] Built target aft_bond_tools
[  6%] Built target actionlib_msgs_generate_messages_eus
[  6%] Built target _aft_image_processing_generate_messages_check_deps_PatternRecognitionFeedback
[  6%] Built target _aft_image_processing_generate_messages_check_deps_PatternRecognitionResult
[  6%] Built target _aft_image_processing_generate_messages_check_deps_PatternRecognitionActionResult
[  6%] Built target _aft_image_processing_generate_messages_check_deps_PatternRecognitionGoal
[  6%] Built target _aft_image_processing_generate_messages_check_deps_PatternRecognitionAction
[  6%] Built target _aft_image_processing_generate_messages_check_deps_PatternRecognition
[  6%] Built target std_msgs_generate_messages_lisp
[  6%] Built target _aft_image_processing_generate_messages_check_deps_PatternRecognitionActionFeedback
[  6%] Built target _aft_image_processing_generate_messages_check_deps_PatternRecognitionActionGoal
[  6%] Built target geometry_msgs_generate_messages_lisp
[  6%] Built target actionlib_msgs_generate_messages_lisp
[  6%] Built target geometry_msgs_generate_messages_cpp
[  6%] Built target actionlib_msgs_generate_messages_cpp
[  6%] Built target std_msgs_generate_messages_cpp
[  6%] Built target geometry_msgs_generate_messages_nodejs
[  6%] Built target std_msgs_generate_messages_nodejs
[  6%] Built target actionlib_msgs_generate_messages_nodejs
[  6%] Built target actionlib_msgs_generate_messages_py
[  6%] Built target geometry_msgs_generate_messages_py
[  6%] Built target std_msgs_generate_messages_py
[  7%] Built target pattern_draw
[  8%] Built target pattern_recognition_test
[ 12%] Built target color_object_tracking
[ 12%] Built target pattern_recognition_real_time
[ 13%] Built target bounding_box
[ 15%] Built target camera_calibration
[ 17%] Built target harris_corner_detection
[ 18%] Built target camera_test
[ 19%] Built target contour
[ 21%] Built target face_recognition
[ 22%] Built target optical_flow
[ 24%] Built target sequential_motion_tracking
[ 25%] Built target image_read
[ 26%] Built target shape_detection
[ 27%] Built target geofencing
[ 28%] Built target system_watchdog_test
[ 29%] Built target mavlink_attitude_publisher
[ 31%] Built target offb_example
[ 33%] Built target attitude_controller_example
[ 34%] Building CXX object aft_copter/aft_controller/CMakeFiles/mavlink_receiver_test.dir/src/mavlink_receiver_test.cpp.o
[ 44%] Built target rc_reader_test
[ 45%] Built target dji_control_test
[ 56%] Built target attitude_controller_test
[ 57%] Built target nofly_vertex_plugin
[ 58%] Built target model_push_plugin
[ 59%] Built target hello_world
[ 65%] Built target aft_image_processing_generate_messages_eus
[ 67%] Built target transform_broadcaster_plugin
[ 72%] Built target aft_image_processing_generate_messages_lisp
[ 77%] Built target aft_image_processing_generate_messages_cpp
[ 80%] Built target grid_size_plugin
[ 86%] Built target aft_image_processing_generate_messages_nodejs
[ 86%] Built target aft_image_processing_gencpp
[ 92%] Built target aft_image_processing_generate_messages_py
[ 96%] Built target pattern_recognition_client
[ 96%] Built target pattern_recognition_action_server
[ 98%] Built target pattern_recognition_server
[ 98%] Built target aft_image_processing_generate_messages
In file included from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.h:43:0,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/interface.h:37,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/include/aft_controller/mavlink_receiver_test.h:9,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/src/mavlink_receiver_test.cpp:5:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:79:102: error: тАШmavlink_message_tтАЩ has not been declared
 static inline uint16_t mavlink_msg_set_attitude_target_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
                                                                                                      ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШuint16_t mavlink_msg_set_attitude_target_pack(uint8_t, uint8_t, int*, uint32_t, uint8_t, uint8_t, uint8_t, const float*, float, float, float, float)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:84:43: error: тАШ_mav_put_uint32_tтАЩ was not declared in this scope
     _mav_put_uint32_t(buf, 0, time_boot_ms);
                                           ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:85:43: error: тАШ_mav_put_floatтАЩ was not declared in this scope
     _mav_put_float(buf, 20, body_roll_rate);
                                           ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:89:44: error: тАШ_mav_put_uint8_tтАЩ was not declared in this scope
     _mav_put_uint8_t(buf, 36, target_system);
                                            ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:92:38: error: тАШ_mav_put_float_arrayтАЩ was not declared in this scope
     _mav_put_float_array(buf, 4, q, 4);
                                      ^
In file included from /home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/../message.hpp:15:0,
                 from /home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/common.hpp:16,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.h:23,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/interface.h:37,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/include/aft_controller/mavlink_receiver_test.h:9,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/src/mavlink_receiver_test.cpp:5:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/../mavlink_types.h:158:56: error: request for member тАШpayload64тАЩ in тАШ* msgтАЩ, which is of non-class type тАШintтАЩ
 #define _MAV_PAYLOAD_NON_CONST(msg) ((char *)(&((msg)->payload64[0])))
                                                        ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:93:16: note: in expansion of macro тАШ_MAV_PAYLOAD_NON_CONSTтАЩ
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_ATTITUDE_TARGET_LEN);
                ^
In file included from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.h:43:0,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/interface.h:37,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/include/aft_controller/mavlink_receiver_test.h:9,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/src/mavlink_receiver_test.cpp:5:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:108:10: error: request for member тАШmsgidтАЩ in тАШ* msgтАЩ, which is of non-class type тАШintтАЩ
     msg->msgid = MAVLINK_MSG_ID_SET_ATTITUDE_TARGET;
          ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:109:189: error: тАШmavlink_finalize_messageтАЩ was not declared in this scope
     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SET_ATTITUDE_TARGET_MIN_LEN, MAVLINK_MSG_ID_SET_ATTITUDE_TARGET_LEN, MAVLINK_MSG_ID_SET_ATTITUDE_TARGET_CRC);
                                                                                                                                                                                             ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:109:189: note: suggested alternative:
In file included from /home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/../message.hpp:32:0,
                 from /home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/common.hpp:16,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.h:23,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/interface.h:37,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/include/aft_controller/mavlink_receiver_test.h:9,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/src/mavlink_receiver_test.cpp:5:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/../mavlink_helpers.h:273:25: note:   тАШmavlink::mavlink_finalize_messageтАЩ
 MAVLINK_HELPER uint16_t mavlink_finalize_message(mavlink_message_t* msg, uint8_t system_id, uint8_t component_id, 
                         ^
In file included from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.h:43:0,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/interface.h:37,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/include/aft_controller/mavlink_receiver_test.h:9,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/src/mavlink_receiver_test.cpp:5:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:130:32: error: тАШmavlink_message_tтАЩ has not been declared
                                mavlink_message_t* msg,
                                ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШuint16_t mavlink_msg_set_attitude_target_pack_chan(uint8_t, uint8_t, uint8_t, int*, uint32_t, uint8_t, uint8_t, uint8_t, const float*, float, float, float, float)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:135:43: error: тАШ_mav_put_uint32_tтАЩ was not declared in this scope
     _mav_put_uint32_t(buf, 0, time_boot_ms);
                                           ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:136:43: error: тАШ_mav_put_floatтАЩ was not declared in this scope
     _mav_put_float(buf, 20, body_roll_rate);
                                           ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:140:44: error: тАШ_mav_put_uint8_tтАЩ was not declared in this scope
     _mav_put_uint8_t(buf, 36, target_system);
                                            ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:143:38: error: тАШ_mav_put_float_arrayтАЩ was not declared in this scope
     _mav_put_float_array(buf, 4, q, 4);
                                      ^
In file included from /home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/../message.hpp:15:0,
                 from /home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/common.hpp:16,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.h:23,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/interface.h:37,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/include/aft_controller/mavlink_receiver_test.h:9,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/src/mavlink_receiver_test.cpp:5:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/../mavlink_types.h:158:56: error: request for member тАШpayload64тАЩ in тАШ* msgтАЩ, which is of non-class type тАШintтАЩ
 #define _MAV_PAYLOAD_NON_CONST(msg) ((char *)(&((msg)->payload64[0])))
                                                        ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:144:16: note: in expansion of macro тАШ_MAV_PAYLOAD_NON_CONSTтАЩ
         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SET_ATTITUDE_TARGET_LEN);
                ^
In file included from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.h:43:0,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/interface.h:37,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/include/aft_controller/mavlink_receiver_test.h:9,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/src/mavlink_receiver_test.cpp:5:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:159:10: error: request for member тАШmsgidтАЩ in тАШ* msgтАЩ, which is of non-class type тАШintтАЩ
     msg->msgid = MAVLINK_MSG_ID_SET_ATTITUDE_TARGET;
          ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:160:200: error: тАШmavlink_finalize_message_chanтАЩ was not declared in this scope
     return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_SET_ATTITUDE_TARGET_MIN_LEN, MAVLINK_MSG_ID_SET_ATTITUDE_TARGET_LEN, MAVLINK_MSG_ID_SET_ATTITUDE_TARGET_CRC);
                                                                                                                                                                                                        ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:160:200: note: suggested alternative:
In file included from /home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/../message.hpp:32:0,
                 from /home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/common.hpp:16,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.h:23,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/interface.h:37,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/include/aft_controller/mavlink_receiver_test.h:9,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/src/mavlink_receiver_test.cpp:5:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/../mavlink_helpers.h:263:25: note:   тАШmavlink::mavlink_finalize_message_chanтАЩ
 MAVLINK_HELPER uint16_t mavlink_finalize_message_chan(mavlink_message_t* msg, uint8_t system_id, uint8_t component_id,
                         ^
In file included from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/mavlink_dialect.h:43:0,
                 from /home/l4ncelot/mavros/src/mavros/libmavconn/include/mavconn/interface.h:37,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/include/aft_controller/mavlink_receiver_test.h:9,
                 from /home/l4ncelot/aft_copter/src/aft_copter/aft_controller/src/mavlink_receiver_test.cpp:5:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:171:104: error: тАШmavlink_message_tтАЩ has not been declared
 static inline uint16_t mavlink_msg_set_attitude_target_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_set_attitude_target_t* set_attitude_target)
                                                                                                        ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:185:123: error: тАШmavlink_message_tтАЩ has not been declared
 static inline uint16_t mavlink_msg_set_attitude_target_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_set_attitude_target_t* set_attitude_target)
                                                                                                                           ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:297:79: error: тАШmavlink_message_tтАЩ does not name a type
 static inline uint32_t mavlink_msg_set_attitude_target_get_time_boot_ms(const mavlink_message_t* msg)
                                                                               ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШuint32_t mavlink_msg_set_attitude_target_get_time_boot_ms(const int*)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:299:40: error: тАШ_MAV_RETURN_uint32_tтАЩ was not declared in this scope
     return _MAV_RETURN_uint32_t(msg,  0);
                                        ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:307:79: error: тАШmavlink_message_tтАЩ does not name a type
 static inline uint8_t mavlink_msg_set_attitude_target_get_target_system(const mavlink_message_t* msg)
                                                                               ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШuint8_t mavlink_msg_set_attitude_target_get_target_system(const int*)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:309:40: error: тАШ_MAV_RETURN_uint8_tтАЩ was not declared in this scope
     return _MAV_RETURN_uint8_t(msg,  36);
                                        ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:317:82: error: тАШmavlink_message_tтАЩ does not name a type
 static inline uint8_t mavlink_msg_set_attitude_target_get_target_component(const mavlink_message_t* msg)
                                                                                  ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШuint8_t mavlink_msg_set_attitude_target_get_target_component(const int*)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:319:40: error: тАШ_MAV_RETURN_uint8_tтАЩ was not declared in this scope
     return _MAV_RETURN_uint8_t(msg,  37);
                                        ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:327:75: error: тАШmavlink_message_tтАЩ does not name a type
 static inline uint8_t mavlink_msg_set_attitude_target_get_type_mask(const mavlink_message_t* msg)
                                                                           ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШuint8_t mavlink_msg_set_attitude_target_get_type_mask(const int*)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:329:40: error: тАШ_MAV_RETURN_uint8_tтАЩ was not declared in this scope
     return _MAV_RETURN_uint8_t(msg,  38);
                                        ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:337:68: error: тАШmavlink_message_tтАЩ does not name a type
 static inline uint16_t mavlink_msg_set_attitude_target_get_q(const mavlink_message_t* msg, float *q)
                                                                    ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШuint16_t mavlink_msg_set_attitude_target_get_q(const int*, float*)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:339:49: error: тАШ_MAV_RETURN_float_arrayтАЩ was not declared in this scope
     return _MAV_RETURN_float_array(msg, q, 4,  4);
                                                 ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:347:78: error: тАШmavlink_message_tтАЩ does not name a type
 static inline float mavlink_msg_set_attitude_target_get_body_roll_rate(const mavlink_message_t* msg)
                                                                              ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШfloat mavlink_msg_set_attitude_target_get_body_roll_rate(const int*)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:349:38: error: тАШ_MAV_RETURN_floatтАЩ was not declared in this scope
     return _MAV_RETURN_float(msg,  20);
                                      ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:357:79: error: тАШmavlink_message_tтАЩ does not name a type
 static inline float mavlink_msg_set_attitude_target_get_body_pitch_rate(const mavlink_message_t* msg)
                                                                               ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШfloat mavlink_msg_set_attitude_target_get_body_pitch_rate(const int*)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:359:38: error: тАШ_MAV_RETURN_floatтАЩ was not declared in this scope
     return _MAV_RETURN_float(msg,  24);
                                      ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:367:77: error: тАШmavlink_message_tтАЩ does not name a type
 static inline float mavlink_msg_set_attitude_target_get_body_yaw_rate(const mavlink_message_t* msg)
                                                                             ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШfloat mavlink_msg_set_attitude_target_get_body_yaw_rate(const int*)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:369:38: error: тАШ_MAV_RETURN_floatтАЩ was not declared in this scope
     return _MAV_RETURN_float(msg,  28);
                                      ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:377:70: error: тАШmavlink_message_tтАЩ does not name a type
 static inline float mavlink_msg_set_attitude_target_get_thrust(const mavlink_message_t* msg)
                                                                      ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: In function тАШfloat mavlink_msg_set_attitude_target_get_thrust(const int*)тАЩ:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:379:38: error: тАШ_MAV_RETURN_floatтАЩ was not declared in this scope
     return _MAV_RETURN_float(msg,  32);
                                      ^
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h: At global scope:
/home/l4ncelot/mavros/devel/include/mavlink/v2.0/common/mavlink_msg_set_attitude_target.h:388:65: error: тАШmavlink_message_tтАЩ does not name a type
 static inline void mavlink_msg_set_attitude_target_decode(const mavlink_message_t* msg, mavlink_set_attitude_target_t* set_attitude_target)
                                                                 ^
aft_copter/aft_controller/CMakeFiles/mavlink_receiver_test.dir/build.make:62: recipe for target 'aft_copter/aft_controller/CMakeFiles/mavlink_receiver_test.dir/src/mavlink_receiver_test.cpp.o' failed
make[2]: *** [aft_copter/aft_controller/CMakeFiles/mavlink_receiver_test.dir/src/mavlink_receiver_test.cpp.o] Error 1
CMakeFiles/Makefile2:4837: recipe for target 'aft_copter/aft_controller/CMakeFiles/mavlink_receiver_test.dir/all' failed
make[1]: *** [aft_copter/aft_controller/CMakeFiles/mavlink_receiver_test.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Base path: /home/l4ncelot/aft_copter
Source space: /home/l4ncelot/aft_copter/src
Build space: /home/l4ncelot/aft_copter/build
Devel space: /home/l4ncelot/aft_copter/devel
Install space: /home/l4ncelot/aft_copter/install
####
#### Running command: "make cmake_check_build_system" in "/home/l4ncelot/aft_copter/build"
####
####
#### Running command: "make -j4 -l4" in "/home/l4ncelot/aft_copter/build"
####
Invoking "make -j4 -l4" failed

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдШреЛрд╖рдгрд╛рдПрдВ рдЧрд╛рдпрдм рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП mavlink.h рдпрд╛ mavlink_types.h рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдмрд╣реБрдд рд╕рд╛рд░реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд╣реИрдВред рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ? рдХреНрдпрд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╡рд┐рд░реБрджреНрдз рдХреБрдЫ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореБрдЭреЗ libmavconn рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдареАрдХ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдФрд░ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛ рд╣реВрдВ ...

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

make_handler() , рд╢рд╛рдпрдж рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ (рдпрджрд┐ рдЖрдк рд╕рдВрджреЗрд╢ рд╣реИрдВрдбрд▓рд░ рд╕реНрд╡рд┐рдЪ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред

рдбрд┐рдХреЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

mavlink::MsgMap map(message);
mavlink::common::msg::SET_ATTITUDE_TARGET s;
s.deserialize(map);

std::cout << s.to_yaml() << std::endl;

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╡рд╣ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ "mavlink/v2.0/common/mavlink_msg_set_attitude_target.h" рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдерд╛, рдЬрдмрдХрд┐ libmavconn 0.19 рдорд╛рд╡рд░реЛрд╕ рдХреЗ рд╕рд╛рде C++11 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЖрдкрдХреЛ mavconn/interface.h рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЗрд╕рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ MAVLink рд╣реЗрдбрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред

MAVLINK_MSG_ID_SET_ATTITUDE_TARGET рдмрдЬрд╛рдп рдЖрдкрдХреЛ mavlink::common::msg::SET_ATTITUDE_TARGET::MSG_ID рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреНрд░рдорд╛рдВрдХрди libmavconn ( MAVConnInteface::send_message() ) рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдХреНрд░рдорд╛рдВрдХрди рдирд╣реАрдВ ( PluginBase::make_handler() рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рд╕рд╣рд╛рдпрдХ рд▓реИрдореНрдмреНрдбрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛)ред

рд╡реИрд╕реЗ рднреА рдЖрдкрдХреЛ рдорд╛рд╡рд░реЛрд╕ рдХреЗ рдмрд╛рд╣рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

рдУрд╣, рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ред рддреЛ рдореИрдВ рдПрдЯрд┐рдЯреНрдпреВрдб_рдореИрд╕реЗрдЬ рдХреЛ рдбреАрд╕реЗрд░рд┐рдпрд▓рд╛рдЗрдЬ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдЖрдо рддреМрд░ рдкрд░ рдореИрдВ рдРрд╕рд╛ рдХреБрдЫ рдХрд░реВрдВрдЧрд╛:

void MavlinkReceiverTest::handle_msg_set_attitude_target(const mavlink_message_t* message) {
        mavlink_set_attitude_target_t set_attitude_target;
    mavlink_msg_set_attitude_target_decode(message, &set_attitude_target);    
}

рдХреНрдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИ?

рдореИрдВ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ mavlink рд░рд┐рд╕реАрд╡рд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рджреЛрдиреЛрдВ pixhawk рдЖрдзрд╛рд░рд┐рдд рд╣реЗрд▓рд┐рдХреЙрдкреНрдЯрд░ рдФрд░ DJI рд╣реЗрд▓рд┐рдХреЙрдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореЗрд░рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдСрдЯреЛрдкрд╛рдпрд▓рдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MAVROS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ DJI рд╣реИрд▓реАрдХрд╛рдкреНрдЯрд░ рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЛрд▓ рдХреЗ рд░реВрдк рдореЗрдВ MAVLINK рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рддреЛ рдореБрдЭреЗ рдПрдордПрд╡реАрд▓рд┐рдВрдХ рд╕рдВрджреЗрд╢ рд░рд┐рд╕реАрд╡рд░ рд▓рд┐рдЦрдирд╛ рддрд╛рдВрдмреЗ рдХреЛ рдбреАрдЬреЗрдЖрдИ рдХреЗ рдЖрд░рдУрдПрд╕ рдСрдирдмреЛрд░реНрдб рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

make_handler() , рд╢рд╛рдпрдж рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ (рдпрджрд┐ рдЖрдк рд╕рдВрджреЗрд╢ рд╣реИрдВрдбрд▓рд░ рд╕реНрд╡рд┐рдЪ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред

рдбрд┐рдХреЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдкрдХреЛ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

mavlink::MsgMap map(message);
mavlink::common::msg::SET_ATTITUDE_TARGET s;
s.deserialize(map);

std::cout << s.to_yaml() << std::endl;

рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рд╢реБрдХреНрд░рд┐рдпрд╛ред рд╕рдм рдХреБрдЫ рдЕрдм рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

@vooon рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рдЙрддреНрддрд░ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИрдВ рдФрд░ рдХрд╣реАрдВ рдФрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЦреЛрдЬрд╛ рд╣реИред PX4 рд╕реНрдЯреИрдХ рдореЗрдВ рд░реЛрд╕ рдиреЛрдб рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП libmavconn рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рддреЛ рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

SubMishMar picture SubMishMar  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jannsta1 picture jannsta1  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

trishantroy picture trishantroy  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tfoote picture tfoote  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zhahaoyu picture zhahaoyu  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ