Waypoint Task
The header file related to waypoint task functionality is uav_waypoint.h
. This document describes the key information and usage methods for the structures and function prototypes in the uav_waypoint.h
file.
Table of Contents
Macro Definitions, Enumerations, and Structures
typedef enum E_UAVWaypointAction
typedef enum E_UAVWaypointMissionState
typedef enum E_UAVWaypointActionState
typedef struct T_UAVWaypointMissionState
typedef struct T_UAVWaypointActionStateFunction Prototypes
function UAV_Waypoint_Init
function UAV_Waypoint_Deinit
function UAV_Waypoint_UploadKmz
function UAV_Waypoint_UploadKmzFile
function UAV_Waypoint_Action
function UAV_Waypoint_RegisterMissionStateCallback
function UAV_Waypoint_RegisterActionStateCallback
Macro Definitions, Enumerations, and Structures
typedef enum E_UAVWaypointAction
Waypoint Task Behavior
typedef enum {
UAV_WAYPOINT_ACTION_START = 0, /*!< waypoint mission start action */
UAV_WAYPOINT_ACTION_STOP, /*!< waypoint mission stop action */
UAV_WAYPOINT_ACTION_PAUSE, /*!< waypoint mission pause action */
UAV_WAYPOINT_ACTION_RESUME, /*!< waypoint mission resume action */
}E_UAVWaypointAction;
typedef enum E_UAVWaypointMissionState
Current Drone Status of Waypoint Task.
typedef enum {
UAV_WAYPOINT_MISSION_STATE_IDEL = 0, /*!< waypoint mission idel state */
UAV_WAYPOINT_MISSION_STATE_PREPARE = 16, /*!< waypoint mission prepare state */
UAV_WAYPOINT_MISSION_STATE_TRANS_MISSION = 32, /*!< waypoint mission transition state */
UAV_WAYPOINT_MISSION_STATE_MISION = 48, /*!< waypoint mission state */
UAV_WAYPOINT_MISSION_STATE_BREAK = 64, /*!< waypoint mission break state */
UAV_WAYPOINT_MISSION_STATE_RESUME = 80, /*!< waypoint mission resume state */
UAV_WAYPOINT_MISSION_RETURN_FIRSTPOINT = 98, /*!< waypoint mission return first point state */
}E_UAVWaypointMissionState;
typedef enum E_UAVWaypointActionState
Waypoint Task Status.
typedef enum {
UAV_WAYPOINT_ACTION_STATE_IDEL = 0, /*!< waypoint action idel state */
UAV_WAYPOINT_ACTION_STATE_RUNNING = 1, /*!< waypoint action running state */
UAV_WAYPOINT_ACTION_STATE_FINISHED = 5, /*!< waypoint action finished state */
}E_UAVWaypointActionState;
typedef struct T_UAVWaypointMissionState
typedef struct {
E_UAVWaypointMissionState state; /*!< waypoint mission state */
uint32_t wayLineId; /*!< waypoint line id */
uint16_t currentWaypointIndex; /*!< current waypoint index */
}T_UAVWaypointMissionState;
typedef struct T_UAVWaypointActionState
typedef struct {
E_UAVWaypointActionState state; /*!< waypoint action state */
uint32_t wayLineId; /*!< waypoint line id */
uint16_t currentWaypointIndex; /*!< current waypoint index */
uint16_t actionGroupId; /*!< action group id */
uint16_t actionId; /*!< action id */
}T_UAVWaypointActionState;
Function Prototypes
function UAV_Waypoint_Init
- Function: Waypoint task initialization request.
extern int UAV_Waypoint_Init(void);
function UAV_Waypoint_Deinit
- Function: Waypoint task de-registration request.
extern void UAV_Waypoint_Deinit(void);
function UAV_Waypoint_UploadKmz
- Function:Upload KMZ file via raw data.
extern int UAV_Waypoint_UploadKmz(const uint8_t *data, uint32_t size);
function UAV_Waypoint_UploadKmzFile
- Function: Upload KMZ file via file.
extern int UAV_Waypoint_UploadKmzFile(const char *file);
function UAV_Waypoint_Action
- Function: Start executing the task.
extern int UAV_Waypoint_Action(const E_UAVWaypointAction action, const int32_t msec);
function UAV_Waypoint_RegisterMissionStateCallback
- Function: Register callback function for waypoint task state.
extern int UAV_Waypoint_RegisterMissionStateCallback(UAVWaypointMissionStateCallback_t callback);
function UAV_Waypoint_RegisterActionStateCallback
- Function: Register callback function for waypoint task action state.
extern int UAV_Waypoint_RegisterActionStateCallback(UAVWaypointActionStateCallback_t callback);