Skip to content

How to add new message? #27

Description

@promistrio

Good day! I add new message in https://github.com/mavlink/mavlink use ./mavgenerate.py (for 1.0) and replace common on generated common. After that, I got a lot of errors. How should I create a new message?

g++ -I mavlink/include/mavlink/v1.0 mavlink_control.cpp serial_port.cpp autopilot_interface.cpp -o mavlink_control -lpthread In file included from mavlink/include/mavlink/v1.0/common/common.h:1269:0, from mavlink/include/mavlink/v1.0/common/mavlink.h:32, from mavlink_control.h:70, from mavlink_control.cpp:56: mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h:7:38: error: types may not be defined in parameter types typedef struct __mavlink_heartbeat_t { ^ In file included from mavlink/include/mavlink/v1.0/common/common.h:1269:0, from mavlink/include/mavlink/v1.0/common/mavlink.h:32, from mavlink_control.h:70, from mavlink_control.cpp:56: mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h:14:1: error: typedef declaration invalid in parameter declaration }) mavlink_heartbeat_t; ^ mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h:14:4: error: expected constructor, destructor, or type conversion before ‘mavlink_heartbeat_t’ }) mavlink_heartbeat_t; ^ mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h: In function ‘uint16_t mavlink_msg_heartbeat_pack(uint8_t, uint8_t, mavlink_message_t*, uint8_t, uint8_t, uint8_t, uint32_t, uint8_t)’: mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h:80:5: error: ‘mavlink_heartbeat_t’ was not declared in this scope mavlink_heartbeat_t packet; ^ mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h:81:5: error: ‘packet’ was not declared in this scope packet.custom_mode = custom_mode; ^ mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h:92:159: error: too many arguments to function ‘uint16_t mavlink_finalize_message(mavlink_message_t*, uint8_t, uint8_t, uint8_t, uint8_t)’ return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_HEARTBEAT_MIN_LEN, MAVLINK_MSG_ID_HEARTBEAT_LEN, MAVLINK_MSG_ID_HEARTBEAT_CRC); ^ In file included from mavlink/include/mavlink/v1.0/common/../protocol.h:79:0, from mavlink/include/mavlink/v1.0/common/common.h:30, from mavlink/include/mavlink/v1.0/common/mavlink.h:32, from mavlink_control.h:70, from mavlink_control.cpp:56: mavlink/include/mavlink/v1.0/common/../mavlink_helpers.h:99:25: note: declared here MAVLINK_HELPER uint16_t mavlink_finalize_message(mavlink_message_t* msg, uint8_t system_id, uint8_t component_id, ^ In file included from mavlink/include/mavlink/v1.0/common/common.h:1269:0, from mavlink/include/mavlink/v1.0/common/mavlink.h:32, from mavlink_control.h:70, from mavlink_control.cpp:56: mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h: In function ‘uint16_t mavlink_msg_heartbeat_pack_chan(uint8_t, uint8_t, uint8_t, mavlink_message_t*, uint8_t, uint8_t, uint8_t, uint32_t, uint8_t)’: mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h:123:5: error: ‘mavlink_heartbeat_t’ was not declared in this scope mavlink_heartbeat_t packet; ^ mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h:124:5: error: ‘packet’ was not declared in this scope packet.custom_mode = custom_mode; ^ mavlink/include/mavlink/v1.0/common/./mavlink_msg_heartbeat.h:135:170: error: too many arguments to function ‘uint16_t mavlink_finalize_message_chan(mavlink_message_t*, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)’ return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_HEARTBEAT_MIN_LEN, MAVLINK_MSG_ID_HEARTBEAT_LEN, MAVLINK_MSG_ID_HEARTBEAT_CRC); ^

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions