aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMakotoKurauchi <pluis@me.com>2018-07-13 02:23:30 +0900
committerDrashna Jaelre <drashna@live.com>2018-07-12 10:23:30 -0700
commitf30d6dd7858dfa3a0cf214113e8b1d45b30d74ce (patch)
treef37014dcb6efcc4cebf48300271fb7236d9fbb5e
parente3299db9e33304589d75a5dc332a6c5c484a82be (diff)
downloadqmk_firmware-f30d6dd7858dfa3a0cf214113e8b1d45b30d74ce.tar.gz
qmk_firmware-f30d6dd7858dfa3a0cf214113e8b1d45b30d74ce.zip
Helix config refine (#3374)
* helix config.h refine
-rw-r--r--keyboards/helix/config.h22
-rw-r--r--keyboards/helix/rev1/config.h2
-rw-r--r--keyboards/helix/rev1/keymaps/OLED_sample/config.h4
-rw-r--r--keyboards/helix/rev1/keymaps/OLED_sample/serial_config.h16
-rw-r--r--keyboards/helix/rev1/keymaps/default/config.h4
-rw-r--r--keyboards/helix/rev1/serial_config.h16
-rw-r--r--keyboards/helix/rev2/config.h3
-rw-r--r--keyboards/helix/rev2/keymaps/default/config.h2
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/config.h2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/config.h2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows_jis/config.h4
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/config.h2
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/config.h2
-rw-r--r--keyboards/helix/rev2/matrix.c1
-rw-r--r--keyboards/helix/rev2/serial_config.h16
-rw-r--r--keyboards/helix/rev2/split_util.c1
-rw-r--r--keyboards/helix/serial.c6
-rw-r--r--keyboards/helix/serial.h37
-rw-r--r--keyboards/helix/ssd1306.h1
19 files changed, 85 insertions, 58 deletions
diff --git a/keyboards/helix/config.h b/keyboards/helix/config.h
index 8f0524f97..7bd4d2645 100644
--- a/keyboards/helix/config.h
+++ b/keyboards/helix/config.h
@@ -21,8 +21,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21 21
22#include "config_common.h" 22#include "config_common.h"
23 23
24#ifdef SUBPROJECT_rev1 24// GCC include 'config.h" sequence in qmk_firmware/keyboards/helix/
25 #include "rev1/config.h" 25// -include keyboards/helix/config.h
26#endif 26// -include keyboards/helix/rev?/config.h
27// -include keyboards/helix/rev?/keymaps/MAPNAME/config.h
28// XXXX.c
27 29
28#endif 30#include <serial_config.h>
31
32// GCC include search path in qmk_firmare/keyboards/helix/
33// #include "..." search starts here:
34// #include <...> search starts here:
35// keyboards/helix/rev?/keymaps/MAPNAME
36// keyboards/helix
37// keyboards/helix/rev?
38// .
39// ./tmk_core
40// ......
41
42#endif /* CONFIG_H */
diff --git a/keyboards/helix/rev1/config.h b/keyboards/helix/rev1/config.h
index 3420992d8..7fec62fc8 100644
--- a/keyboards/helix/rev1/config.h
+++ b/keyboards/helix/rev1/config.h
@@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19#ifndef REV1_CONFIG_H 19#ifndef REV1_CONFIG_H
20#define REV1_CONFIG_H 20#define REV1_CONFIG_H
21 21
22#include "../config.h"
23
24/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
25#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0xFEED
26#define PRODUCT_ID 0x3060 24#define PRODUCT_ID 0x3060
diff --git a/keyboards/helix/rev1/keymaps/OLED_sample/config.h b/keyboards/helix/rev1/keymaps/OLED_sample/config.h
index 6cd3072b1..0e1b787a5 100644
--- a/keyboards/helix/rev1/keymaps/OLED_sample/config.h
+++ b/keyboards/helix/rev1/keymaps/OLED_sample/config.h
@@ -21,8 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#ifndef CONFIG_USER_H 21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H 22#define CONFIG_USER_H
23 23
24#include "../../config.h"
25
26/* Use I2C or Serial */ 24/* Use I2C or Serial */
27 25
28#define USE_I2C 26#define USE_I2C
@@ -37,8 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
37 35
38#define SSD1306OLED 36#define SSD1306OLED
39 37
40#define USE_SERIAL_PD2
41
42#define PREVENT_STUCK_MODIFIERS 38#define PREVENT_STUCK_MODIFIERS
43#define TAPPING_FORCE_HOLD 39#define TAPPING_FORCE_HOLD
44#define TAPPING_TERM 100 40#define TAPPING_TERM 100
diff --git a/keyboards/helix/rev1/keymaps/OLED_sample/serial_config.h b/keyboards/helix/rev1/keymaps/OLED_sample/serial_config.h
new file mode 100644
index 000000000..be2e7cb8b
--- /dev/null
+++ b/keyboards/helix/rev1/keymaps/OLED_sample/serial_config.h
@@ -0,0 +1,16 @@
1#ifndef SOFT_SERIAL_CONFIG_H
2#define SOFT_SERIAL_CONFIG_H
3
4/* Soft Serial defines */
5#define SERIAL_PIN_DDR DDRD
6#define SERIAL_PIN_PORT PORTD
7#define SERIAL_PIN_INPUT PIND
8#define SERIAL_PIN_MASK _BV(PD2)
9#define SERIAL_PIN_INTERRUPT INT2_vect
10
11#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
12#define SERIAL_MASTER_BUFFER_LENGTH 1
13
14//// #error rev1/keymaps/OLED_sample serial config
15
16#endif /* SOFT_SERIAL_CONFIG_H */
diff --git a/keyboards/helix/rev1/keymaps/default/config.h b/keyboards/helix/rev1/keymaps/default/config.h
index 7f33a4363..d95925d4e 100644
--- a/keyboards/helix/rev1/keymaps/default/config.h
+++ b/keyboards/helix/rev1/keymaps/default/config.h
@@ -21,8 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#ifndef CONFIG_USER_H 21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H 22#define CONFIG_USER_H
23 23
24#include "../../config.h"
25
26/* Use I2C or Serial, not both */ 24/* Use I2C or Serial, not both */
27 25
28#define USE_SERIAL 26#define USE_SERIAL
@@ -34,4 +32,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
34// #define _MASTER_RIGHT 32// #define _MASTER_RIGHT
35// #define EE_HANDS 33// #define EE_HANDS
36 34
37#endif \ No newline at end of file 35#endif
diff --git a/keyboards/helix/rev1/serial_config.h b/keyboards/helix/rev1/serial_config.h
new file mode 100644
index 000000000..2b668a6af
--- /dev/null
+++ b/keyboards/helix/rev1/serial_config.h
@@ -0,0 +1,16 @@
1#ifndef SOFT_SERIAL_CONFIG_H
2#define SOFT_SERIAL_CONFIG_H
3
4/* Soft Serial defines */
5#define SERIAL_PIN_DDR DDRD
6#define SERIAL_PIN_PORT PORTD
7#define SERIAL_PIN_INPUT PIND
8#define SERIAL_PIN_MASK _BV(PD0)
9#define SERIAL_PIN_INTERRUPT INT0_vect
10
11#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
12#define SERIAL_MASTER_BUFFER_LENGTH 1
13
14/// #error rev1 serial config
15
16#endif /* SOFT_SERIAL_CONFIG_H */
diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h
index 530757883..058236122 100644
--- a/keyboards/helix/rev2/config.h
+++ b/keyboards/helix/rev2/config.h
@@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19#ifndef REV2_CONFIG_H 19#ifndef REV2_CONFIG_H
20#define REV2_CONFIG_H 20#define REV2_CONFIG_H
21 21
22#include "../config.h"
23
24/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
25#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0xFEED
26#define PRODUCT_ID 0x3060 24#define PRODUCT_ID 0x3060
@@ -37,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
37/* Use I2C or Serial */ 35/* Use I2C or Serial */
38#define USE_I2C 36#define USE_I2C
39#define USE_SERIAL 37#define USE_SERIAL
40#define USE_SERIAL_PD2
41//#define USE_MATRIX_I2C 38//#define USE_MATRIX_I2C
42 39
43/* Select hand configuration */ 40/* Select hand configuration */
diff --git a/keyboards/helix/rev2/keymaps/default/config.h b/keyboards/helix/rev2/keymaps/default/config.h
index 0e7967c73..6da6849a1 100644
--- a/keyboards/helix/rev2/keymaps/default/config.h
+++ b/keyboards/helix/rev2/keymaps/default/config.h
@@ -21,8 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#ifndef CONFIG_USER_H 21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H 22#define CONFIG_USER_H
23 23
24#include "../../config.h"
25
26// place overrides here 24// place overrides here
27 25
28#endif /* CONFIG_USER_H */ 26#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/config.h b/keyboards/helix/rev2/keymaps/edvorakjp/config.h
index bb569ca5d..a7a5f8360 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/config.h
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/config.h
@@ -1,8 +1,6 @@
1#ifndef CONFIG_USER_H 1#ifndef CONFIG_USER_H
2#define CONFIG_USER_H 2#define CONFIG_USER_H
3 3
4#include "../../config.h"
5
6#undef TAPPING_FORCE_HOLD 4#undef TAPPING_FORCE_HOLD
7#undef TAPPING_TERM 5#undef TAPPING_TERM
8#define TAPPING_TERM 120 6#define TAPPING_TERM 120
diff --git a/keyboards/helix/rev2/keymaps/five_rows/config.h b/keyboards/helix/rev2/keymaps/five_rows/config.h
index 0e7967c73..6da6849a1 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/config.h
+++ b/keyboards/helix/rev2/keymaps/five_rows/config.h
@@ -21,8 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#ifndef CONFIG_USER_H 21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H 22#define CONFIG_USER_H
23 23
24#include "../../config.h"
25
26// place overrides here 24// place overrides here
27 25
28#endif /* CONFIG_USER_H */ 26#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/config.h b/keyboards/helix/rev2/keymaps/five_rows_jis/config.h
index 17c4a30b3..b4390551e 100644
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/config.h
+++ b/keyboards/helix/rev2/keymaps/five_rows_jis/config.h
@@ -21,8 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#ifndef CONFIG_USER_H 21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H 22#define CONFIG_USER_H
23 23
24#include "../../config.h"
25
26/* Use I2C or Serial */ 24/* Use I2C or Serial */
27 25
28#define USE_I2C 26#define USE_I2C
@@ -59,8 +57,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
59 #error "expected HELIX_ROWS 4 or 5" 57 #error "expected HELIX_ROWS 4 or 5"
60#endif 58#endif
61 59
62#define USE_SERIAL_PD2
63
64#define PREVENT_STUCK_MODIFIERS 60#define PREVENT_STUCK_MODIFIERS
65#define TAPPING_FORCE_HOLD 61#define TAPPING_FORCE_HOLD
66#define TAPPING_TERM 100 62#define TAPPING_TERM 100
diff --git a/keyboards/helix/rev2/keymaps/froggy/config.h b/keyboards/helix/rev2/keymaps/froggy/config.h
index 8161d4a25..df72aef12 100644
--- a/keyboards/helix/rev2/keymaps/froggy/config.h
+++ b/keyboards/helix/rev2/keymaps/froggy/config.h
@@ -21,8 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#ifndef CONFIG_USER_H 21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H 22#define CONFIG_USER_H
23 23
24#include "../../config.h"
25
26#undef TAPPING_TERM 24#undef TAPPING_TERM
27#define TAPPING_TERM 200 25#define TAPPING_TERM 200
28#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */ 26#define ONESHOT_TAP_TOGGLE 5 /* Tapping this number of times holds the key until tapped this number of times again. */
diff --git a/keyboards/helix/rev2/keymaps/led_test/config.h b/keyboards/helix/rev2/keymaps/led_test/config.h
index 0e7967c73..6da6849a1 100644
--- a/keyboards/helix/rev2/keymaps/led_test/config.h
+++ b/keyboards/helix/rev2/keymaps/led_test/config.h
@@ -21,8 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
21#ifndef CONFIG_USER_H 21#ifndef CONFIG_USER_H
22#define CONFIG_USER_H 22#define CONFIG_USER_H
23 23
24#include "../../config.h"
25
26// place overrides here 24// place overrides here
27 25
28#endif /* CONFIG_USER_H */ 26#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/matrix.c b/keyboards/helix/rev2/matrix.c
index a908360c5..8a1ce3af1 100644
--- a/keyboards/helix/rev2/matrix.c
+++ b/keyboards/helix/rev2/matrix.c
@@ -30,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
30#include "matrix.h" 30#include "matrix.h"
31#include "split_util.h" 31#include "split_util.h"
32#include "pro_micro.h" 32#include "pro_micro.h"
33#include "config.h"
34 33
35#ifdef USE_MATRIX_I2C 34#ifdef USE_MATRIX_I2C
36# include "i2c.h" 35# include "i2c.h"
diff --git a/keyboards/helix/rev2/serial_config.h b/keyboards/helix/rev2/serial_config.h
new file mode 100644
index 000000000..82c6e4e83
--- /dev/null
+++ b/keyboards/helix/rev2/serial_config.h
@@ -0,0 +1,16 @@
1#ifndef SOFT_SERIAL_CONFIG_H
2#define SOFT_SERIAL_CONFIG_H
3
4/* Soft Serial defines */
5#define SERIAL_PIN_DDR DDRD
6#define SERIAL_PIN_PORT PORTD
7#define SERIAL_PIN_INPUT PIND
8#define SERIAL_PIN_MASK _BV(PD2)
9#define SERIAL_PIN_INTERRUPT INT2_vect
10
11#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
12#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
13
14//// #error rev2 serial config
15
16#endif /* SOFT_SERIAL_CONFIG_H */
diff --git a/keyboards/helix/rev2/split_util.c b/keyboards/helix/rev2/split_util.c
index 8bc064174..beb39fa00 100644
--- a/keyboards/helix/rev2/split_util.c
+++ b/keyboards/helix/rev2/split_util.c
@@ -7,7 +7,6 @@
7#include "split_util.h" 7#include "split_util.h"
8#include "matrix.h" 8#include "matrix.h"
9#include "keyboard.h" 9#include "keyboard.h"
10#include "config.h"
11 10
12#ifdef USE_MATRIX_I2C 11#ifdef USE_MATRIX_I2C
13# include "i2c.h" 12# include "i2c.h"
diff --git a/keyboards/helix/serial.c b/keyboards/helix/serial.c
index 182f22219..591941587 100644
--- a/keyboards/helix/serial.c
+++ b/keyboards/helix/serial.c
@@ -110,16 +110,18 @@ void serial_master_init(void) {
110void serial_slave_init(void) { 110void serial_slave_init(void) {
111 serial_input_with_pullup(); 111 serial_input_with_pullup();
112 112
113#ifndef USE_SERIAL_PD2 113#if SERIAL_PIN_MASK == _BV(PD0)
114 // Enable INT0 114 // Enable INT0
115 EIMSK |= _BV(INT0); 115 EIMSK |= _BV(INT0);
116 // Trigger on falling edge of INT0 116 // Trigger on falling edge of INT0
117 EICRA &= ~(_BV(ISC00) | _BV(ISC01)); 117 EICRA &= ~(_BV(ISC00) | _BV(ISC01));
118#else 118#elif SERIAL_PIN_MASK == _BV(PD2)
119 // Enable INT2 119 // Enable INT2
120 EIMSK |= _BV(INT2); 120 EIMSK |= _BV(INT2);
121 // Trigger on falling edge of INT2 121 // Trigger on falling edge of INT2
122 EICRA &= ~(_BV(ISC20) | _BV(ISC21)); 122 EICRA &= ~(_BV(ISC20) | _BV(ISC21));
123#else
124 #error unknown SERIAL_PIN_MASK value
123#endif 125#endif
124} 126}
125 127
diff --git a/keyboards/helix/serial.h b/keyboards/helix/serial.h
index 8f15d6675..c3c9569b2 100644
--- a/keyboards/helix/serial.h
+++ b/keyboards/helix/serial.h
@@ -1,28 +1,19 @@
1#ifndef MY_SERIAL_H 1#ifndef SOFT_SERIAL_H
2#define MY_SERIAL_H 2#define SOFT_SERIAL_H
3 3
4#include "config.h"
5#include <stdbool.h> 4#include <stdbool.h>
6 5
7/* TODO: some defines for interrupt setup */ 6// ////////////////////////////////////////////
8#define SERIAL_PIN_DDR DDRD 7// Need Soft Serial defines in serial_config.h
9#define SERIAL_PIN_PORT PORTD 8// ////////////////////////////////////////////
10#define SERIAL_PIN_INPUT PIND 9// ex.
11 10// #define SERIAL_PIN_DDR DDRD
12#ifndef USE_SERIAL_PD2 11// #define SERIAL_PIN_PORT PORTD
13#define SERIAL_PIN_MASK _BV(PD0) 12// #define SERIAL_PIN_INPUT PIND
14#define SERIAL_PIN_INTERRUPT INT0_vect 13// #define SERIAL_PIN_MASK _BV(PD?) ?=0,2
15#else 14// #define SERIAL_PIN_INTERRUPT INT?_vect ?=0,2
16#define SERIAL_PIN_MASK _BV(PD2) 15// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
17#define SERIAL_PIN_INTERRUPT INT2_vect 16// #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
18#endif
19
20#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
21#ifdef KEYBOARD_helix_rev1
22#define SERIAL_MASTER_BUFFER_LENGTH 1
23#else
24#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
25#endif
26 17
27// Buffers for master - slave communication 18// Buffers for master - slave communication
28extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH]; 19extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
@@ -33,4 +24,4 @@ void serial_slave_init(void);
33int serial_update_buffers(void); 24int serial_update_buffers(void);
34bool serial_slave_data_corrupt(void); 25bool serial_slave_data_corrupt(void);
35 26
36#endif 27#endif /* SOFT_SERIAL_H */
diff --git a/keyboards/helix/ssd1306.h b/keyboards/helix/ssd1306.h
index b65c505c9..77ce7c211 100644
--- a/keyboards/helix/ssd1306.h
+++ b/keyboards/helix/ssd1306.h
@@ -4,7 +4,6 @@
4#include <stdbool.h> 4#include <stdbool.h>
5#include <stdio.h> 5#include <stdio.h>
6#include "pincontrol.h" 6#include "pincontrol.h"
7#include "config.h"
8 7
9enum ssd1306_cmds { 8enum ssd1306_cmds {
10 DisplayOff = 0xAE, 9 DisplayOff = 0xAE,