diff options
Diffstat (limited to 'src/kernel/ao_tracker.h')
| -rw-r--r-- | src/kernel/ao_tracker.h | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/src/kernel/ao_tracker.h b/src/kernel/ao_tracker.h index 43556965..1adf0f33 100644 --- a/src/kernel/ao_tracker.h +++ b/src/kernel/ao_tracker.h @@ -21,6 +21,29 @@  #define AO_CONFIG_DEFAULT_TRACKER_START_HORIZ	1000  #define AO_CONFIG_DEFAULT_TRACKER_START_VERT	100 +/* Speeds for the various modes, 2m/s seems reasonable for 'not moving' */ +#define AO_TRACKER_NOT_MOVING	200 + +extern int32_t	ao_tracker_start_latitude; +extern int32_t	ao_tracker_start_longitude; +extern int16_t	ao_tracker_start_altitude; + +#define AO_TRACKER_RING	8 + +struct ao_tracker_data { +	uint16_t			tick; +	uint8_t				new; +	uint8_t				state; +	struct ao_telemetry_location	gps_data; +	struct ao_telemetry_satellite	gps_tracking_data; +}; + +extern struct ao_tracker_data	ao_tracker_data[AO_TRACKER_RING]; +extern uint8_t			ao_tracker_head; + +#define ao_tracker_ring_next(n)	(((n) + 1) & (AO_TRACKER_RING-1)) +#define ao_tracker_ring_prev(n)	(((n) - 1) & (AO_TRACKER_RING-1)) +  void  ao_tracker_init(void);  | 
