projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/lisp: Fix pairp builtin
[fw/altos]
/
src
/
drivers
/
ao_seven_segment.c
diff --git
a/src/drivers/ao_seven_segment.c
b/src/drivers/ao_seven_segment.c
index 961fbb8400e95dab27624b2295075f6a5c6b481e..d2e1248f70f61e12f9fc3dee48005700ca5f8f8c 100644
(file)
--- a/
src/drivers/ao_seven_segment.c
+++ b/
src/drivers/ao_seven_segment.c
@@
-3,7
+3,8
@@
*
* 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; version 2 of the License.
+ * 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
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-168,10
+169,20
@@
static const uint8_t ao_segments[] = {
(0 << 6), /* F */
};
(0 << 6), /* F */
};
+
void
void
-ao_seven_segment_
set(uint8_t digit, uint8_t value
)
+ao_seven_segment_
direct(uint8_t digit, uint8_t segments
)
{
uint8_t s;
{
uint8_t s;
+
+ for (s = 0; s <= 7; s++)
+ ao_lcd_set(digit, s, !!(segments & (1 << s)));
+ ao_lcd_flush();
+}
+
+void
+ao_seven_segment_set(uint8_t digit, uint8_t value)
+{
uint8_t segments;
if (value == AO_SEVEN_SEGMENT_CLEAR)
uint8_t segments;
if (value == AO_SEVEN_SEGMENT_CLEAR)
@@
-183,10
+194,7
@@
ao_seven_segment_set(uint8_t digit, uint8_t value)
if (value & 0x10)
segments |= (1 << 7);
}
if (value & 0x10)
segments |= (1 << 7);
}
-
- for (s = 0; s <= 7; s++)
- ao_lcd_set(digit, s, !!(segments & (1 << s)));
- ao_lcd_flush();
+ ao_seven_segment_direct(digit, segments);
}
void
}
void