aboutsummaryrefslogtreecommitdiff
path: root/src/modules/uORB
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-01-23 12:16:02 +0100
committerAnton Babushkin <anton.babushkin@me.com>2014-01-23 12:16:02 +0100
commit6acb8fa66f38d20af57b8c45cc7878257abb24d2 (patch)
tree8227872dfb5bafdcf9bfa1e5fa0de0a49becf3a6 /src/modules/uORB
parent6c07a5c2cf83642a192aefccf82f942e6e7c01a5 (diff)
downloadpx4-firmware-6acb8fa66f38d20af57b8c45cc7878257abb24d2.tar.gz
px4-firmware-6acb8fa66f38d20af57b8c45cc7878257abb24d2.tar.bz2
px4-firmware-6acb8fa66f38d20af57b8c45cc7878257abb24d2.zip
Replace mission_item_triplet with position_setpoint_triplet, WIP
Diffstat (limited to 'src/modules/uORB')
-rw-r--r--src/modules/uORB/objects_common.cpp4
-rw-r--r--src/modules/uORB/topics/position_setpoint_triplet.h (renamed from src/modules/uORB/topics/mission_item_triplet.h)38
2 files changed, 25 insertions, 17 deletions
diff --git a/src/modules/uORB/objects_common.cpp b/src/modules/uORB/objects_common.cpp
index 79a820c06..4c84c1f25 100644
--- a/src/modules/uORB/objects_common.cpp
+++ b/src/modules/uORB/objects_common.cpp
@@ -117,8 +117,8 @@ ORB_DEFINE(vehicle_local_position_setpoint, struct vehicle_local_position_setpoi
#include "topics/vehicle_bodyframe_speed_setpoint.h"
ORB_DEFINE(vehicle_bodyframe_speed_setpoint, struct vehicle_bodyframe_speed_setpoint_s);
-#include "topics/mission_item_triplet.h"
-ORB_DEFINE(mission_item_triplet, struct mission_item_triplet_s);
+#include "topics/position_setpoint_triplet.h"
+ORB_DEFINE(position_setpoint_triplet, struct position_setpoint_triplet_s);
#include "topics/vehicle_global_velocity_setpoint.h"
ORB_DEFINE(vehicle_global_velocity_setpoint, struct vehicle_global_velocity_setpoint_s);
diff --git a/src/modules/uORB/topics/mission_item_triplet.h b/src/modules/uORB/topics/position_setpoint_triplet.h
index b35eae607..a8bd6b8e3 100644
--- a/src/modules/uORB/topics/mission_item_triplet.h
+++ b/src/modules/uORB/topics/position_setpoint_triplet.h
@@ -46,31 +46,39 @@
#include <stdbool.h>
#include "../uORB.h"
-#include "mission.h"
-
/**
* @addtogroup topics
* @{
*/
+enum SETPOINT_TYPE
+{
+ SETPOINT_TYPE_NORMAL = 0,
+ SETPOINT_TYPE_LOITER,
+ SETPOINT_TYPE_TAKEOFF,
+ SETPOINT_TYPE_LAND,
+};
+
+struct position_setpoint_s
+{
+ bool valid; /**< true if point is valid */
+ double lat; /**< latitude, in deg */
+ double lon; /**< longitude, in deg */
+ float alt; /**< altitude AMSL, in m */
+ float yaw; /**< yaw (only for multirotors), in rad [-PI..PI), NaN to hold current yaw */
+ enum SETPOINT_TYPE type; /**< setpoint type to adjust behavior of position controller */
+};
+
/**
* Global position setpoint triplet in WGS84 coordinates.
*
* This are the three next waypoints (or just the next two or one).
*/
-struct mission_item_triplet_s
+struct position_setpoint_triplet_s
{
- bool previous_valid;
- bool current_valid; /**< flag indicating previous mission item is valid */
- bool next_valid; /**< flag indicating next mission item is valid */
-
- struct mission_item_s previous;
- struct mission_item_s current;
- struct mission_item_s next;
-
- int previous_index;
- int current_index;
- int next_index;
+ struct position_setpoint_s previous;
+ struct position_setpoint_s current;
+ struct position_setpoint_s next;
};
/**
@@ -78,6 +86,6 @@ struct mission_item_triplet_s
*/
/* register this as object request broker structure */
-ORB_DECLARE(mission_item_triplet);
+ORB_DECLARE(position_setpoint_triplet);
#endif