Skip to content

Commit

Permalink
Merge pull request qmk#13 from mtei/helix-config_refine
Browse files Browse the repository at this point in the history
Helix config.h etc refine
  • Loading branch information
MakotoKurauchi authored Jul 11, 2018
2 parents 475088c + 92643bd commit 1a0f358
Show file tree
Hide file tree
Showing 19 changed files with 85 additions and 58 deletions.
22 changes: 18 additions & 4 deletions keyboards/helix/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
2 changes: 0 additions & 2 deletions keyboards/helix/rev1/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 0 additions & 4 deletions keyboards/helix/rev1/keymaps/OLED_sample/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
16 changes: 16 additions & 0 deletions keyboards/helix/rev1/keymaps/OLED_sample/serial_config.h
Original file line number Diff line number Diff line change
@@ -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 */
4 changes: 1 addition & 3 deletions keyboards/helix/rev1/keymaps/default/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -34,4 +32,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define _MASTER_RIGHT
// #define EE_HANDS

#endif
#endif
16 changes: 16 additions & 0 deletions keyboards/helix/rev1/serial_config.h
Original file line number Diff line number Diff line change
@@ -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 */
3 changes: 0 additions & 3 deletions keyboards/helix/rev2/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 */
Expand Down
2 changes: 0 additions & 2 deletions keyboards/helix/rev2/keymaps/default/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
2 changes: 0 additions & 2 deletions keyboards/helix/rev2/keymaps/edvorakjp/config.h
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 0 additions & 2 deletions keyboards/helix/rev2/keymaps/five_rows/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
4 changes: 0 additions & 4 deletions keyboards/helix/rev2/keymaps/five_rows_jis/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions keyboards/helix/rev2/keymaps/froggy/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down
2 changes: 0 additions & 2 deletions keyboards/helix/rev2/keymaps/led_test/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
1 change: 0 additions & 1 deletion keyboards/helix/rev2/matrix.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
16 changes: 16 additions & 0 deletions keyboards/helix/rev2/serial_config.h
Original file line number Diff line number Diff line change
@@ -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 */
1 change: 0 additions & 1 deletion keyboards/helix/rev2/split_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
#include "split_util.h"
#include "matrix.h"
#include "keyboard.h"
#include "config.h"

#ifdef USE_MATRIX_I2C
# include "i2c.h"
Expand Down
6 changes: 4 additions & 2 deletions keyboards/helix/serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down
37 changes: 14 additions & 23 deletions keyboards/helix/serial.h
Original file line number Diff line number Diff line change
@@ -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];
Expand All @@ -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 */
1 change: 0 additions & 1 deletion keyboards/helix/ssd1306.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "config.h"

enum ssd1306_cmds {
DisplayOff = 0xAE,
Expand Down

0 comments on commit 1a0f358

Please sign in to comment.