summaryrefslogtreecommitdiff
path: root/src/drivers/ao_seven_segment.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/ao_seven_segment.c')
-rw-r--r--src/drivers/ao_seven_segment.c264
1 files changed, 134 insertions, 130 deletions
diff --git a/src/drivers/ao_seven_segment.c b/src/drivers/ao_seven_segment.c
index b3b5f878..961fbb84 100644
--- a/src/drivers/ao_seven_segment.c
+++ b/src/drivers/ao_seven_segment.c
@@ -34,134 +34,138 @@
*
*/
+#ifndef SEVEN_SEGMENT_DEBUG
+#define SEVEN_SEGMENT_DEBUG 0
+#endif
+
static const uint8_t ao_segments[] = {
- (1 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (0 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* 0 */
-
- (0 << AO_SEGMENT_0) |
- (0 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (0 << AO_SEGMENT_3) |
- (0 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (0 << AO_SEGMENT_6), /* 1 */
-
- (1 << AO_SEGMENT_0) |
- (0 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (0 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* 2 */
-
- (1 << AO_SEGMENT_0) |
- (0 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (0 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* 3 */
-
- (0 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (0 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (0 << AO_SEGMENT_6), /* 4 */
-
- (1 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (0 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (0 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* 5 */
-
- (1 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (0 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* 6 */
-
- (1 << AO_SEGMENT_0) |
- (0 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (0 << AO_SEGMENT_3) |
- (0 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (0 << AO_SEGMENT_6), /* 7 */
-
- (1 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* 8 */
-
- (1 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (0 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* 9 */
-
- (1 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (0 << AO_SEGMENT_6), /* A */
-
- (0 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (0 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* b */
-
- (1 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (0 << AO_SEGMENT_2) |
- (0 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (0 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* c */
-
- (0 << AO_SEGMENT_0) |
- (0 << AO_SEGMENT_1) |
- (1 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (1 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* d */
-
- (1 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (0 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (0 << AO_SEGMENT_5) |
- (1 << AO_SEGMENT_6), /* E */
-
- (1 << AO_SEGMENT_0) |
- (1 << AO_SEGMENT_1) |
- (0 << AO_SEGMENT_2) |
- (1 << AO_SEGMENT_3) |
- (1 << AO_SEGMENT_4) |
- (0 << AO_SEGMENT_5) |
- (0 << AO_SEGMENT_6), /* F */
+ (1 << 0) |
+ (1 << 1) |
+ (1 << 2) |
+ (0 << 3) |
+ (1 << 4) |
+ (1 << 5) |
+ (1 << 6), /* 0 */
+
+ (0 << 0) |
+ (0 << 1) |
+ (1 << 2) |
+ (0 << 3) |
+ (0 << 4) |
+ (1 << 5) |
+ (0 << 6), /* 1 */
+
+ (1 << 0) |
+ (0 << 1) |
+ (1 << 2) |
+ (1 << 3) |
+ (1 << 4) |
+ (0 << 5) |
+ (1 << 6), /* 2 */
+
+ (1 << 0) |
+ (0 << 1) |
+ (1 << 2) |
+ (1 << 3) |
+ (0 << 4) |
+ (1 << 5) |
+ (1 << 6), /* 3 */
+
+ (0 << 0) |
+ (1 << 1) |
+ (1 << 2) |
+ (1 << 3) |
+ (0 << 4) |
+ (1 << 5) |
+ (0 << 6), /* 4 */
+
+ (1 << 0) |
+ (1 << 1) |
+ (0 << 2) |
+ (1 << 3) |
+ (0 << 4) |
+ (1 << 5) |
+ (1 << 6), /* 5 */
+
+ (1 << 0) |
+ (1 << 1) |
+ (0 << 2) |
+ (1 << 3) |
+ (1 << 4) |
+ (1 << 5) |
+ (1 << 6), /* 6 */
+
+ (1 << 0) |
+ (0 << 1) |
+ (1 << 2) |
+ (0 << 3) |
+ (0 << 4) |
+ (1 << 5) |
+ (0 << 6), /* 7 */
+
+ (1 << 0) |
+ (1 << 1) |
+ (1 << 2) |
+ (1 << 3) |
+ (1 << 4) |
+ (1 << 5) |
+ (1 << 6), /* 8 */
+
+ (1 << 0) |
+ (1 << 1) |
+ (1 << 2) |
+ (1 << 3) |
+ (0 << 4) |
+ (1 << 5) |
+ (1 << 6), /* 9 */
+
+ (1 << 0) |
+ (1 << 1) |
+ (1 << 2) |
+ (1 << 3) |
+ (1 << 4) |
+ (1 << 5) |
+ (0 << 6), /* A */
+
+ (0 << 0) |
+ (1 << 1) |
+ (0 << 2) |
+ (1 << 3) |
+ (1 << 4) |
+ (1 << 5) |
+ (1 << 6), /* b */
+
+ (1 << 0) |
+ (1 << 1) |
+ (0 << 2) |
+ (0 << 3) |
+ (1 << 4) |
+ (0 << 5) |
+ (1 << 6), /* c */
+
+ (0 << 0) |
+ (0 << 1) |
+ (1 << 2) |
+ (1 << 3) |
+ (1 << 4) |
+ (1 << 5) |
+ (1 << 6), /* d */
+
+ (1 << 0) |
+ (1 << 1) |
+ (0 << 2) |
+ (1 << 3) |
+ (1 << 4) |
+ (0 << 5) |
+ (1 << 6), /* E */
+
+ (1 << 0) |
+ (1 << 1) |
+ (0 << 2) |
+ (1 << 3) |
+ (1 << 4) |
+ (0 << 5) |
+ (0 << 6), /* F */
};
void
@@ -177,7 +181,7 @@ ao_seven_segment_set(uint8_t digit, uint8_t value)
/* Check for decimal point */
if (value & 0x10)
- segments |= (1 << AO_SEGMENT_7);
+ segments |= (1 << 7);
}
for (s = 0; s <= 7; s++)
@@ -192,7 +196,7 @@ ao_seven_segment_clear(void)
}
-#if 0
+#if SEVEN_SEGMENT_DEBUG
static void
ao_seven_segment_show(void)
{
@@ -214,7 +218,7 @@ static const struct ao_cmds ao_seven_segment_cmds[] = {
void
ao_seven_segment_init(void)
{
-#if 0
+#if SEVEN_SEGMENT_DEBUG
ao_cmd_register(ao_seven_segment_cmds);
#endif
}