projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add desktop file
[fw/altos]
/
src
/
ao.h
diff --git
a/src/ao.h
b/src/ao.h
index 2c6eb2b91180d254818ca2553849a0b2cde95a90..97cb75ae59ca016f7f0c953c094827c134690360 100644
(file)
--- a/
src/ao.h
+++ b/
src/ao.h
@@
-23,6
+23,7
@@
#include <string.h>
#include <stddef.h>
#include "cc1111.h"
#include <string.h>
#include <stddef.h>
#include "cc1111.h"
+#include "ao_pins.h"
#define TRUE 1
#define FALSE 0
#define TRUE 1
#define FALSE 0
@@
-42,7
+43,7
@@
struct ao_task {
__xdata void *wchan; /* current wait channel (NULL if running) */
uint16_t alarm; /* abort ao_sleep time */
uint8_t stack_count; /* amount of saved stack */
__xdata void *wchan; /* current wait channel (NULL if running) */
uint16_t alarm; /* abort ao_sleep time */
uint8_t stack_count; /* amount of saved stack */
- uint8_t task_id; /*
index in the task array
*/
+ uint8_t task_id; /*
unique id
*/
__code char *name; /* task name */
uint8_t stack[AO_STACK_SIZE]; /* saved stack */
};
__code char *name; /* task name */
uint8_t stack[AO_STACK_SIZE]; /* saved stack */
};
@@
-148,15
+149,7
@@
void
ao_clock_init(void);
/*
ao_clock_init(void);
/*
- * ao_adc.c
- */
-
-#define AO_ADC_RING 32
-#define ao_adc_ring_next(n) (((n) + 1) & (AO_ADC_RING - 1))
-#define ao_adc_ring_prev(n) (((n) - 1) & (AO_ADC_RING - 1))
-
-/*
- * One set of samples read from the A/D converter
+ * One set of samples read from the A/D converter or telemetry
*/
struct ao_adc {
uint16_t tick; /* tick when the sample was read */
*/
struct ao_adc {
uint16_t tick; /* tick when the sample was read */
@@
-168,6
+161,20
@@
struct ao_adc {
int16_t sense_m; /* main continuity sense */
};
int16_t sense_m; /* main continuity sense */
};
+#ifndef HAS_ADC
+#error Please define HAS_ADC
+#endif
+
+#if HAS_ADC
+/*
+ * ao_adc.c
+ */
+
+#define AO_ADC_RING 32
+#define ao_adc_ring_next(n) (((n) + 1) & (AO_ADC_RING - 1))
+#define ao_adc_ring_prev(n) (((n) - 1) & (AO_ADC_RING - 1))
+
+
/*
* A/D data is stored in a ring, with the next sample to be written
* at ao_adc_head
/*
* A/D data is stored in a ring, with the next sample to be written
* at ao_adc_head
@@
-188,15
+195,16
@@
void
ao_adc_get(__xdata struct ao_adc *packet);
/* The A/D interrupt handler */
ao_adc_get(__xdata struct ao_adc *packet);
/* The A/D interrupt handler */
-#if !AO_NO_ADC_ISR
+
void
ao_adc_isr(void) interrupt 1;
void
ao_adc_isr(void) interrupt 1;
-#endif
/* Initialize the A/D converter */
void
ao_adc_init(void);
/* Initialize the A/D converter */
void
ao_adc_init(void);
+#endif /* HAS_ADC */
+
/*
* ao_beep.c
*/
/*
* ao_beep.c
*/
@@
-255,8
+263,6
@@
ao_beep_init(void);
*/
#define AO_LED_NONE 0
*/
#define AO_LED_NONE 0
-#define AO_LED_GREEN 1
-#define AO_LED_RED 2
/* Turn on the specified LEDs */
void
/* Turn on the specified LEDs */
void
@@
-696,13
+702,16
@@
ao_dbg_init(void);
* ao_serial.c
*/
* ao_serial.c
*/
-#if !AO_NO_SERIAL_ISR
+#ifndef HAS_SERIAL_1
+#error Please define HAS_SERIAL_1
+#endif
+
+#if HAS_SERIAL_1
void
ao_serial_rx1_isr(void) interrupt 3;
void
ao_serial_tx1_isr(void) interrupt 14;
void
ao_serial_rx1_isr(void) interrupt 3;
void
ao_serial_tx1_isr(void) interrupt 14;
-#endif
char
ao_serial_getchar(void) __critical;
char
ao_serial_getchar(void) __critical;
@@
-719,6
+728,7
@@
ao_serial_set_speed(uint8_t speed);
void
ao_serial_init(void);
void
ao_serial_init(void);
+#endif
/*
* ao_gps.c
/*
* ao_gps.c
@@
-731,6
+741,8
@@
ao_serial_init(void);
#define AO_GPS_RUNNING (1 << 5)
#define AO_GPS_DATE_VALID (1 << 6)
#define AO_GPS_RUNNING (1 << 5)
#define AO_GPS_DATE_VALID (1 << 6)
+extern __xdata uint16_t ao_gps_tick;
+
struct ao_gps_data {
uint8_t year;
uint8_t month;
struct ao_gps_data {
uint8_t year;
uint8_t month;