aboutsummaryrefslogtreecommitdiff
path: root/src/modules/commander/state_machine_helper.h
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2013-07-28 23:12:16 +0400
committerAnton Babushkin <anton.babushkin@me.com>2013-07-28 23:12:16 +0400
commit8c1067a017714394955892e3159c8e0c61bd4ba1 (patch)
treee95574e6fdee3e6c299c2d347c181a98bc8fddb0 /src/modules/commander/state_machine_helper.h
parent7c1693a877d96ee1476dcb3a7f5cb5e8dfb27492 (diff)
downloadpx4-firmware-8c1067a017714394955892e3159c8e0c61bd4ba1.tar.gz
px4-firmware-8c1067a017714394955892e3159c8e0c61bd4ba1.tar.bz2
px4-firmware-8c1067a017714394955892e3159c8e0c61bd4ba1.zip
State machine rewritten, compiles, WIP
Diffstat (limited to 'src/modules/commander/state_machine_helper.h')
-rw-r--r--src/modules/commander/state_machine_helper.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/modules/commander/state_machine_helper.h b/src/modules/commander/state_machine_helper.h
index 75fdd224c..b59b66c8b 100644
--- a/src/modules/commander/state_machine_helper.h
+++ b/src/modules/commander/state_machine_helper.h
@@ -49,10 +49,18 @@
#include <uORB/topics/actuator_armed.h>
#include <uORB/topics/vehicle_control_mode.h>
+typedef enum {
+ TRANSITION_DENIED = -1,
+ TRANSITION_NOT_CHANGED = 0,
+ TRANSITION_CHANGED
-int arming_state_transition(int status_pub, struct vehicle_status_s *current_state, arming_state_t new_arming_state, int armed_pub, struct actuator_armed_s *armed, const int mavlink_fd);
+} transition_result_t;
-int navigation_state_transition(int status_pub, struct vehicle_status_s *current_state, navigation_state_t new_navigation_state, int control_mode_pub, struct vehicle_control_mode_s *control_mode, const int mavlink_fd);
+transition_result_t arming_state_transition(struct vehicle_status_s *current_state, arming_state_t new_arming_state, struct actuator_armed_s *armed, const int mavlink_fd);
+
+transition_result_t main_state_transition(struct vehicle_status_s *current_state, main_state_t new_main_state, const int mavlink_fd);
+
+transition_result_t navigation_state_transition(struct vehicle_status_s *current_status, navigation_state_t new_navigation_state, struct vehicle_control_mode_s *control_mode, const int mavlink_fd);
int hil_state_transition(hil_state_t new_state, int status_pub, struct vehicle_status_s *current_state, int control_mode_pub, struct vehicle_control_mode_s *current_control_mode, const int mavlink_fd);