aboutsummaryrefslogtreecommitdiff
path: root/src/modules/uORB/topics/vehicle_control_mode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/uORB/topics/vehicle_control_mode.h')
-rw-r--r--src/modules/uORB/topics/vehicle_control_mode.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/modules/uORB/topics/vehicle_control_mode.h b/src/modules/uORB/topics/vehicle_control_mode.h
index 38fb74c9b..5ce968f67 100644
--- a/src/modules/uORB/topics/vehicle_control_mode.h
+++ b/src/modules/uORB/topics/vehicle_control_mode.h
@@ -48,6 +48,7 @@
#include <stdint.h>
#include <stdbool.h>
#include "../uORB.h"
+#include "vehicle_status.h"
/**
* @addtogroup topics @{
@@ -59,10 +60,25 @@
*
* Encodes the complete system state and is set by the commander app.
*/
+
+typedef enum {
+ NAV_STATE_INIT = 0,
+ NAV_STATE_NONE,
+ NAV_STATE_LOITER,
+ NAV_STATE_MISSION,
+ NAV_STATE_MISSION_LOITER,
+ NAV_STATE_RTL,
+ NAV_STATE_RTL_LOITER,
+ NAV_STATE_MAX
+} nav_state_t;
+
struct vehicle_control_mode_s
{
uint64_t timestamp; /**< in microseconds since system start, is set whenever the writing thread stores new data */
+ main_state_t main_state;
+ nav_state_t nav_state;
+
bool flag_armed;
bool flag_external_manual_override_ok; /**< external override non-fatal for system. Only true for fixed wing */
@@ -78,9 +94,7 @@ struct vehicle_control_mode_s
bool flag_control_position_enabled; /**< true if position is controlled */
bool flag_control_altitude_enabled; /**< true if altitude is controlled */
bool flag_control_climb_rate_enabled; /**< true if climb rate is controlled */
-
- bool flag_control_auto_enabled; // TEMP
- uint8_t auto_state; // TEMP navigation state for AUTO modes
+ bool flag_control_flighttermination_enabled; /**< true if flighttermination is enabled */
};
/**