aboutsummaryrefslogtreecommitdiffstats
path: root/src/keypad.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/keypad.c')
-rw-r--r--src/keypad.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/keypad.c b/src/keypad.c
index f76271c..5fe2537 100644
--- a/src/keypad.c
+++ b/src/keypad.c
@@ -23,17 +23,19 @@
#include <gpio.h>
#include <task.h>
-#define ROW_0 GPIO_PORT(A, 12)
-#define ROW_1 GPIO_PORT(B, 12)
-#define ROW_2 GPIO_PORT(B, 11)
-#define ROW_3 GPIO_PORT(C, 4)
-#define COL_0 GPIO_PORT(B, 13)
-#define COL_1 GPIO_PORT(B, 14)
-#define COL_2 GPIO_PORT(B, 15)
-#define COL_3 GPIO_PORT(B, 1)
-#define COL_4 GPIO_PORT(B, 2)
+#define ROW_0 GPIO_PORT(B, 2)
+#define ROW_1 GPIO_PORT(B, 1)
+#define ROW_2 GPIO_PORT(B, 15)
+#define ROW_3 GPIO_PORT(B, 14)
+#define ROW_4 GPIO_PORT(B, 13)
+#define ROW_5 GPIO_PORT(C, 4)
+#define COL_0 GPIO_PORT(B, 11)
+#define COL_1 GPIO_PORT(B, 12)
+#define COL_2 GPIO_PORT(A, 11)
+#define COL_3 GPIO_PORT(A, 12)
+#define COL_4 GPIO_PORT(C, 5)
-#define ROWS 4
+#define ROWS 6
#define COLS 5
typedef struct {
@@ -42,17 +44,21 @@ typedef struct {
} port_t;
static const port_t keypad_rows[ROWS] = {
- { ROW_0 }, { ROW_1 }, { ROW_2 }, { ROW_3 }
+ { ROW_0 }, { ROW_1 }, { ROW_2 },
+ { ROW_3 }, { ROW_4 }, { ROW_5 }
};
static const port_t keypad_cols[COLS] = {
- { COL_0 }, { COL_1 }, { COL_2 }, { COL_3 }, { COL_4 }
+ { COL_0 }, { COL_1 }, { COL_2 },
+ { COL_3 }, { COL_4 }
};
static const int keypad_map[ROWS][COLS] = {
- { '7', '8', '9', 'x', '/' },
- { '4', '5', '6', 'y', '*' },
- { '1', '2', '3', '=', '-' },
+ { '&', '|', '^', ' ', ' ' },
+ { 'x', 'y', 'z', '=', ' ' },
+ { '7', '8', '9', '(', ')' },
+ { '4', '5', '6', '/', '%' },
+ { '1', '2', '3', '*', '-' },
{ '.', '0', '\b', '\n', '+' }
};