ardupilot/libraries/Waypoints/Waypoints.h

51 lines
925 B
C++

#ifndef Waypoints_h
#define Waypoints_h
#include <inttypes.h>
#include <avr/eeprom.h>
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
class Waypoints
{
public:
Waypoints();
struct WP {
uint8_t id; // for commands
int8_t p1; // for commands
int32_t alt; // Altitude in centimeters (meters * 100)
int32_t lat; // Lattitude * 10**7
int32_t lng; // Longitude * 10**7
};
WP get_waypoint_with_index(uint8_t i);
WP get_current_waypoint(void);
void set_waypoint_with_index(Waypoints::WP wp, uint8_t i);
void set_start_byte(uint16_t start_byte);
void set_wp_size(uint8_t wp_size);
void next_index(void);
uint8_t get_index(void);
void set_index(uint8_t i);
uint8_t get_total(void);
void set_total(uint8_t total);
private:
uint16_t _start_byte;
uint8_t _wp_size;
uint8_t _index;
uint8_t _total;
};
#endif