projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add lots more aoview UI bits
[fw/altos]
/
ao_led.c
diff --git
a/ao_led.c
b/ao_led.c
index c46e2eba29379481c18b1d4df0f710df765d5d38..6c698b4be42192b6532f9278d617c4230743d64f 100644
(file)
--- a/
ao_led.c
+++ b/
ao_led.c
@@
-3,8
+3,7
@@
*
* 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
*
* 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.
+ * the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-18,37
+17,47
@@
#include "ao.h"
#include "ao.h"
-void
-ao_led_init(void)
-{
- P1SEL &= ~3;
- P1 &= ~3;
- P1DIR |= 3;
-}
+#define AO_LED_ALL (AO_LED_GREEN|AO_LED_RED)
+
+__pdata uint8_t ao_led_enable;
void
ao_led_on(uint8_t colors)
{
void
ao_led_on(uint8_t colors)
{
- P1 |=
colors
;
+ P1 |=
(colors & ao_led_enable)
;
}
void
ao_led_off(uint8_t colors)
{
}
void
ao_led_off(uint8_t colors)
{
- P1 &= ~
colors
;
+ P1 &= ~
(colors & ao_led_enable)
;
}
void
ao_led_set(uint8_t colors)
{
}
void
ao_led_set(uint8_t colors)
{
- P1 = (P1 & ~
3) | colors
;
+ P1 = (P1 & ~
(ao_led_enable)) | (colors & ao_led_enable)
;
}
void
}
void
-ao_led_for(uint8_t colors, uint16_t ticks)
+ao_led_toggle(uint8_t colors)
+{
+ P1 ^= (colors & ao_led_enable);
+}
+
+void
+ao_led_for(uint8_t colors, uint16_t ticks) __reentrant
{
ao_led_on(colors);
ao_delay(ticks);
ao_led_off(colors);
}
{
ao_led_on(colors);
ao_delay(ticks);
ao_led_off(colors);
}
+void
+ao_led_init(uint8_t enable)
+{
+ ao_led_enable = enable;
+ P1SEL &= ~enable;
+ P1 &= ~enable;
+ P1DIR |= enable;
+}