#ifndef Waypoints_h #define Waypoints_h #include #include "WProgram.h" #include 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