Minor MAVLink fixes
This commit is contained in:
parent
e5bebc86cc
commit
f3d38c7569
1 changed files with 7 additions and 6 deletions
|
|
@ -26,6 +26,7 @@
|
|||
#include "mavlink/mavlink_types.h"
|
||||
#include <cstdint>
|
||||
#include <optional>
|
||||
#include <string.h>
|
||||
|
||||
using namespace godot;
|
||||
|
||||
|
|
@ -403,10 +404,11 @@ Error MarshConnector::send_param(Parameter index) {
|
|||
}
|
||||
|
||||
mavlink_param_value_t param_value;
|
||||
memset(param_value.param_id, 0, sizeof(param_value.param_id));
|
||||
CharString nameBuffer = parameter_names[index].ascii();
|
||||
const char *name = nameBuffer.get_data();
|
||||
strcpy_s(param_value.param_id, name);
|
||||
|
||||
// strncpy will write nulls after data until reaching target count
|
||||
strncpy(param_value.param_id, name, sizeof(param_value.param_id));
|
||||
param_value.param_value = parameters[index];
|
||||
param_value.param_type = MAV_PARAM_TYPE_REAL32;
|
||||
param_value.param_count = PARAM_COUNT;
|
||||
|
|
@ -447,9 +449,8 @@ void MarshConnector::handle_heartbeat(mavlink_message_t message) {
|
|||
|
||||
// subscribe to messages not sent to visualisation node by default
|
||||
mavlink_command_long_t command;
|
||||
command.target_system = 1;
|
||||
command.target_component =
|
||||
MAV_COMP_ID_USER1; // HACK: Should get it from received HEARTBEAT
|
||||
command.target_system = message.sysid;
|
||||
command.target_component = message.compid;
|
||||
command.command = MAV_CMD_SET_MESSAGE_INTERVAL;
|
||||
command.confirmation = 0;
|
||||
command.param1 = static_cast<float>(MAVLINK_MSG_ID_MANUAL_CONTROL);
|
||||
|
|
@ -458,7 +459,7 @@ void MarshConnector::handle_heartbeat(mavlink_message_t message) {
|
|||
command.param4 = 0;
|
||||
command.param5 = 0;
|
||||
command.param6 = 0;
|
||||
command.param7 = 1; // Address of requestor
|
||||
command.param7 = 1; // Address of requester
|
||||
|
||||
mavlink_message_t message_sent;
|
||||
mavlink_msg_command_long_encode_chan(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue