diff options
| author | Bdale Garbee <bdale@gag.com> | 2018-10-20 01:18:12 -0600 |
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2018-10-20 01:18:12 -0600 |
| commit | 0686a7b8aec524d81bda4c572549a3a068ce0eed (patch) | |
| tree | 2e6061c834b99e3b9668be8b3cfb1627251365d3 /src/cc1111/ao_battery.c | |
| parent | 6aa451ce81bfdfe679e3f9902043a5f0d235c745 (diff) | |
| parent | cc528f1ff0271ec6488a1a7b91c731183502101e (diff) | |
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Diffstat (limited to 'src/cc1111/ao_battery.c')
| -rw-r--r-- | src/cc1111/ao_battery.c | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/cc1111/ao_battery.c b/src/cc1111/ao_battery.c deleted file mode 100644 index 9fb4c26b..00000000 --- a/src/cc1111/ao_battery.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright © 2011 Keith Packard <keithp@keithp.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#include "ao.h" -static __data union { - uint8_t d[2]; - int16_t v; -} ao_battery_value; - -void -ao_battery_isr(void) ao_arch_interrupt(1) -{ - ao_battery_value.d[0] = ADCL; - ao_battery_value.d[1] = ADCH; - ao_wakeup(DATA_TO_XDATA(&ao_battery_value)); -} - -uint16_t -ao_battery_get(void) -{ - ao_arch_critical( - ADCCON3 = ADCCON3_EREF_VDD | ADCCON3_EDIV_512 | BATTERY_PIN; - ao_sleep(DATA_TO_XDATA(&ao_battery_value)); - ); - return (uint16_t) ((int32_t) ao_battery_value.v * (int32_t) 4950 >> 15); -} - -static void -ao_battery_show(void) -{ - printf("Battery: %u mV\n", ao_battery_get()); -} - -__code struct ao_cmds ao_battery_cmds[] = { - { ao_battery_show, "B\0Show battery voltage" }, - { 0, NULL }, -}; - -void -ao_battery_init(void) -{ - ADCCFG = (1 << BATTERY_PIN); - ADCIF = 0; - IEN0 |= IEN0_ADCIE; - ao_cmd_register(&ao_battery_cmds[0]); -} |
