diff options
-rw-r--r-- | keyboards/helix/config.h | 22 | ||||
-rw-r--r-- | keyboards/helix/rev1/config.h | 2 | ||||
-rw-r--r-- | keyboards/helix/rev1/keymaps/OLED_sample/config.h | 4 | ||||
-rw-r--r-- | keyboards/helix/rev1/keymaps/OLED_sample/serial_config.h | 16 | ||||
-rw-r--r-- | keyboards/helix/rev1/keymaps/default/config.h | 4 | ||||
-rw-r--r-- | keyboards/helix/rev1/serial_config.h | 16 | ||||
-rw-r--r-- | keyboards/helix/rev2/config.h | 3 | ||||
-rw-r--r-- | keyboards/helix/rev2/keymaps/default/config.h | 2 | ||||
-rw-r--r-- | keyboards/helix/rev2/keymaps/edvorakjp/config.h | 2 | ||||
-rw-r--r-- | keyboards/helix/rev2/keymaps/five_rows/config.h | 2 | ||||
-rw-r--r-- | keyboards/helix/rev2/keymaps/five_rows_jis/config.h | 4 | ||||
-rw-r--r-- | keyboards/helix/rev2/keymaps/froggy/config.h | 2 | ||||
-rw-r--r-- | keyboards/helix/rev2/keymaps/led_test/config.h | 2 | ||||
-rw-r--r-- | keyboards/helix/rev2/matrix.c | 1 | ||||
-rw-r--r-- | keyboards/helix/rev2/serial_config.h | 16 | ||||
-rw-r--r-- | keyboards/helix/rev2/split_util.c | 1 | ||||
-rw-r--r-- | keyboards/helix/serial.c | 6 | ||||
-rw-r--r-- | keyboards/helix/serial.h | 37 | ||||
-rw-r--r-- | keyboards/helix/ssd1306.h | 1 |
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/>. #include "config_common.h" -#ifdef SUBPROJECT_rev1 - #include "rev1/config.h" -#endif +// GCC include 'config.h" sequence in qmk_firmware/keyboards/helix/ +// -include keyboards/helix/config.h +// -include keyboards/helix/rev?/config.h +// -include keyboards/helix/rev?/keymaps/MAPNAME/config.h +// XXXX.c -#endif +#include <serial_config.h> + +// GCC include search path in qmk_firmare/keyboards/helix/ +// #include "..." search starts here: +// #include <...> search starts here: +// keyboards/helix/rev?/keymaps/MAPNAME +// keyboards/helix +// keyboards/helix/rev? +// . +// ./tmk_core +// ...... + +#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/>. #ifndef REV1_CONFIG_H #define REV1_CONFIG_H -#include "../config.h" - /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #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/>. #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" - /* Use I2C or Serial */ #define USE_I2C @@ -37,8 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define SSD1306OLED -#define USE_SERIAL_PD2 - #define PREVENT_STUCK_MODIFIERS #define TAPPING_FORCE_HOLD #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 @@ +#ifndef SOFT_SERIAL_CONFIG_H +#define SOFT_SERIAL_CONFIG_H + +/* Soft Serial defines */ +#define SERIAL_PIN_DDR DDRD +#define SERIAL_PIN_PORT PORTD +#define SERIAL_PIN_INPUT PIND +#define SERIAL_PIN_MASK _BV(PD2) +#define SERIAL_PIN_INTERRUPT INT2_vect + +#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 +#define SERIAL_MASTER_BUFFER_LENGTH 1 + +//// #error rev1/keymaps/OLED_sample serial config + +#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/>. #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" - /* Use I2C or Serial, not both */ #define USE_SERIAL @@ -34,4 +32,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define _MASTER_RIGHT // #define EE_HANDS -#endif
\ No newline at end of file +#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 @@ +#ifndef SOFT_SERIAL_CONFIG_H +#define SOFT_SERIAL_CONFIG_H + +/* Soft Serial defines */ +#define SERIAL_PIN_DDR DDRD +#define SERIAL_PIN_PORT PORTD +#define SERIAL_PIN_INPUT PIND +#define SERIAL_PIN_MASK _BV(PD0) +#define SERIAL_PIN_INTERRUPT INT0_vect + +#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 +#define SERIAL_MASTER_BUFFER_LENGTH 1 + +/// #error rev1 serial config + +#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/>. #ifndef REV2_CONFIG_H #define REV2_CONFIG_H -#include "../config.h" - /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x3060 @@ -37,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Use I2C or Serial */ #define USE_I2C #define USE_SERIAL -#define USE_SERIAL_PD2 //#define USE_MATRIX_I2C /* 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/>. #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" - // place overrides here #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 @@ #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" - #undef TAPPING_FORCE_HOLD #undef TAPPING_TERM #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/>. #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" - // place overrides here #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/>. #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" - /* Use I2C or Serial */ #define USE_I2C @@ -59,8 +57,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #error "expected HELIX_ROWS 4 or 5" #endif -#define USE_SERIAL_PD2 - #define PREVENT_STUCK_MODIFIERS #define TAPPING_FORCE_HOLD #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/>. #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" - #undef TAPPING_TERM #define TAPPING_TERM 200 #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/>. #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" - // place overrides here #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/>. #include "matrix.h" #include "split_util.h" #include "pro_micro.h" -#include "config.h" #ifdef USE_MATRIX_I2C # 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 @@ +#ifndef SOFT_SERIAL_CONFIG_H +#define SOFT_SERIAL_CONFIG_H + +/* Soft Serial defines */ +#define SERIAL_PIN_DDR DDRD +#define SERIAL_PIN_PORT PORTD +#define SERIAL_PIN_INPUT PIND +#define SERIAL_PIN_MASK _BV(PD2) +#define SERIAL_PIN_INTERRUPT INT2_vect + +#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 +#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 + +//// #error rev2 serial config + +#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 @@ #include "split_util.h" #include "matrix.h" #include "keyboard.h" -#include "config.h" #ifdef USE_MATRIX_I2C # 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) { void serial_slave_init(void) { serial_input_with_pullup(); -#ifndef USE_SERIAL_PD2 +#if SERIAL_PIN_MASK == _BV(PD0) // Enable INT0 EIMSK |= _BV(INT0); // Trigger on falling edge of INT0 EICRA &= ~(_BV(ISC00) | _BV(ISC01)); -#else +#elif SERIAL_PIN_MASK == _BV(PD2) // Enable INT2 EIMSK |= _BV(INT2); // Trigger on falling edge of INT2 EICRA &= ~(_BV(ISC20) | _BV(ISC21)); +#else + #error unknown SERIAL_PIN_MASK value #endif } 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 @@ -#ifndef MY_SERIAL_H -#define MY_SERIAL_H +#ifndef SOFT_SERIAL_H +#define SOFT_SERIAL_H -#include "config.h" #include <stdbool.h> -/* TODO: some defines for interrupt setup */ -#define SERIAL_PIN_DDR DDRD -#define SERIAL_PIN_PORT PORTD -#define SERIAL_PIN_INPUT PIND - -#ifndef USE_SERIAL_PD2 -#define SERIAL_PIN_MASK _BV(PD0) -#define SERIAL_PIN_INTERRUPT INT0_vect -#else -#define SERIAL_PIN_MASK _BV(PD2) -#define SERIAL_PIN_INTERRUPT INT2_vect -#endif - -#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -#ifdef KEYBOARD_helix_rev1 -#define SERIAL_MASTER_BUFFER_LENGTH 1 -#else -#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 -#endif +// //////////////////////////////////////////// +// Need Soft Serial defines in serial_config.h +// //////////////////////////////////////////// +// ex. +// #define SERIAL_PIN_DDR DDRD +// #define SERIAL_PIN_PORT PORTD +// #define SERIAL_PIN_INPUT PIND +// #define SERIAL_PIN_MASK _BV(PD?) ?=0,2 +// #define SERIAL_PIN_INTERRUPT INT?_vect ?=0,2 +// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 +// #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 // Buffers for master - slave communication extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH]; @@ -33,4 +24,4 @@ void serial_slave_init(void); int serial_update_buffers(void); bool serial_slave_data_corrupt(void); -#endif +#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 @@ #include <stdbool.h> #include <stdio.h> #include "pincontrol.h" -#include "config.h" enum ssd1306_cmds { DisplayOff = 0xAE, |