projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Convert GPS to SiRF binary protocol.
[fw/altos]
/
src
/
ao.h
diff --git
a/src/ao.h
b/src/ao.h
index 20431b98d28080d6a848e3fd789d7cf9c86d05c6..d4df159553352b5da135e973b696ebb5d077042a 100644
(file)
--- a/
src/ao.h
+++ b/
src/ao.h
@@
-21,6
+21,7
@@
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
+#include <stddef.h>
#include "cc1111.h"
#define TRUE 1
#include "cc1111.h"
#define TRUE 1
@@
-121,6
+122,10
@@
ao_timer_isr(void) interrupt 9;
void
ao_timer_init(void);
void
ao_timer_init(void);
+/* Initialize the hardware clock. Must be called first */
+void
+ao_clock_init(void);
+
/*
* ao_adc.c
*/
/*
* ao_adc.c
*/
@@
-419,14
+424,6
@@
ao_ee_init(void);
* ao_log.c
*/
* ao_log.c
*/
-/* Structure containing GPS position, either lat or lon */
-
-struct ao_gps_pos {
- uint8_t degrees;
- uint8_t minutes;
- uint16_t minutes_fraction; /* in units of 1/10000 minutes */
-};
-
/*
* The data log is recorded in the eeprom as a sequence
* of data packets.
/*
* The data log is recorded in the eeprom as a sequence
* of data packets.
@@
-495,8
+492,8
@@
struct ao_log_record {
uint8_t second;
uint8_t flags;
} gps_time;
uint8_t second;
uint8_t flags;
} gps_time;
-
struct ao_gps_pos
gps_latitude;
-
struct ao_gps_pos
gps_longitude;
+
int32_t
gps_latitude;
+
int32_t
gps_longitude;
struct {
int16_t altitude;
uint16_t unused;
struct {
int16_t altitude;
uint16_t unused;
@@
-556,7
+553,7
@@
enum ao_flight_state {
ao_flight_pad = 2,
ao_flight_boost = 3,
ao_flight_fast = 4,
ao_flight_pad = 2,
ao_flight_boost = 3,
ao_flight_fast = 4,
- ao_flight_
apogee
= 5,
+ ao_flight_
coast
= 5,
ao_flight_drogue = 6,
ao_flight_main = 7,
ao_flight_landed = 8,
ao_flight_drogue = 6,
ao_flight_main = 7,
ao_flight_landed = 8,
@@
-675,21
+672,14
@@
ao_serial_init(void);
#define AO_GPS_NUM_SAT_SHIFT (0)
#define AO_GPS_VALID (1 << 4)
#define AO_GPS_NUM_SAT_SHIFT (0)
#define AO_GPS_VALID (1 << 4)
-#define AO_GPS_LONGITUDE_MASK (1 << 5)
-#define AO_GPS_LONGITUDE_EAST (0 << 5)
-#define AO_GPS_LONGITUDE_WEST (1 << 5)
-
-#define AO_GPS_LATITUDE_MASK (1 << 6)
-#define AO_GPS_LATITUDE_NORTH (0 << 6)
-#define AO_GPS_LATITUDE_SOUTH (1 << 6)
struct ao_gps_data {
uint8_t hour;
uint8_t minute;
uint8_t second;
uint8_t flags;
struct ao_gps_data {
uint8_t hour;
uint8_t minute;
uint8_t second;
uint8_t flags;
-
struct ao_gps_pos
latitude;
-
struct ao_gps_pos
longitude;
+
int32_t
latitude;
+
int32_t
longitude;
int16_t altitude;
};
int16_t altitude;
};