summaryrefslogtreecommitdiff
path: root/src/cc1111/ao_timer.c
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2013-12-19 01:38:40 -0700
committerBdale Garbee <bdale@gag.com>2013-12-19 01:38:40 -0700
commit575bbaf976c5840fd0e308549c45a466fdec1352 (patch)
tree11bfb498348bf7687bffc24699c4b1a998988ee4 /src/cc1111/ao_timer.c
parentb825116df173b77e2cab217a7b76112c742f9279 (diff)
parentbc3610d8cecbfed40c62d4dcb93fc9a4d2a7c9e3 (diff)
Merge branch 'branch-1.3' into debian
Conflicts: ChangeLog altoslib/AltosRecordMM.java altosui/Makefile.am altosui/altos-windows.nsi.in configure.ac debian/changelog debian/control doc/Makefile doc/altusmetrum.xsl doc/release-notes-1.2.1.xsl doc/release-notes-1.2.xsl
Diffstat (limited to 'src/cc1111/ao_timer.c')
-rw-r--r--src/cc1111/ao_timer.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cc1111/ao_timer.c b/src/cc1111/ao_timer.c
index a64b5aba..75cc4ce8 100644
--- a/src/cc1111/ao_timer.c
+++ b/src/cc1111/ao_timer.c
@@ -39,6 +39,9 @@ void ao_timer_isr(void) __interrupt 9
if (++ao_adc_count == ao_adc_interval) {
ao_adc_count = 0;
ao_adc_poll();
+#if (AO_DATA_ALL & ~(AO_DATA_ADC))
+ ao_wakeup(DATA_TO_XDATA(&ao_adc_count));
+#endif
}
#endif
}
@@ -92,6 +95,13 @@ ao_clock_init(void)
while (!(SLEEP & SLEEP_XOSC_STB))
;
+ /* Power down the unused HFRC oscillator */
+ SLEEP |= SLEEP_OSC_PD;
+
+ /* Wait for HFRC to power down */
+ while ((SLEEP & SLEEP_HFRC_STB) != 0)
+ ;
+
/* Crank up the timer tick and system clock speed */
CLKCON = ((CLKCON & ~(CLKCON_TICKSPD_MASK | CLKCON_CLKSPD_MASK)) |
(CLKCON_TICKSPD_1 | CLKCON_CLKSPD_1));