~ruther/qmk_firmware

f30d6dd7858dfa3a0cf214113e8b1d45b30d74ce — MakotoKurauchi 7 years ago e3299db
Helix config refine (#3374)


* helix config.h refine


M keyboards/helix/config.h => keyboards/helix/config.h +18 -4
@@ 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 */

M keyboards/helix/rev1/config.h => keyboards/helix/rev1/config.h +0 -2
@@ 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

M keyboards/helix/rev1/keymaps/OLED_sample/config.h => keyboards/helix/rev1/keymaps/OLED_sample/config.h +0 -4
@@ 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

A keyboards/helix/rev1/keymaps/OLED_sample/serial_config.h => keyboards/helix/rev1/keymaps/OLED_sample/serial_config.h +16 -0
@@ 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 */

M keyboards/helix/rev1/keymaps/default/config.h => keyboards/helix/rev1/keymaps/default/config.h +1 -3
@@ 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

A keyboards/helix/rev1/serial_config.h => keyboards/helix/rev1/serial_config.h +16 -0
@@ 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 */

M keyboards/helix/rev2/config.h => keyboards/helix/rev2/config.h +0 -3
@@ 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 */

M keyboards/helix/rev2/keymaps/default/config.h => keyboards/helix/rev2/keymaps/default/config.h +0 -2
@@ 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 */

M keyboards/helix/rev2/keymaps/edvorakjp/config.h => keyboards/helix/rev2/keymaps/edvorakjp/config.h +0 -2
@@ 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

M keyboards/helix/rev2/keymaps/five_rows/config.h => keyboards/helix/rev2/keymaps/five_rows/config.h +0 -2
@@ 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 */

M keyboards/helix/rev2/keymaps/five_rows_jis/config.h => keyboards/helix/rev2/keymaps/five_rows_jis/config.h +0 -4
@@ 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

M keyboards/helix/rev2/keymaps/froggy/config.h => keyboards/helix/rev2/keymaps/froggy/config.h +0 -2
@@ 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. */

M keyboards/helix/rev2/keymaps/led_test/config.h => keyboards/helix/rev2/keymaps/led_test/config.h +0 -2
@@ 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 */

M keyboards/helix/rev2/matrix.c => keyboards/helix/rev2/matrix.c +0 -1
@@ 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"

A keyboards/helix/rev2/serial_config.h => keyboards/helix/rev2/serial_config.h +16 -0
@@ 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 */

M keyboards/helix/rev2/split_util.c => keyboards/helix/rev2/split_util.c +0 -1
@@ 7,7 7,6 @@
#include "split_util.h"
#include "matrix.h"
#include "keyboard.h"
#include "config.h"

#ifdef USE_MATRIX_I2C
#  include "i2c.h"

M keyboards/helix/serial.c => keyboards/helix/serial.c +4 -2
@@ 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
}


M keyboards/helix/serial.h => keyboards/helix/serial.h +14 -23
@@ 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 */

M keyboards/helix/ssd1306.h => keyboards/helix/ssd1306.h +0 -1
@@ 4,7 4,6 @@
#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "config.h"

enum ssd1306_cmds {
  DisplayOff = 0xAE,