diff options
author | Anton Babushkin <anton.babushkin@me.com> | 2013-07-28 23:12:16 +0400 |
---|---|---|
committer | Anton Babushkin <anton.babushkin@me.com> | 2013-07-28 23:12:16 +0400 |
commit | 8c1067a017714394955892e3159c8e0c61bd4ba1 (patch) | |
tree | e95574e6fdee3e6c299c2d347c181a98bc8fddb0 /src/modules/commander/state_machine_helper.h | |
parent | 7c1693a877d96ee1476dcb3a7f5cb5e8dfb27492 (diff) | |
download | px4-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.h | 12 |
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); |