43964438 |
1 | /* |
2 | Copyright 2012 Jun Wako <wakojun@gmail.com> |
3 | |
4 | This program is free software: you can redistribute it and/or modify |
5 | it under the terms of the GNU General Public License as published by |
6 | the Free Software Foundation, either version 2 of the License, or |
7 | (at your option) any later version. |
8 | |
9 | This program is distributed in the hope that it will be useful, |
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 | GNU General Public License for more details. |
13 | |
14 | You should have received a copy of the GNU General Public License |
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
16 | */ |
17 | |
18 | #ifndef CONFIG_H |
19 | #define CONFIG_H |
20 | |
21 | #include "config_common.h" |
22 | |
23 | /* USB Device descriptor parameter */ |
24 | |
25 | #define VENDOR_ID 0xFEED |
26 | #define PRODUCT_ID 0x6060 |
27 | #define DEVICE_VER 0x0001 |
6cc9d59e |
28 | #define MANUFACTURER Unknown |
43964438 |
29 | #define PRODUCT Mitosis |
30 | #define DESCRIPTION q.m.k. keyboard firmware for Mitosis |
31 | |
32 | /* key matrix size */ |
33 | #define MATRIX_ROWS 5 |
34 | #define MATRIX_COLS 10 |
35 | |
36 | /* define if matrix has ghost */ |
37 | //#define MATRIX_HAS_GHOST |
38 | |
39 | /* number of backlight levels */ |
40 | //#define BACKLIGHT_LEVELS 3 |
41 | |
42 | #define ONESHOT_TIMEOUT 500 |
43 | |
44 | |
45 | /* key combination for command */ |
46 | #define IS_COMMAND() ( \ |
47 | keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ |
48 | ) |
49 | |
50 | /* |
51 | * Feature disable options |
52 | * These options are also useful to firmware size reduction. |
53 | */ |
54 | |
55 | #define PREVENT_STUCK_MODIFIERS |
56 | |
57 | /* disable debug print */ |
58 | //#define NO_DEBUG |
59 | |
60 | /* disable print */ |
61 | //#define NO_PRINT |
62 | |
63 | /* disable action features */ |
64 | //#define NO_ACTION_LAYER |
65 | //#define NO_ACTION_TAPPING |
66 | //#define NO_ACTION_ONESHOT |
67 | //#define NO_ACTION_MACRO |
68 | //#define NO_ACTION_FUNCTION |
69 | |
70 | //UART settings for communication with the RF microcontroller |
71 | #define SERIAL_UART_BAUD 1000000 |
72 | #define SERIAL_UART_DATA UDR1 |
73 | #define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1) |
74 | #define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1)) |
75 | #define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) |
76 | #define SERIAL_UART_INIT() do { \ |
77 | /* baud rate */ \ |
78 | UBRR1L = SERIAL_UART_UBRR; \ |
79 | /* baud rate */ \ |
80 | UBRR1H = SERIAL_UART_UBRR >> 8; \ |
81 | /* enable TX and RX */ \ |
82 | UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ |
83 | /* 8-bit data */ \ |
84 | UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \ |
85 | } while(0) |
86 | |
87 | #endif |