aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzwnk <david@impstyle.com>2019-02-18 13:49:11 -0300
committerDrashna Jaelre <drashna@live.com>2019-02-18 08:49:11 -0800
commit7639edb0aeea7b16f49cad9963d32b7eace9434d (patch)
tree0d87da015f9011aa668f15cac104e8bcd1666090
parent0e68b6c1a9f5223fa1dc6b18d9204137b4edd921 (diff)
downloadqmk_firmware-7639edb0aeea7b16f49cad9963d32b7eace9434d.tar.gz
qmk_firmware-7639edb0aeea7b16f49cad9963d32b7eace9434d.zip
[Keyboard] handwired dactyl with 2 pro micros added (#5113)
* handwired dactyl with 2 pro micros added * dactyl_promicro README updated * dactyl_promicro default layout fixed * requested changes * dactyl_promicro README updated * qmk toolbox link fixed * layout reflects phys. keys positions
-rw-r--r--keyboards/handwired/dactyl_manuform/readme.md16
-rw-r--r--keyboards/handwired/dactyl_promicro/config.h83
-rw-r--r--keyboards/handwired/dactyl_promicro/dactyl_promicro.c12
-rw-r--r--keyboards/handwired/dactyl_promicro/dactyl_promicro.h39
-rw-r--r--keyboards/handwired/dactyl_promicro/keymaps/default/config.h25
-rw-r--r--keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c47
-rw-r--r--keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h25
-rw-r--r--keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c47
-rw-r--r--keyboards/handwired/dactyl_promicro/readme.md93
-rw-r--r--keyboards/handwired/dactyl_promicro/rules.mk66
10 files changed, 441 insertions, 12 deletions
diff --git a/keyboards/handwired/dactyl_manuform/readme.md b/keyboards/handwired/dactyl_manuform/readme.md
index 0d08c67a0..3221da0e9 100644
--- a/keyboards/handwired/dactyl_manuform/readme.md
+++ b/keyboards/handwired/dactyl_manuform/readme.md
@@ -131,17 +131,9 @@ file will run on both hands instead of having to flash left and right handed
131versions of the firmware to each half. To flash the EEPROM file for the left 131versions of the firmware to each half. To flash the EEPROM file for the left
132half run: 132half run:
133``` 133```
134avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:"./quantum/split_common/eeprom-lefthand.eep" 134make handwired/dactyl_promicro:default:dfu-split-left
135// or the equivalent in dfu-programmer 135make handwired/dactyl_promicro:default:dfu-split-right
136
137```
138and similarly for right half
139``` 136```
140avrdude -p atmega32u4 -P $(COM_PORT) -c avr109 -U eeprom:w:"./quantum/split_common/eeprom-righthand.eep"
141// or the equivalent in dfu-programmer
142```
143
144NOTE: replace `$(COM_PORT)` with the port of your device (e.g. `/dev/ttyACM0`)
145 137
146After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash. 138After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash.
147 139
@@ -162,6 +154,6 @@ Also, if the slave board is producing weird characters in certain columns,
162update the following line in `matrix.c` to the following: 154update the following line in `matrix.c` to the following:
163 155
164``` 156```
165// _delay_us(30); // without this wait read unstable value. 157// wait_us(30); // without this wait read unstable value.
166_delay_us(300); // without this wait read unstable value. 158wait_us(300); // without this wait read unstable value.
167``` 159```
diff --git a/keyboards/handwired/dactyl_promicro/config.h b/keyboards/handwired/dactyl_promicro/config.h
new file mode 100644
index 000000000..f81b3de51
--- /dev/null
+++ b/keyboards/handwired/dactyl_promicro/config.h
@@ -0,0 +1,83 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#include "config_common.h"
22#define PRODUCT Dactyl Ergo(6x6)
23
24/* key matrix size */
25// Rows are doubled-up
26#define MATRIX_ROWS 12
27#define MATRIX_COLS 6
28
29// wiring of each half
30#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
31#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
32
33/* USB Device descriptor parameter */
34#define VENDOR_ID 0xFEED
35#define PRODUCT_ID 0x3060
36#define DEVICE_VER 0x0001
37//#define MANUFACTURER tshort
38// defined in subfolder
39#define DESCRIPTION A split keyboard
40
41/* mouse config */
42#define MOUSEKEY_INTERVAL 20
43#define MOUSEKEY_DELAY 0
44#define MOUSEKEY_TIME_TO_MAX 60
45#define MOUSEKEY_MAX_SPEED 7
46#define MOUSEKEY_WHEEL_DELAY 0
47
48/* Set 0 if debouncing isn't needed */
49#define DEBOUNCING_DELAY 5
50
51/* serial.c configuration for split keyboard */
52#define SOFT_SERIAL_PIN D0
53
54/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
55#define LOCKING_SUPPORT_ENABLE
56/* Locking resynchronize hack */
57#define LOCKING_RESYNC_ENABLE
58
59/* Enables This makes it easier for fast typists to use dual-function keys */
60#define PERMISSIVE_HOLD
61
62/* ws2812 RGB LED */
63#define RGB_DI_PIN D3
64
65#define RGBLED_NUM 12 // Number of LEDs
66
67/*
68 * Feature disable options
69 * These options are also useful to firmware size reduction.
70 */
71
72/* disable debug print */
73// #define NO_DEBUG
74
75/* disable print */
76// #define NO_PRINT
77
78/* disable action features */
79//#define NO_ACTION_LAYER
80//#define NO_ACTION_TAPPING
81//#define NO_ACTION_ONESHOT
82//#define NO_ACTION_MACRO
83//#define NO_ACTION_FUNCTION
diff --git a/keyboards/handwired/dactyl_promicro/dactyl_promicro.c b/keyboards/handwired/dactyl_promicro/dactyl_promicro.c
new file mode 100644
index 000000000..5d708cf48
--- /dev/null
+++ b/keyboards/handwired/dactyl_promicro/dactyl_promicro.c
@@ -0,0 +1,12 @@
1#include "dactyl_promicro.h"
2
3#ifdef SSD1306OLED
4void led_set_kb(uint8_t usb_led) {
5 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
6 led_set_user(usb_led);
7}
8#endif
9
10void matrix_init_kb(void) {
11 matrix_init_user();
12}; \ No newline at end of file
diff --git a/keyboards/handwired/dactyl_promicro/dactyl_promicro.h b/keyboards/handwired/dactyl_promicro/dactyl_promicro.h
new file mode 100644
index 000000000..5dfc42f2a
--- /dev/null
+++ b/keyboards/handwired/dactyl_promicro/dactyl_promicro.h
@@ -0,0 +1,39 @@
1#pragma once
2
3#include "quantum.h"
4
5
6#ifdef USE_I2C
7#include <stddef.h>
8#ifdef __AVR__
9 #include <avr/io.h>
10 #include <avr/interrupt.h>
11#endif
12#endif
13
14
15#define LAYOUT_6x6(\
16 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
17 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
18 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
19 L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
20 L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
21 L55, L51, L52, R53, R54, R50, \
22 L53, R52, \
23 L54, R51 \
24 )\
25 { \
26 { L00, L01, L02, L03, L04, L05 }, \
27 { L10, L11, L12, L13, L14, L15 }, \
28 { L20, L21, L22, L23, L24, L25 }, \
29 { L30, L31, L32, L33, L34, L35 }, \
30 { L40, L41, L42, L43, L44, L45 }, \
31 { KC_NO, L51, L52, L53, L54, L55 }, \
32\
33 { R00, R01, R02, R03, R04, R05 }, \
34 { R10, R11, R12, R13, R14, R15 }, \
35 { R20, R21, R22, R23, R24, R25 }, \
36 { R30, R31, R32, R33, R34, R35 }, \
37 { R40, R41, R42, R43, R44, R45 }, \
38 { R50, R51, R52, R53, R54, KC_NO }, \
39}
diff --git a/keyboards/handwired/dactyl_promicro/keymaps/default/config.h b/keyboards/handwired/dactyl_promicro/keymaps/default/config.h
new file mode 100644
index 000000000..ce8f3501a
--- /dev/null
+++ b/keyboards/handwired/dactyl_promicro/keymaps/default/config.h
@@ -0,0 +1,25 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define USE_SERIAL
21
22#define MASTER_RIGHT
23// #define MASTER_RIGHT
24//#define EE_HANDS
25// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c
new file mode 100644
index 000000000..d396e4676
--- /dev/null
+++ b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c
@@ -0,0 +1,47 @@
1
2/* A QWERTY 3 Layer layout for the Dactyl Manuform 6x6 Keyboard */
3
4#include QMK_KEYBOARD_H
5
6extern keymap_config_t keymap_config;
7
8#define _QWERTY 0
9#define _LOWER 1
10#define _RAISE 2
11
12#define RAISE MO(_RAISE)
13#define LOWER MO(_LOWER)
14
15const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16
17
18 [_QWERTY] = LAYOUT_6x6(
19 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC,
20 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS,
21 KC_LSFT , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
22 KC_LCTL , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM , KC_DOT ,KC_SLSH,KC_BSLASH,
23 KC_PLUS , KC_LEFT,KC_UP ,KC_DOWN, KC_RGHT, RAISE , LOWER , KC_HOME, KC_PGUP, KC_PGDN,KC_END ,KC_EQL,
24 _______,KC_LALT,KC_PSCR, KC_LGUI, KC_SPC, KC_ENT,KC_GRAVE, KC_AT ,KC_PSCR ,_______
25
26 ),
27
28
29 [_LOWER] = LAYOUT_6x6(
30 KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
31 _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
32 _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
33 _______,_______,_______,_______,_______,KC_PSCR, KC_P0 , KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
34 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
35 _______,_______,_______,_______,_______, _______,_______,_______,_______,_______
36),
37
38 [_RAISE] = LAYOUT_6x6(
39 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
40 _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
41 _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
42 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD,
43 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
44 _______,_______,_______,_______,_______, _______,_______,_______,_______,_______
45 ),
46
47 };
diff --git a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h
new file mode 100644
index 000000000..ce8f3501a
--- /dev/null
+++ b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/config.h
@@ -0,0 +1,25 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define USE_SERIAL
21
22#define MASTER_RIGHT
23// #define MASTER_RIGHT
24//#define EE_HANDS
25// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c
new file mode 100644
index 000000000..d396e4676
--- /dev/null
+++ b/keyboards/handwired/dactyl_promicro/keymaps/impstyle/keymap.c
@@ -0,0 +1,47 @@
1
2/* A QWERTY 3 Layer layout for the Dactyl Manuform 6x6 Keyboard */
3
4#include QMK_KEYBOARD_H
5
6extern keymap_config_t keymap_config;
7
8#define _QWERTY 0
9#define _LOWER 1
10#define _RAISE 2
11
12#define RAISE MO(_RAISE)
13#define LOWER MO(_LOWER)
14
15const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16
17
18 [_QWERTY] = LAYOUT_6x6(
19 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC,
20 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS,
21 KC_LSFT , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT,
22 KC_LCTL , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM , KC_DOT ,KC_SLSH,KC_BSLASH,
23 KC_PLUS , KC_LEFT,KC_UP ,KC_DOWN, KC_RGHT, RAISE , LOWER , KC_HOME, KC_PGUP, KC_PGDN,KC_END ,KC_EQL,
24 _______,KC_LALT,KC_PSCR, KC_LGUI, KC_SPC, KC_ENT,KC_GRAVE, KC_AT ,KC_PSCR ,_______
25
26 ),
27
28
29 [_LOWER] = LAYOUT_6x6(
30 KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
31 _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
32 _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
33 _______,_______,_______,_______,_______,KC_PSCR, KC_P0 , KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
34 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
35 _______,_______,_______,_______,_______, _______,_______,_______,_______,_______
36),
37
38 [_RAISE] = LAYOUT_6x6(
39 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
40 _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
41 _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
42 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD,
43 _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
44 _______,_______,_______,_______,_______, _______,_______,_______,_______,_______
45 ),
46
47 };
diff --git a/keyboards/handwired/dactyl_promicro/readme.md b/keyboards/handwired/dactyl_promicro/readme.md
new file mode 100644
index 000000000..a426319b4
--- /dev/null
+++ b/keyboards/handwired/dactyl_promicro/readme.md
@@ -0,0 +1,93 @@
1# Dactyl with Arduino Pro Micro
2
3See https://github.com/adereth/dactyl-keyboard for the original Version.
4
5This Dactyl uses the Arduino Pro Mirco (2x).
6Wiring is a 6x6 Matrix like the [Dactyl Manuform](https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform)
7
8
9## Build the Firmware:
10
11 - Build the firmware with `make handwired/dactyl_promicro:<keymapname>`, for example `make handwired/dactyl:default`
12 - This will result in a hex file called `handwired_dactyl_promicro_<keymapname>.hex`, e.g.
13 `handwired_dactyl_promicro_default.hex`
14
15How to setup your build enviroment can be found here: [Installing Build Tools](https://docs.qmk.fm/#/getting_started_build_tools)
16
17## Required Hardware
18
19Apart from diodes and key switches for the keyboard matrix in each half, you
20will need:
21
22* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each.
23* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable
24
25Alternatively, you can use any sort of cable and socket that has at least 3
26wires. If you want to use I2C to communicate between halves, you will need a
27cable with at least 4 wires and 2x 4.7kΩ pull-up resistors
28
29## Optional Hardware
30A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`.
31
32## Wiring
33
34The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e.
35PD0 on the ATmega32u4) between the two Pro Micros.
36
37Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro
38and modify the `matrix.c` accordingly.
39
40The wiring for serial:
41
42![serial wiring](https://i.imgur.com/C3D1GAQ.png)
43
44The wiring for i2c:
45
46![i2c wiring](https://i.imgur.com/Hbzhc6E.png)
47
48The pull-up resistors may be placed on either half. It is also possible
49to use 4 resistors and have the pull-ups in both halves, but this is
50unnecessary in simple use cases.
51
52You can change your configuration between serial and i2c by modifying your `config.h` file.
53
54## Notes on Software Configuration
55
56the keymaps in here are for the 4x5 layout of the keyboard only.
57
58## Flashing
59
60To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing).
61
62Under Windows the most convenient way is installing the [QMK Drivers](https://github.com/qmk/qmk_driver_installer/releases) and use the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases).
63
64
65## Choosing which board to plug the USB cable into (choosing Master)
66
67### Setting the right or left hand as master
68
69If you always plug the usb cable into the right board, add an extra flag to your `config.h`
70```
71 #define MASTER_RIGHT
72```
73
74OR
75
76```
77 #define MASTER_LEFT
78```
79
80
81Notes on Using Pro Micro 3.3V
82-----------------------------
83
84Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects
85the frequency on the 3.3V board.
86
87Also, if the slave board is producing weird characters in certain columns,
88update the following line in `matrix.c` to the following:
89
90```
91// _delay_us(30); // without this wait read unstable value.
92_delay_us(300); // without this wait read unstable value.
93```
diff --git a/keyboards/handwired/dactyl_promicro/rules.mk b/keyboards/handwired/dactyl_promicro/rules.mk
new file mode 100644
index 000000000..a93de3685
--- /dev/null
+++ b/keyboards/handwired/dactyl_promicro/rules.mk
@@ -0,0 +1,66 @@
1# MCU name
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
13# does not *change* the processor frequency - it should merely be updated to
14# reflect the processor speed set externally so that the code can use accurate
15# software delays.
16F_CPU = 16000000
17
18#
19# LUFA specific
20#
21# Target architecture (see library "Board Types" documentation).
22ARCH = AVR8
23
24# Input clock frequency.
25# This will define a symbol, F_USB, in all source code files equal to the
26# input clock frequency (before any prescaling is performed) in Hz. This value may
27# differ from F_CPU if prescaling is used on the latter, and is required as the
28# raw input clock is fed directly to the PLL sections of the AVR for high speed
29# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
30# at the end, this will be done automatically to create a 32-bit value in your
31# source code.
32#
33# If no clock division is performed on the input clock inside the AVR (via the
34# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
35F_USB = $(F_CPU)
36
37# Bootloader
38# This definition is optional, and if your keyboard supports multiple bootloaders of
39# different sizes, comment this out, and the correct address will be loaded
40# automatically (+60). See bootloader.mk for all options.
41BOOTLOADER = caterina
42
43# Interrupt driven control endpoint task(+60)
44OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
45
46# Build Options
47# change to "no" to disable the options, or define them in the Makefile in
48# the appropriate keymap folder that will get included automatically
49#
50BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
51MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
52EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
53CONSOLE_ENABLE = no # Console for debug(+400)
54COMMAND_ENABLE = yes # Commands for debug and configuration
55NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
56BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
57MIDI_ENABLE = no # MIDI controls
58AUDIO_ENABLE = no # Audio output on port C6
59UNICODE_ENABLE = no # Unicode
60BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
61RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
62
63# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
64SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
65
66SPLIT_KEYBOARD = yes