]> git.friedersdorff.com Git - max/tmk_keyboard.git/commitdiff
Add support for Infinity 60% 1.1a
authorBrandon Bennett <bennetb@gmail.com>
Fri, 22 Jul 2016 06:16:17 +0000 (00:16 -0600)
committerBrandon Bennett <bennetb@gmail.com>
Fri, 22 Jul 2016 06:16:23 +0000 (00:16 -0600)
The newest version of the Infinity keyboard has a slightly different
matrix and LED support.

This just adds support for the matrix.

Flashed and tested on my IC60 1.1a.

keyboard/infinity/README
keyboard/infinity/config.h
keyboard/infinity/led.c
keyboard/infinity/matrix.c

index 53d1c91737c7e3eeb40059af63dfc35cf2202761..18da9a88be2ac86bc8ca95449971badb6250b2b0 100644 (file)
@@ -26,8 +26,12 @@ http://cache.freescale.com/files/32bit/doc/data_sheet/K20P48M50SF0.pdf
 Pin Usage
 =========
 Key Matrix:
-    Strobe(output high):            PTB0 PTB1 PTB2 PTB3 PTB16 PTB17 PTC4 PTC5 PTD0
-    Sense(input with pull-down):    PTD1 PTD2 PTD3 PTD4 PTD5 PTD6 PTD7
+       For v1.0 (without LED support)
+               strobe(output high):            ptb0 ptb1 ptb2 ptb3 ptb16 ptb17 ptc4 ptc5 ptd0
+               sense(input with pull-down):    ptd1 ptd2 ptd3 ptd4 ptd5 ptd6 ptd7
+       For v1.1a (with LED support)
+               strobe(output high):            ptc0 ptc1 ptc2 ptc3 ptc4 ptc5 ptc6 ptc7 ptd0
+               sense(input with pull-down):    ptd1 ptd2 ptd3 ptd4 ptd5 ptd6 ptd7
 
 
 SWD pinout:
@@ -47,7 +51,7 @@ kiibohd bootloader: Lib/mk20dx128vlf5.bootloader.ld
             | .vectors          | ------------.    | StackPointer0 |     of Bootloader
             | .startup          |              \   | ResetHandler1 |
             | .rodata           |               `--+---------------+ 0xF8
-0x0000_0400 | .flashconfig(0x10)| 
+0x0000_0400 | .flashconfig(0x10)|
       _0410 | .text             |
             | .init             |
 0x0000_1000 +-------------------+ -----------------+---------------+ Vector table
@@ -62,7 +66,7 @@ kiibohd bootloader: Lib/mk20dx128vlf5.bootloader.ld
 
 0x1FFF_E000 +-------------------+ -----------------+---------------+ Vector table
       _E0F8 |                   | ------------.    |               |     of App(copied)
-            |                   |              \   |               |  
+            |                   |              \   |               |
             |                   |               `--+---------------+ mbed NVIC
             |                   |
             | RAM               |
index dc734dbdbe0d7180143a3985979e54b30014e0c3..c9295a199500a78ebcbb581b7d22f8913c2fd01e 100644 (file)
@@ -34,10 +34,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COLS 7   // Sense
 
 /* key combination for command */
-#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) 
+#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
 
 
 /* for prototype */
 //#define INFINITY_PROTOTYPE
 
+/* Version 1.1a of the board */
+//#define INFINITY_LED
+
 #endif
index b7e638b254369f87f6dbcb5c87d447faf7c5d44e..ce9d510bd0cb2dd22f277cbf4a586169fc443bf0 100644 (file)
@@ -19,7 +19,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "led.h"
 
 
-/* HHKB has no LEDs */
+/* TODO: setup led support for 1.1a version of the board */
 void led_set(uint8_t usb_led)
 {
 }
index 478a40fd9e0afdbf19ccc7ff16880829cb5916c8..36c95815f66ff077baa25d5634acd83d42674116 100644 (file)
@@ -39,6 +39,7 @@ void matrix_init(void)
     gpio_init_in_ex(&col[5], PTD6, PullDown);
     gpio_init_in_ex(&col[6], PTD7, PullDown);
 
+#ifdef INFINITY_LED
     /* Row(strobe) */
     gpio_init_out_ex(&row[0], PTB0, 0);
     gpio_init_out_ex(&row[1], PTB1, 0);
@@ -49,6 +50,18 @@ void matrix_init(void)
     gpio_init_out_ex(&row[6], PTC4, 0);
     gpio_init_out_ex(&row[7], PTC5, 0);
     gpio_init_out_ex(&row[8], PTD0, 0);
+#else
+    gpio_init_out_ex(&row[0], PTC0, 0);
+    gpio_init_out_ex(&row[1], PTC1, 0);
+    gpio_init_out_ex(&row[2], PTC2, 0);
+    gpio_init_out_ex(&row[3], PTC3, 0);
+    gpio_init_out_ex(&row[4], PTC4, 0);
+    gpio_init_out_ex(&row[5], PTC5, 0);
+    gpio_init_out_ex(&row[6], PTC6, 0);
+    gpio_init_out_ex(&row[7], PTC7, 0);
+    gpio_init_out_ex(&row[8], PTD0, 0);
+
+#endif
 }
 
 uint8_t matrix_scan(void)