mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-01 02:21:35 +08:00
MAVLink update compile fixes
This commit is contained in:
@@ -78,11 +78,7 @@ PARAM_DEFINE_INT32(MAV_FWDEXTSP, 1);
|
|||||||
|
|
||||||
mavlink_system_t mavlink_system = {
|
mavlink_system_t mavlink_system = {
|
||||||
100,
|
100,
|
||||||
50,
|
50
|
||||||
MAV_TYPE_FIXED_WING,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0
|
|
||||||
}; // System ID, 1-255, Component/Subsystem ID, 1-255
|
}; // System ID, 1-255, Component/Subsystem ID, 1-255
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -167,8 +167,10 @@ Mavlink::Mavlink() :
|
|||||||
_param_initialized(false),
|
_param_initialized(false),
|
||||||
_param_system_id(0),
|
_param_system_id(0),
|
||||||
_param_component_id(0),
|
_param_component_id(0),
|
||||||
_param_system_type(0),
|
_param_system_type(MAV_TYPE_FIXED_WING),
|
||||||
_param_use_hil_gps(0),
|
_param_use_hil_gps(0),
|
||||||
|
_param_forward_externalsp(0),
|
||||||
|
_system_type(0),
|
||||||
|
|
||||||
/* performance counters */
|
/* performance counters */
|
||||||
_loop_perf(perf_alloc(PC_ELAPSED, "mavlink_el")),
|
_loop_perf(perf_alloc(PC_ELAPSED, "mavlink_el")),
|
||||||
@@ -524,7 +526,7 @@ void Mavlink::mavlink_update_system(void)
|
|||||||
param_get(_param_system_type, &system_type);
|
param_get(_param_system_type, &system_type);
|
||||||
|
|
||||||
if (system_type >= 0 && system_type < MAV_TYPE_ENUM_END) {
|
if (system_type >= 0 && system_type < MAV_TYPE_ENUM_END) {
|
||||||
mavlink_system.type = system_type;
|
_system_type = system_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t use_hil_gps;
|
int32_t use_hil_gps;
|
||||||
@@ -755,7 +757,7 @@ Mavlink::send_message(const uint8_t msgid, const void *msg)
|
|||||||
|
|
||||||
pthread_mutex_lock(&_send_mutex);
|
pthread_mutex_lock(&_send_mutex);
|
||||||
|
|
||||||
int buf_free = get_free_tx_buf();
|
unsigned buf_free = get_free_tx_buf();
|
||||||
|
|
||||||
uint8_t payload_len = mavlink_message_lengths[msgid];
|
uint8_t payload_len = mavlink_message_lengths[msgid];
|
||||||
unsigned packet_len = payload_len + MAVLINK_NUM_NON_PAYLOAD_BYTES;
|
unsigned packet_len = payload_len + MAVLINK_NUM_NON_PAYLOAD_BYTES;
|
||||||
@@ -820,14 +822,14 @@ Mavlink::resend_message(mavlink_message_t *msg)
|
|||||||
|
|
||||||
pthread_mutex_lock(&_send_mutex);
|
pthread_mutex_lock(&_send_mutex);
|
||||||
|
|
||||||
int buf_free = get_free_tx_buf();
|
unsigned buf_free = get_free_tx_buf();
|
||||||
|
|
||||||
_last_write_try_time = hrt_absolute_time();
|
_last_write_try_time = hrt_absolute_time();
|
||||||
|
|
||||||
unsigned packet_len = msg->len + MAVLINK_NUM_NON_PAYLOAD_BYTES;
|
unsigned packet_len = msg->len + MAVLINK_NUM_NON_PAYLOAD_BYTES;
|
||||||
|
|
||||||
/* check if there is space in the buffer, let it overflow else */
|
/* check if there is space in the buffer, let it overflow else */
|
||||||
if (buf_free < TX_BUFFER_GAP) {
|
if ((buf_free < TX_BUFFER_GAP) || (buf_free < packet_len)) {
|
||||||
/* no enough space in buffer to send */
|
/* no enough space in buffer to send */
|
||||||
count_txerr();
|
count_txerr();
|
||||||
count_txerrbytes(packet_len);
|
count_txerrbytes(packet_len);
|
||||||
|
|||||||
@@ -265,6 +265,8 @@ public:
|
|||||||
|
|
||||||
struct mavlink_logbuffer *get_logbuffer() { return &_logbuffer; }
|
struct mavlink_logbuffer *get_logbuffer() { return &_logbuffer; }
|
||||||
|
|
||||||
|
unsigned get_system_type() { return _system_type; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Mavlink *next;
|
Mavlink *next;
|
||||||
|
|
||||||
@@ -354,6 +356,8 @@ private:
|
|||||||
param_t _param_use_hil_gps;
|
param_t _param_use_hil_gps;
|
||||||
param_t _param_forward_externalsp;
|
param_t _param_forward_externalsp;
|
||||||
|
|
||||||
|
unsigned _system_type;
|
||||||
|
|
||||||
perf_counter_t _loop_perf; /**< loop performance counter */
|
perf_counter_t _loop_perf; /**< loop performance counter */
|
||||||
perf_counter_t _txerr_perf; /**< TX error counter */
|
perf_counter_t _txerr_perf; /**< TX error counter */
|
||||||
|
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ protected:
|
|||||||
msg.base_mode = 0;
|
msg.base_mode = 0;
|
||||||
msg.custom_mode = 0;
|
msg.custom_mode = 0;
|
||||||
get_mavlink_mode_state(&status, &pos_sp_triplet, &msg.system_status, &msg.base_mode, &msg.custom_mode);
|
get_mavlink_mode_state(&status, &pos_sp_triplet, &msg.system_status, &msg.base_mode, &msg.custom_mode);
|
||||||
msg.type = mavlink_system.type;
|
msg.type = _mavlink->get_system_type();
|
||||||
msg.autopilot = MAV_AUTOPILOT_PX4;
|
msg.autopilot = MAV_AUTOPILOT_PX4;
|
||||||
msg.mavlink_version = 3;
|
msg.mavlink_version = 3;
|
||||||
|
|
||||||
@@ -1353,15 +1353,17 @@ protected:
|
|||||||
|
|
||||||
const float pwm_center = (PWM_HIGHEST_MAX + PWM_LOWEST_MIN) / 2;
|
const float pwm_center = (PWM_HIGHEST_MAX + PWM_LOWEST_MIN) / 2;
|
||||||
|
|
||||||
|
unsigned system_type = _mavlink->get_system_type();
|
||||||
|
|
||||||
/* scale outputs depending on system type */
|
/* scale outputs depending on system type */
|
||||||
if (mavlink_system.type == MAV_TYPE_QUADROTOR ||
|
if (system_type == MAV_TYPE_QUADROTOR ||
|
||||||
mavlink_system.type == MAV_TYPE_HEXAROTOR ||
|
system_type == MAV_TYPE_HEXAROTOR ||
|
||||||
mavlink_system.type == MAV_TYPE_OCTOROTOR) {
|
system_type == MAV_TYPE_OCTOROTOR) {
|
||||||
/* multirotors: set number of rotor outputs depending on type */
|
/* multirotors: set number of rotor outputs depending on type */
|
||||||
|
|
||||||
unsigned n;
|
unsigned n;
|
||||||
|
|
||||||
switch (mavlink_system.type) {
|
switch (system_type) {
|
||||||
case MAV_TYPE_QUADROTOR:
|
case MAV_TYPE_QUADROTOR:
|
||||||
n = 4;
|
n = 4;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user