forked from Archive/PX4-Autopilot
vehicle_status: move vtol_vehicle_status enum
It makes more sense to have the VTOL status in its own message.
This commit is contained in:
parent
74072dbe74
commit
8e9e9f8a8b
|
@ -51,13 +51,6 @@ uint8 NAVIGATION_STATE_AUTO_LAND = 18 # Land
|
|||
uint8 NAVIGATION_STATE_AUTO_FOLLOW_TARGET = 19 # Auto Follow
|
||||
uint8 NAVIGATION_STATE_MAX = 20
|
||||
|
||||
# VEHICLE_VTOL_STATE, should match 1:1 MAVLinks's MAV_VTOL_STATE
|
||||
uint8 VEHICLE_VTOL_STATE_UNDEFINED = 0
|
||||
uint8 VEHICLE_VTOL_STATE_TRANSITION_TO_FW = 1
|
||||
uint8 VEHICLE_VTOL_STATE_TRANSITION_TO_MC = 2
|
||||
uint8 VEHICLE_VTOL_STATE_MC = 3
|
||||
uint8 VEHICLE_VTOL_STATE_FW = 4
|
||||
|
||||
uint8 VEHICLE_BATTERY_WARNING_NONE = 0 # no battery low voltage warning active
|
||||
uint8 VEHICLE_BATTERY_WARNING_LOW = 1 # warning of low voltage
|
||||
uint8 VEHICLE_BATTERY_WARNING_CRITICAL = 2 # alerting of critical voltage
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
# VEHICLE_VTOL_STATE, should match 1:1 MAVLinks's MAV_VTOL_STATE
|
||||
uint8 VEHICLE_VTOL_STATE_UNDEFINED = 0
|
||||
uint8 VEHICLE_VTOL_STATE_TRANSITION_TO_FW = 1
|
||||
uint8 VEHICLE_VTOL_STATE_TRANSITION_TO_MC = 2
|
||||
uint8 VEHICLE_VTOL_STATE_MC = 3
|
||||
uint8 VEHICLE_VTOL_STATE_FW = 4
|
||||
|
||||
uint64 timestamp # Microseconds since system boot
|
||||
bool vtol_in_rw_mode # true: vtol vehicle is in rotating wing mode
|
||||
bool vtol_in_trans_mode
|
||||
|
|
|
@ -523,7 +523,7 @@ MissionBlock::set_land_item(struct mission_item_s *item, bool at_current_locatio
|
|||
if(_navigator->get_vstatus()->is_vtol && !_navigator->get_vstatus()->is_rotary_wing){
|
||||
struct vehicle_command_s cmd = {};
|
||||
cmd.command = NAV_CMD_DO_VTOL_TRANSITION;
|
||||
cmd.param1 = vehicle_status_s::VEHICLE_VTOL_STATE_MC;
|
||||
cmd.param1 = vtol_vehicle_status_s::VEHICLE_VTOL_STATE_MC;
|
||||
if (_cmd_pub != nullptr) {
|
||||
orb_publish(ORB_ID(vehicle_command), _cmd_pub, &cmd);
|
||||
} else {
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
#include <uORB/topics/mission.h>
|
||||
#include <uORB/topics/vehicle_global_position.h>
|
||||
#include <uORB/topics/position_setpoint_triplet.h>
|
||||
#include <uORB/topics/vtol_vehicle_status.h>
|
||||
#include <uORB/topics/actuator_controls.h>
|
||||
#include <uORB/topics/follow_target.h>
|
||||
|
||||
|
|
|
@ -467,7 +467,7 @@ VtolAttitudeControl::is_fixed_wing_requested()
|
|||
|
||||
// listen to transition commands if not in manual
|
||||
if (!_v_control_mode.flag_control_manual_enabled) {
|
||||
to_fw = _transition_command == vehicle_status_s::VEHICLE_VTOL_STATE_FW;
|
||||
to_fw = _transition_command == vtol_vehicle_status_s::VEHICLE_VTOL_STATE_FW;
|
||||
}
|
||||
|
||||
// handle abort request
|
||||
|
@ -699,10 +699,10 @@ void VtolAttitudeControl::task_main()
|
|||
// reset transition command if not auto control
|
||||
if (_v_control_mode.flag_control_manual_enabled) {
|
||||
if (_vtol_type->get_mode() == ROTARY_WING) {
|
||||
_transition_command = vehicle_status_s::VEHICLE_VTOL_STATE_MC;
|
||||
_transition_command = vtol_vehicle_status_s::VEHICLE_VTOL_STATE_MC;
|
||||
|
||||
} else if (_vtol_type->get_mode() == FIXED_WING) {
|
||||
_transition_command = vehicle_status_s::VEHICLE_VTOL_STATE_FW;
|
||||
_transition_command = vtol_vehicle_status_s::VEHICLE_VTOL_STATE_FW;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue