gimbal: move gimbal controls to new dedicated topic

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
This commit is contained in:
Silvan Fuhrer
2023-03-16 11:55:45 +01:00
committed by Beat Küng
parent 1218d9b2fc
commit a1812dbde0
6 changed files with 40 additions and 29 deletions
@@ -35,7 +35,7 @@
#include "FunctionProviderBase.hpp"
#include <uORB/topics/actuator_controls.h>
#include <uORB/topics/gimbal_controls.h>
/**
* Functions: Gimbal_Roll .. Gimbal_Yaw
@@ -48,18 +48,18 @@ public:
void update() override
{
actuator_controls_s actuator_controls;
gimbal_controls_s gimbal_controls;
if (_topic.update(&actuator_controls)) {
_data[0] = actuator_controls.control[0];
_data[1] = actuator_controls.control[1];
_data[2] = actuator_controls.control[2];
if (_topic.update(&gimbal_controls)) {
_data[0] = gimbal_controls.control[gimbal_controls_s::INDEX_ROLL];
_data[1] = gimbal_controls.control[gimbal_controls_s::INDEX_PITCH];
_data[2] = gimbal_controls.control[gimbal_controls_s::INDEX_YAW];
}
}
float value(OutputFunction func) override { return _data[(int)func - (int)OutputFunction::Gimbal_Roll]; }
private:
uORB::Subscription _topic{ORB_ID(actuator_controls_2)};
uORB::Subscription _topic{ORB_ID(gimbal_controls)};
float _data[3] { NAN, NAN, NAN };
};