]> git.donarmstrong.com Git - kiibohd-controller.git/blobdiff - Scan/matrix/matrix.h
Basic matrix module for the hall effect keypad now working.
[kiibohd-controller.git] / Scan / matrix / matrix.h
index 7af35acf44dbcdefa698570b24800396301accf4..6ac8819652ca8cd30d3c4000c1e4c2336536f59a 100644 (file)
 #include <stdint.h>
 
 
-// ----- Quick Map (don't change) -----
-#define pinA0  0
-#define pinA1  1
-#define pinA2  2
-#define pinA3  3
-#define pinA4  4
-#define pinA5  5
-#define pinA6  6
-#define pinA7  7
-
-#define pinB0 10
-#define pinB1 11
-#define pinB2 12
-#define pinB3 13
-#define pinB4 14
-#define pinB5 15
-#define pinB6 16
-#define pinB7 17
-
-#define pinC0 20
-#define pinC1 21
-#define pinC2 22
-#define pinC3 23
-#define pinC4 24
-#define pinC5 25
-#define pinC6 26
-#define pinC7 27
-
-#define pinD0 30
-#define pinD1 31
-#define pinD2 32
-#define pinD3 33
-#define pinD4 34
-#define pinD5 35
-#define pinD6 36
-#define pinD7 37
-
-#define pinE0 40
-#define pinE1 41
-#define pinE2 42
-#define pinE3 43
-#define pinE4 44
-#define pinE5 45
-#define pinE6 46
-#define pinE7 47
-
-#define pinF0 50
-#define pinF1 51
-#define pinF2 52
-#define pinF3 53
-#define pinF4 54
-#define pinF5 55
-#define pinF6 56
-#define pinF7 57
-
-#define pinNULL 128
-
-
-
-// ----- Scan Mode (usually dual-scan) -----
-// Ordered by increasing memory/CPU usage
-#define scanRow         0  // Needed for powered switches (Hall-Effect)
-#define scanCol         1  // Opposite of scanRow
-#define scanRow_powrCol 2  // NKRO supported (simple detection)
-#define scanCol_powrRow 3  // Opposite of scanRow_powrCol
-#define scanDual        4  // Typical ~2KRO matrix
-
-
-
-// ----- Scan Mode Setting -----
+
+// ----- Scan Mode Setting (See matrix_scan.h for more details) -----
 #define scanMode scanCol
 
 
 // ----- Key Settings -----
 #define KEYBOARD_SIZE 16 // # of keys
 #define MAX_ROW_SIZE  16 // # of keys in the largest row
+#define MAX_COL_SIZE   1 // # of keys in the largest column
 
 
 
@@ -131,31 +64,18 @@ static const uint8_t matrix_pinout[][MAX_ROW_SIZE + 1] = {
 //      ...  |
 
 
-  { scanMode, pinF4, pinA6, pinA1, pinA3, pinF5, pinA5, pinA2, pinF0, pinF6, pinA7, pinA0, pinF1, pinF3, pinF7, pinA4, pinF2 },
+  { scanMode, pinF0, pinF4, pinB7, pinD3, pinF5, pinF1, pinD1, pinD2, pinF6, pinF7, pinB2, pinD0, pinB0, pinB6, pinB1, pinB3 },
   { pinNULL,  1,     2,     3,     4,     5,     6,     7,     8,     9,     10,    11,    12,    13,    14,    15,    16    },
 
 
 // Example Rows
 //{ pinE0,    1,     2,     3,     4,     5,     6,     7,     8,     9,     10,    11,    12,    13,    14,    15,    16    },
-//{ pinE1,   21,    22,    23,    24,    25,    26,    27,    28,    29,     30,    31,    32,    33,    34,                 },
+//{ pinE1,   21,    22,    23,    24,    25,    26,    27,    28,    29,     30,    31,    32,    33,    34,     0,     0    },
 
 
 };
 
 
 
-// ----- Variables -----
-
-// NOTE: Highest Bit: Valid keypress (0x80 is valid keypress)
-//        Other Bits: Pressed state sample counter
-extern              uint8_t KeyIndex_Array [KEYBOARD_SIZE + 1];
-       static const uint8_t KeyIndex_Size = KEYBOARD_SIZE;
-
-
-
-// ----- Functions -----
-
-
 #endif // __MATRIX_H
 
-