Skip to main content

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_UAVWaypointActionState

  • Function 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);