altos: Monitor battery voltage on telebt
authorKeith Packard <keithp@keithp.com>
Tue, 9 Apr 2013 00:42:18 +0000 (17:42 -0700)
committerKeith Packard <keithp@keithp.com>
Tue, 9 Apr 2013 07:30:36 +0000 (00:30 -0700)
Signed-off-by: Keith Packard <keithp@keithp.com>
src/cc1111/ao_adc.c
src/telebt-v1.0/Makefile
src/telebt-v1.0/ao_pins.h
src/telebt-v1.0/ao_telebt.c

index bfdc418a6ca2ae204c4f80aaa14726c67c0cf65c..ed76179b5ebeec1813edad23b2f10dc8a6e6624c 100644 (file)
@@ -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
index 1a3f1c808bb7befad38863b920c6186919539e39..911a8b09e11d06712c89ea6e4a49a898b3e42913 100644 (file)
@@ -35,6 +35,7 @@ CORE_SRC = \
 
 CC1111_SRC = \
        ao_dbg.c \
+       ao_adc.c \
        ao_dma.c \
        ao_led.c \
        ao_packet.c \
index b248521d7c462da7ebd9c9ec59b06d88ffde7076..9e47f3b839d497c65129e7d4490fef352642d0e4 100644 (file)
@@ -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
 #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 */
index 89434e7e83dcf6f761572cfcaa5b696551d6abff..4a50a9d43b750deb6c4805c8930ea56131382f21 100644 (file)
@@ -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();