diff options
author | Keith Packard <keithp@keithp.com> | 2009-04-12 23:17:16 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2009-04-12 23:17:16 -0700 |
commit | e14f07bfdb8824fc7ed6df1129c66ee39ffd6d54 (patch) | |
tree | bd0baa50ee2d25fe88dbbe8710a2ef9ee177d48d /ao.h | |
parent | 823f4f92de0c1f8dd7a644a8e56ffe9822bee6e2 (diff) |
Add A/D sampler
Sample A/D at the timer tick, placing data in a ring
of samples.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'ao.h')
-rw-r--r-- | ao.h | 25 |
1 files changed, 24 insertions, 1 deletions
@@ -20,11 +20,12 @@ #include <stdint.h> #include <stdio.h> +#include <string.h> #include "cc1111.h" #define DATA_TO_XDATA(a) ((void __xdata *) ((uint8_t) (a) | 0xff00)) -#define AO_STACK_START 0x21 +#define AO_STACK_START 0x27 #define AO_STACK_END 0xfe #define AO_STACK_SIZE (AO_STACK_END - AO_STACK_START + 1) @@ -58,4 +59,26 @@ void ao_timer_init(void); uint16_t ao_time_atomic(void); void ao_delay(uint16_t ticks); +/* ao_adc.c */ + +#define ADC_RING 32 + +struct ao_adc { + uint16_t tick; + int16_t accel; + int16_t pres; + int16_t temp; + int16_t v_batt; + int16_t sense_d; + int16_t sense_m; +}; + +extern __xdata struct ao_adc ao_adc_ring[ADC_RING]; +extern __data uint8_t ao_adc_head; + +void ao_adc_isr(void) interrupt 1; +void ao_adc_init(void); +void ao_adc_poll(void); +void ao_adc_get(__xdata struct ao_adc *packet); + #endif /* _AO_H_ */ |