mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-03 06:28:27 -04:00
AP_Mount: pass mavlink_message_t by const reference
This commit is contained in:
parent
781e9ae9c1
commit
f3e40b4906
@ -598,28 +598,28 @@ MAV_RESULT AP_Mount::handle_command_long(const mavlink_command_long_t &packet)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Change the configuration of the mount
|
/// Change the configuration of the mount
|
||||||
void AP_Mount::handle_mount_configure(const mavlink_message_t *msg)
|
void AP_Mount::handle_mount_configure(const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
if (_primary >= AP_MOUNT_MAX_INSTANCES || _backends[_primary] == nullptr) {
|
if (_primary >= AP_MOUNT_MAX_INSTANCES || _backends[_primary] == nullptr) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
mavlink_mount_configure_t packet;
|
mavlink_mount_configure_t packet;
|
||||||
mavlink_msg_mount_configure_decode(msg, &packet);
|
mavlink_msg_mount_configure_decode(&msg, &packet);
|
||||||
|
|
||||||
// send message to backend
|
// send message to backend
|
||||||
_backends[_primary]->handle_mount_configure(packet);
|
_backends[_primary]->handle_mount_configure(packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Control the mount (depends on the previously set mount configuration)
|
/// Control the mount (depends on the previously set mount configuration)
|
||||||
void AP_Mount::handle_mount_control(const mavlink_message_t *msg)
|
void AP_Mount::handle_mount_control(const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
if (_primary >= AP_MOUNT_MAX_INSTANCES || _backends[_primary] == nullptr) {
|
if (_primary >= AP_MOUNT_MAX_INSTANCES || _backends[_primary] == nullptr) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
mavlink_mount_control_t packet;
|
mavlink_mount_control_t packet;
|
||||||
mavlink_msg_mount_control_decode(msg, &packet);
|
mavlink_msg_mount_control_decode(&msg, &packet);
|
||||||
|
|
||||||
// send message to backend
|
// send message to backend
|
||||||
_backends[_primary]->handle_mount_control(packet);
|
_backends[_primary]->handle_mount_control(packet);
|
||||||
@ -646,7 +646,7 @@ void AP_Mount::set_roi_target(uint8_t instance, const struct Location &target_lo
|
|||||||
}
|
}
|
||||||
|
|
||||||
// pass a GIMBAL_REPORT message to the backend
|
// pass a GIMBAL_REPORT message to the backend
|
||||||
void AP_Mount::handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t *msg)
|
void AP_Mount::handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
for (uint8_t instance=0; instance<AP_MOUNT_MAX_INSTANCES; instance++) {
|
for (uint8_t instance=0; instance<AP_MOUNT_MAX_INSTANCES; instance++) {
|
||||||
if (_backends[instance] != nullptr) {
|
if (_backends[instance] != nullptr) {
|
||||||
@ -655,9 +655,9 @@ void AP_Mount::handle_gimbal_report(mavlink_channel_t chan, const mavlink_messag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AP_Mount::handle_message(mavlink_channel_t chan, const mavlink_message_t *msg)
|
void AP_Mount::handle_message(mavlink_channel_t chan, const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
switch (msg->msgid) {
|
switch (msg.msgid) {
|
||||||
case MAVLINK_MSG_ID_GIMBAL_REPORT:
|
case MAVLINK_MSG_ID_GIMBAL_REPORT:
|
||||||
handle_gimbal_report(chan, msg);
|
handle_gimbal_report(chan, msg);
|
||||||
break;
|
break;
|
||||||
@ -676,7 +676,7 @@ void AP_Mount::handle_message(mavlink_channel_t chan, const mavlink_message_t *m
|
|||||||
}
|
}
|
||||||
|
|
||||||
// handle PARAM_VALUE
|
// handle PARAM_VALUE
|
||||||
void AP_Mount::handle_param_value(const mavlink_message_t *msg)
|
void AP_Mount::handle_param_value(const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
for (uint8_t instance=0; instance<AP_MOUNT_MAX_INSTANCES; instance++) {
|
for (uint8_t instance=0; instance<AP_MOUNT_MAX_INSTANCES; instance++) {
|
||||||
if (_backends[instance] != nullptr) {
|
if (_backends[instance] != nullptr) {
|
||||||
|
@ -114,8 +114,8 @@ public:
|
|||||||
|
|
||||||
// mavlink message handling:
|
// mavlink message handling:
|
||||||
MAV_RESULT handle_command_long(const mavlink_command_long_t &packet);
|
MAV_RESULT handle_command_long(const mavlink_command_long_t &packet);
|
||||||
void handle_param_value(const mavlink_message_t *msg);
|
void handle_param_value(const mavlink_message_t &msg);
|
||||||
void handle_message(mavlink_channel_t chan, const mavlink_message_t *msg);
|
void handle_message(mavlink_channel_t chan, const mavlink_message_t &msg);
|
||||||
|
|
||||||
// send a GIMBAL_REPORT message to GCS
|
// send a GIMBAL_REPORT message to GCS
|
||||||
void send_gimbal_report(mavlink_channel_t chan);
|
void send_gimbal_report(mavlink_channel_t chan);
|
||||||
@ -175,9 +175,9 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
void handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t *msg);
|
void handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t &msg);
|
||||||
void handle_mount_configure(const mavlink_message_t *msg);
|
void handle_mount_configure(const mavlink_message_t &msg);
|
||||||
void handle_mount_control(const mavlink_message_t *msg);
|
void handle_mount_control(const mavlink_message_t &msg);
|
||||||
|
|
||||||
MAV_RESULT handle_command_do_mount_configure(const mavlink_command_long_t &packet);
|
MAV_RESULT handle_command_do_mount_configure(const mavlink_command_long_t &packet);
|
||||||
MAV_RESULT handle_command_do_mount_control(const mavlink_command_long_t &packet);
|
MAV_RESULT handle_command_do_mount_control(const mavlink_command_long_t &packet);
|
||||||
|
@ -70,10 +70,10 @@ public:
|
|||||||
virtual void send_mount_status(mavlink_channel_t chan) = 0;
|
virtual void send_mount_status(mavlink_channel_t chan) = 0;
|
||||||
|
|
||||||
// handle a GIMBAL_REPORT message
|
// handle a GIMBAL_REPORT message
|
||||||
virtual void handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t *msg) {}
|
virtual void handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t &msg) {}
|
||||||
|
|
||||||
// handle a PARAM_VALUE message
|
// handle a PARAM_VALUE message
|
||||||
virtual void handle_param_value(const mavlink_message_t *msg) {}
|
virtual void handle_param_value(const mavlink_message_t &msg) {}
|
||||||
|
|
||||||
// send a GIMBAL_REPORT message to the GCS
|
// send a GIMBAL_REPORT message to the GCS
|
||||||
virtual void send_gimbal_report(const mavlink_channel_t chan) {}
|
virtual void send_gimbal_report(const mavlink_channel_t chan) {}
|
||||||
|
@ -114,7 +114,7 @@ void AP_Mount_SoloGimbal::send_mount_status(mavlink_channel_t chan)
|
|||||||
/*
|
/*
|
||||||
handle a GIMBAL_REPORT message
|
handle a GIMBAL_REPORT message
|
||||||
*/
|
*/
|
||||||
void AP_Mount_SoloGimbal::handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t *msg)
|
void AP_Mount_SoloGimbal::handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
_gimbal.update_target(_angle_ef_target_rad);
|
_gimbal.update_target(_angle_ef_target_rad);
|
||||||
_gimbal.receive_feedback(chan,msg);
|
_gimbal.receive_feedback(chan,msg);
|
||||||
@ -134,7 +134,7 @@ void AP_Mount_SoloGimbal::handle_gimbal_report(mavlink_channel_t chan, const mav
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AP_Mount_SoloGimbal::handle_param_value(const mavlink_message_t *msg)
|
void AP_Mount_SoloGimbal::handle_param_value(const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
_gimbal.handle_param_value(msg);
|
_gimbal.handle_param_value(msg);
|
||||||
}
|
}
|
||||||
@ -142,7 +142,7 @@ void AP_Mount_SoloGimbal::handle_param_value(const mavlink_message_t *msg)
|
|||||||
/*
|
/*
|
||||||
handle a GIMBAL_REPORT message
|
handle a GIMBAL_REPORT message
|
||||||
*/
|
*/
|
||||||
void AP_Mount_SoloGimbal::handle_gimbal_torque_report(mavlink_channel_t chan, const mavlink_message_t *msg)
|
void AP_Mount_SoloGimbal::handle_gimbal_torque_report(mavlink_channel_t chan, const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
_gimbal.disable_torque_report();
|
_gimbal.disable_torque_report();
|
||||||
}
|
}
|
||||||
|
@ -39,9 +39,9 @@ public:
|
|||||||
void send_mount_status(mavlink_channel_t chan) override;
|
void send_mount_status(mavlink_channel_t chan) override;
|
||||||
|
|
||||||
// handle a GIMBAL_REPORT message
|
// handle a GIMBAL_REPORT message
|
||||||
void handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t *msg) override;
|
void handle_gimbal_report(mavlink_channel_t chan, const mavlink_message_t &msg) override;
|
||||||
void handle_gimbal_torque_report(mavlink_channel_t chan, const mavlink_message_t *msg);
|
void handle_gimbal_torque_report(mavlink_channel_t chan, const mavlink_message_t &msg);
|
||||||
void handle_param_value(const mavlink_message_t *msg) override;
|
void handle_param_value(const mavlink_message_t &msg) override;
|
||||||
|
|
||||||
// send a GIMBAL_REPORT message to the GCS
|
// send a GIMBAL_REPORT message to the GCS
|
||||||
void send_gimbal_report(mavlink_channel_t chan) override;
|
void send_gimbal_report(mavlink_channel_t chan) override;
|
||||||
|
@ -41,10 +41,10 @@ gimbal_mode_t SoloGimbal::get_mode()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoloGimbal::receive_feedback(mavlink_channel_t chan, const mavlink_message_t *msg)
|
void SoloGimbal::receive_feedback(mavlink_channel_t chan, const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
mavlink_gimbal_report_t report_msg;
|
mavlink_gimbal_report_t report_msg;
|
||||||
mavlink_msg_gimbal_report_decode(msg, &report_msg);
|
mavlink_msg_gimbal_report_decode(&msg, &report_msg);
|
||||||
uint32_t tnow_ms = AP_HAL::millis();
|
uint32_t tnow_ms = AP_HAL::millis();
|
||||||
_last_report_msg_ms = tnow_ms;
|
_last_report_msg_ms = tnow_ms;
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void update_target(const Vector3f &newTarget);
|
void update_target(const Vector3f &newTarget);
|
||||||
void receive_feedback(mavlink_channel_t chan, const mavlink_message_t *msg);
|
void receive_feedback(mavlink_channel_t chan, const mavlink_message_t &msg);
|
||||||
|
|
||||||
void update_fast();
|
void update_fast();
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ public:
|
|||||||
void disable_torque_report() { _gimbalParams.set_param(GMB_PARAM_GMB_SND_TORQUE, 0); }
|
void disable_torque_report() { _gimbalParams.set_param(GMB_PARAM_GMB_SND_TORQUE, 0); }
|
||||||
void fetch_params() { _gimbalParams.fetch_params(); }
|
void fetch_params() { _gimbalParams.fetch_params(); }
|
||||||
|
|
||||||
void handle_param_value(const mavlink_message_t *msg) {
|
void handle_param_value(const mavlink_message_t &msg) {
|
||||||
_gimbalParams.handle_param_value(msg);
|
_gimbalParams.handle_param_value(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,10 +181,10 @@ void SoloGimbal_Parameters::update()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SoloGimbal_Parameters::handle_param_value(const mavlink_message_t *msg)
|
void SoloGimbal_Parameters::handle_param_value(const mavlink_message_t &msg)
|
||||||
{
|
{
|
||||||
mavlink_param_value_t packet;
|
mavlink_param_value_t packet;
|
||||||
mavlink_msg_param_value_decode(msg, &packet);
|
mavlink_msg_param_value_decode(&msg, &packet);
|
||||||
|
|
||||||
AP_Logger *logger = AP_Logger::get_singleton();
|
AP_Logger *logger = AP_Logger::get_singleton();
|
||||||
if (logger != nullptr) {
|
if (logger != nullptr) {
|
||||||
|
@ -53,7 +53,7 @@ public:
|
|||||||
void set_param(gmb_param_t param, float value);
|
void set_param(gmb_param_t param, float value);
|
||||||
|
|
||||||
void update();
|
void update();
|
||||||
void handle_param_value(const mavlink_message_t *msg);
|
void handle_param_value(const mavlink_message_t &msg);
|
||||||
|
|
||||||
Vector3f get_accel_bias();
|
Vector3f get_accel_bias();
|
||||||
Vector3f get_accel_gain();
|
Vector3f get_accel_gain();
|
||||||
|
Loading…
Reference in New Issue
Block a user