aboutsummaryrefslogtreecommitdiff
path: root/keyboards/kinesis/kint36
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kinesis/kint36')
-rw-r--r--keyboards/kinesis/kint36/chconf.h28
-rw-r--r--keyboards/kinesis/kint36/config.h66
-rw-r--r--keyboards/kinesis/kint36/kint36.c26
-rw-r--r--keyboards/kinesis/kint36/kint36.h92
-rw-r--r--keyboards/kinesis/kint36/mcuconf.h65
-rw-r--r--keyboards/kinesis/kint36/readme.md3
-rw-r--r--keyboards/kinesis/kint36/rules.mk2
7 files changed, 282 insertions, 0 deletions
diff --git a/keyboards/kinesis/kint36/chconf.h b/keyboards/kinesis/kint36/chconf.h
new file mode 100644
index 000000000..81dfcd5a2
--- /dev/null
+++ b/keyboards/kinesis/kint36/chconf.h
@@ -0,0 +1,28 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/kinesis/kint36/chconf.h -r platforms/chibios/common/configs/chconf.h`
20 */
21
22#pragma once
23
24#define CH_CFG_ST_TIMEDELTA 0
25
26#define CH_CFG_TIME_QUANTUM 20
27
28#include_next <chconf.h>
diff --git a/keyboards/kinesis/kint36/config.h b/keyboards/kinesis/kint36/config.h
new file mode 100644
index 000000000..be5752603
--- /dev/null
+++ b/keyboards/kinesis/kint36/config.h
@@ -0,0 +1,66 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19/* USB Device descriptor parameter */
20#undef VENDOR_ID
21#define VENDOR_ID 0x1209
22#undef PRODUCT_ID
23#define PRODUCT_ID 0x345C
24#undef DEVICE_VER
25#define DEVICE_VER 0x0001
26#undef MANUFACTURER
27#define MANUFACTURER "https://github.com/stapelberg"
28#undef PRODUCT
29#define PRODUCT "kinT (kint36)"
30
31/* key matrix size */
32#define MATRIX_ROWS 15
33#define MATRIX_COLS 7
34
35/*
36 * Keyboard Matrix Assignments
37 *
38 * Change this to how you wired your keyboard
39 * COLS: AVR pins used for columns, left to right
40 * ROWS: AVR pins used for rows, top to bottom
41 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
42 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
43 *
44 */
45#define MATRIX_ROW_PINS { D3, C3, C4, C6, D2, B0, D7, A12, A13, B17, B16, D0, B1, C2, D6 }
46#define MATRIX_COL_PINS { B3, D1, C0, D5, C1, B2, D4 }
47
48#define UNUSED_PINS
49
50/* COL2ROW or ROW2COL */
51#define DIODE_DIRECTION COL2ROW
52
53/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
54#define DEBOUNCE 5
55
56#define IGNORE_MOD_TAP_INTERRUPT
57
58// Reduce input latency by lowering the USB polling interval
59// from its 10ms default to the 1ms minimum that USB 1.x (Full Speed) allows:
60#define USB_POLLING_INTERVAL_MS 1
61
62#define LED_PIN_ON_STATE 0
63#define LED_NUM_LOCK_PIN A14
64#define LED_CAPS_LOCK_PIN C7
65#define LED_SCROLL_LOCK_PIN A5
66#define LED_COMPOSE_PIN E26
diff --git a/keyboards/kinesis/kint36/kint36.c b/keyboards/kinesis/kint36/kint36.c
new file mode 100644
index 000000000..108c14c7b
--- /dev/null
+++ b/keyboards/kinesis/kint36/kint36.c
@@ -0,0 +1,26 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "kint36.h"
18
19void matrix_init_kb(void) {
20 matrix_init_user();
21
22// Turn on the Teensy 3.6 Power LED:
23#define LED_POWER C5
24 setPinOutput(LED_POWER);
25 writePinHigh(LED_POWER);
26}
diff --git a/keyboards/kinesis/kint36/kint36.h b/keyboards/kinesis/kint36/kint36.h
new file mode 100644
index 000000000..d427a1c2d
--- /dev/null
+++ b/keyboards/kinesis/kint36/kint36.h
@@ -0,0 +1,92 @@
1/* Copyright 2020 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21#define ___ KC_NO
22
23// This a shortcut to help you visually see your layout.
24// The first section contains all of the arguments as on the physical keyboard
25// The second converts the arguments into the 2-D scanned array
26
27#define LAYOUT( \
28 kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, \
29 k00, k10, k20, k30, k40, k50, \
30 k01, k11, k21, k31, k41, k51, \
31 k02, k12, k22, k32, k42, k52, \
32 k03, k13, k23, k33, k43, k53, \
33 k14, k24, k34, k54, \
34 k56, k55, \
35 k35, \
36 k36, k46, k25, \
37 \
38 kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
39 k60, k70, k80, k90, kA0, kB0, \
40 k61, k71, k81, k91, kA1, kB1, \
41 k62, k72, k82, k92, kA2, kB2, \
42 k63, k73, k83, k93, kA3, kB3, \
43 k64, k84, k94, kA4, \
44 k96, k85, \
45 k86, \
46 k66, k75, k65 \
47) { \
48 { k00, k01, k02, k03, ___, ___, ___ }, \
49 { k10, k11, k12, k13, k14, ___, ___ }, \
50 { k20, k21, k22, k23, k24, k25, ___ }, \
51 { k30, k31, k32, k33, k34, k35, k36 }, \
52 { k40, k41, k42, k43, ___, ___, k46 }, \
53 { k50, k51, k52, k53, k54, k55, k56 }, \
54 { k60, k61, k62, k63, k64, k65, k66 }, \
55 { k70, k71, k72, k73, ___, k75, ___ }, \
56 { k80, k81, k82, k83, k84, k85, k86 }, \
57 { k90, k91, k92, k93, k94, ___, k96 }, \
58 { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
59 { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
60 { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
61 { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
62 { kE0, kE1, kE2, kE3, kE4, kE5, ___ }, \
63}
64
65/* ---------------- LEFT HAND ----------------- ---------------- RIGHT HAND ---------------- */
66#define LAYOUT_pretty( \
67 kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
68 k00, k10, k20, k30, k40, k50, k60, k70, k80, k90, kA0, kB0, \
69 k01, k11, k21, k31, k41, k51, k61, k71, k81, k91, kA1, kB1, \
70 k02, k12, k22, k32, k42, k52, k62, k72, k82, k92, kA2, kB2, \
71 k03, k13, k23, k33, k43, k53, k63, k73, k83, k93, kA3, kB3, \
72 k14, k24, k34, k54, k64, k84, k94, kA4, \
73 k56, k55, k96, k85, \
74 k35, k86, \
75 k36, k46, k25, k66, k75, k65 \
76) { \
77 { k00, k01, k02, k03, ___, ___, ___ }, \
78 { k10, k11, k12, k13, k14, ___, ___ }, \
79 { k20, k21, k22, k23, k24, k25, ___ }, \
80 { k30, k31, k32, k33, k34, k35, k36 }, \
81 { k40, k41, k42, k43, ___, ___, k46 }, \
82 { k50, k51, k52, k53, k54, k55, k56 }, \
83 { k60, k61, k62, k63, k64, k65, k66 }, \
84 { k70, k71, k72, k73, ___, k75, ___ }, \
85 { k80, k81, k82, k83, k84, k85, k86 }, \
86 { k90, k91, k92, k93, k94, ___, k96 }, \
87 { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
88 { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
89 { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
90 { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
91 { kE0, kE1, kE2, kE3, kE4, kE5, ___ } \
92}
diff --git a/keyboards/kinesis/kint36/mcuconf.h b/keyboards/kinesis/kint36/mcuconf.h
new file mode 100644
index 000000000..b0ea44567
--- /dev/null
+++ b/keyboards/kinesis/kint36/mcuconf.h
@@ -0,0 +1,65 @@
1// based on lib/chibios-contrib/demos/KINETIS/RT-TEENSY3_6/mcuconf.h:
2/*
3 ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16*/
17
18#ifndef _MCUCONF_H_
19#define _MCUCONF_H_
20
21#define MK66FX1M0_MCUCONF
22
23/*
24 * HAL driver system settings.
25 */
26
27/* Select the MCU clocking mode below by enabling the appropriate block. */
28
29/* PEE mode - 180 MHz system clock driving by 16 MHz xtal */
30#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
31//#define KINETIS_PLLCLK_FREQUENCY 180000000UL // 180 MHz (HSRUN)
32#define KINETIS_PLLCLK_FREQUENCY 120000000UL // 120 MHz (RUN)
33#define KINETIS_SYSCLK_FREQUENCY KINETIS_PLLCLK_FREQUENCY
34#define KINETIS_BUSCLK_FREQUENCY 60000000UL
35//#define KINETIS_FLASHCLK_FREQUENCY 28000000UL // 28 MHz (HSRUN)
36#define KINETIS_FLASHCLK_FREQUENCY 24000000UL // 24 MHz (RUN)
37
38#if KINETIS_PLLCLK_FREQUENCY == 180000000UL
39# define KINETIS_CLKDIV1_OUTDIV1 1 // -> 0
40# define KINETIS_CLKDIV1_OUTDIV2 3 // -> 2
41# define KINETIS_CLKDIV1_OUTDIV4 7 // -> 6
42#else
43# define KINETIS_CLKDIV1_OUTDIV1 1 // -> 0
44# define KINETIS_CLKDIV1_OUTDIV2 2 // -> 1
45# define KINETIS_CLKDIV1_OUTDIV4 5 // -> 4
46#endif
47
48/*
49 * SERIAL driver system settings.
50 */
51#define KINETIS_SERIAL_USE_UART4 TRUE
52
53/*
54 * USB driver settings
55 */
56#define KINETIS_USB_USE_USB0 TRUE
57#define KINETIS_USB_USB0_IRQ_PRIORITY 5
58
59/*
60 * I2C driver settings
61 */
62#define KINETIS_I2C_USE_I2C0 TRUE
63#define KINETIS_I2C_I2C0_PRIORITY 4
64
65#endif /* _MCUCONF_H_ */
diff --git a/keyboards/kinesis/kint36/readme.md b/keyboards/kinesis/kint36/readme.md
new file mode 100644
index 000000000..a2bb0c1cf
--- /dev/null
+++ b/keyboards/kinesis/kint36/readme.md
@@ -0,0 +1,3 @@
1# kinesis_kint36 keyboard firmware
2
3Please see https://github.com/kinx-project/kint for details.
diff --git a/keyboards/kinesis/kint36/rules.mk b/keyboards/kinesis/kint36/rules.mk
new file mode 100644
index 000000000..8e44171c7
--- /dev/null
+++ b/keyboards/kinesis/kint36/rules.mk
@@ -0,0 +1,2 @@
1BOARD = PJRC_TEENSY_3_6
2MCU = MK66F18