From: Keith Packard Date: Tue, 9 Apr 2013 00:42:18 +0000 (-0700) Subject: altos: Monitor battery voltage on telebt X-Git-Tag: altosdroid_v1.2-1~27 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=08eb1e3e1abb1aa4f5ea92b781a2ff8f480006c5;hp=6ba0df9b440b69bf5bc5f4e435b431adf303fee2 altos: Monitor battery voltage on telebt Signed-off-by: Keith Packard --- diff --git a/src/cc1111/ao_adc.c b/src/cc1111/ao_adc.c index bfdc418a..ed76179b 100644 --- a/src/cc1111/ao_adc.c +++ b/src/cc1111/ao_adc.c @@ -153,6 +153,15 @@ ao_adc_isr(void) __interrupt 1 #define GOT_ADC #endif /* TELEFIRE_V_0_1 */ +#ifdef TELEBT_V_1_0 + a = (uint8_t __xdata *) (&ao_data_ring[ao_data_head].adc.batt); + a[0] = ADCL; + a[1] = ADCH; + if (0) + ; +#define GOT_ADC +#endif + #ifndef GOT_ADC #error No known ADC configuration set #endif diff --git a/src/telebt-v1.0/Makefile b/src/telebt-v1.0/Makefile index 1a3f1c80..911a8b09 100644 --- a/src/telebt-v1.0/Makefile +++ b/src/telebt-v1.0/Makefile @@ -35,6 +35,7 @@ CORE_SRC = \ CC1111_SRC = \ ao_dbg.c \ + ao_adc.c \ ao_dma.c \ ao_led.c \ ao_packet.c \ diff --git a/src/telebt-v1.0/ao_pins.h b/src/telebt-v1.0/ao_pins.h index b248521d..9e47f3b8 100644 --- a/src/telebt-v1.0/ao_pins.h +++ b/src/telebt-v1.0/ao_pins.h @@ -28,7 +28,6 @@ #define HAS_SERIAL_1_HW_FLOW 1 #define USE_SERIAL_1_STDIN 1 #define DELAY_SERIAL_1_STDIN 1 -#define HAS_ADC 0 #define HAS_DBG 1 #define HAS_EEPROM 0 #define HAS_LOG 0 @@ -50,6 +49,19 @@ #define HAS_MONITOR 1 #define LEGACY_MONITOR 0 +#define HAS_ADC 1 +#define AO_PAD_ADC_BATT 0 +#define AO_ADC_PINS (1 << AO_PAD_ADC_BATT) + +struct ao_adc { + int16_t batt; +}; + +#define AO_ADC_DUMP(p) \ + printf ("tick: %5u batt %5d\n", \ + (p)->tick, \ + (p)->adc.batt) + #if DBG_ON_P1 #define DBG_CLOCK (1 << 4) /* mi0 */ diff --git a/src/telebt-v1.0/ao_telebt.c b/src/telebt-v1.0/ao_telebt.c index 89434e7e..4a50a9d4 100644 --- a/src/telebt-v1.0/ao_telebt.c +++ b/src/telebt-v1.0/ao_telebt.c @@ -31,6 +31,7 @@ main(void) ao_monitor_init(); ao_radio_init(); ao_packet_master_init(); + ao_adc_init(); ao_btm_init(); #if HAS_DBG ao_dbg_init();