mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-14 15:21:35 +08:00
commander: ManualControl avoid unnecessary copy
This commit is contained in:
@@ -47,11 +47,8 @@ bool ManualControl::update()
|
|||||||
bool updated = false;
|
bool updated = false;
|
||||||
|
|
||||||
if (_manual_control_setpoint_sub.updated()) {
|
if (_manual_control_setpoint_sub.updated()) {
|
||||||
manual_control_setpoint_s manual_control_setpoint;
|
_last_manual_control_setpoint = _manual_control_setpoint;
|
||||||
|
_manual_control_setpoint_sub.copy(&_manual_control_setpoint);
|
||||||
if (_manual_control_setpoint_sub.copy(&manual_control_setpoint)) {
|
|
||||||
process(manual_control_setpoint);
|
|
||||||
}
|
|
||||||
|
|
||||||
updated = true;
|
updated = true;
|
||||||
}
|
}
|
||||||
@@ -63,12 +60,6 @@ bool ManualControl::update()
|
|||||||
return updated && _rc_available;
|
return updated && _rc_available;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ManualControl::process(const manual_control_setpoint_s &manual_control_setpoint)
|
|
||||||
{
|
|
||||||
_last_manual_control_setpoint = _manual_control_setpoint;
|
|
||||||
_manual_control_setpoint = manual_control_setpoint;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ManualControl::wantsOverride(const vehicle_control_mode_s &vehicle_control_mode)
|
bool ManualControl::wantsOverride(const vehicle_control_mode_s &vehicle_control_mode)
|
||||||
{
|
{
|
||||||
const bool override_auto_mode = (_param_rc_override.get() & OverrideBits::OVERRIDE_AUTO_MODE_BIT)
|
const bool override_auto_mode = (_param_rc_override.get() & OverrideBits::OVERRIDE_AUTO_MODE_BIT)
|
||||||
|
|||||||
@@ -75,7 +75,6 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void updateParams() override;
|
void updateParams() override;
|
||||||
void process(const manual_control_setpoint_s &manual_control_setpoint);
|
|
||||||
|
|
||||||
uORB::Subscription _manual_control_setpoint_sub{ORB_ID(manual_control_setpoint)};
|
uORB::Subscription _manual_control_setpoint_sub{ORB_ID(manual_control_setpoint)};
|
||||||
manual_control_setpoint_s _manual_control_setpoint{};
|
manual_control_setpoint_s _manual_control_setpoint{};
|
||||||
|
|||||||
Reference in New Issue
Block a user