from enum import Enum

#Drone states
class drone_state(Enum):
    STARTUP = 1
    LOGON = 2
    TAKEOFF = 3
    MISSION = 4
    LAND = 5
    LOGOFF = 6

#MAVLink Enums
class mav_enums(Enum):
    MAV_FRAME_GLOBAL = 0 #Global frame, altitude relative to MSL
    MAV_CMD_NAV_WAYPOINT = 16 #waypoint is a basic waypoint
    MAV_CMD_NAV_TAKEOFF = 22 #waypoint is a take-off target
    MAV_CMD_NAV_LAND = 21 #waypoint is a land target
    MAV_CMD_NAV_LOITER_TO_ALT = 31 #waypoint is the beginning of land sequence
    PRECISION_LAND_MODE_OPPORTUNISTIC = 1 #Use precision landing if beacon detected
    MAV_MISSION_TYPE_MISSION = 0 #mission type is main mission, not rally point or fence
    MAV_FRAME_LOCAL_NED = 1 #NED frame
    LANDING_TARGET_TYPE_RADIO_BEACON = 1 #Landing target of radio beacon (eg. ILS/NDB) type
    LANDING_TARGET = 149 #Landing target message name
    SPEED_TYPE_GROUNDSPEED = 1
    SPEED_TYPE_CLIMB_SPEED = 2
    SPEED_TYPE_DESCENT_SPEED = 3
    MAV_BOOL_TRUE = 1
    MAV_BOOL_FALSE = 0
    MAV_STANDARD_MODE_MISSION = 6
    MISSION_STATE_COMPLETE = 5
    MAV_CMD_NAV_VTOL_TAKEOFF = 84
    VTOL_TRANSITION_HEADING_NEXT_WAYPOINT = 1
    MAV_CMD_NAV_VTOL_LAND = 85
    NAV_VTOL_LAND_OPTIONS_HOVER_DESCENT = 2
    MAV_CMD_DO_ORBIT = 34 
    MAV_STANDARD_MODE_LAND = 7
