]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
adds planck light keyboard
authorJack Humbert <jack.humb@gmail.com>
Tue, 21 Nov 2017 04:25:38 +0000 (23:25 -0500)
committerJack Humbert <jack.humb@gmail.com>
Tue, 21 Nov 2017 04:37:38 +0000 (23:37 -0500)
20 files changed:
keyboards/planck/keymaps/brandon/config.h
keyboards/planck/keymaps/circuit/config.h
keyboards/planck/keymaps/default/keymap.c
keyboards/planck/keymaps/khord/config.h
keyboards/planck/keymaps/pvc/config.h
keyboards/planck/keymaps/vifon/config.h
keyboards/planck/keymaps/zach/config.h
keyboards/planck/light/config.h [new file with mode: 0644]
keyboards/planck/light/info.json [new file with mode: 0644]
keyboards/planck/light/light.c [new file with mode: 0644]
keyboards/planck/light/light.h [new file with mode: 0644]
keyboards/planck/light/rules.mk [new file with mode: 0644]
keyboards/planck/planck.c
keyboards/planck/rev3/rules.mk
keyboards/planck/rev4/rules.mk
keyboards/planck/rev5/rules.mk
keyboards/planck/rules.mk
quantum/audio/audio.c
quantum/quantum.c
util/travis_build.sh

index 5442ebf751f2739edcfe479214300c9d22116d4c..29a07dc637c6261ec6ca3ebab02e4175b57b7fe5 100644 (file)
@@ -1,68 +1,30 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#define TAPPING_TERM 200
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define MANUFACTURER    Ortholinear Keyboards
-#define PRODUCT         The Planck Keyboard
-#define DESCRIPTION     A compact ortholinear keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-
-/* Planck PCB default pin-out */
-#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
-#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
-
-#define AUDIO_VOICES
-
-#define BACKLIGHT_PIN B7
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
 
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
+#include "../../config.h"
 
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
+/*
+ * MIDI options
+ */
 
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
 
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
+/* enable basic MIDI features:
+   - MIDI notes can be sent when in Music mode is on
+*/
+#define MIDI_BASIC
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
+/* enable advanced MIDI features:
+   - MIDI notes can be added to the keymap
+   - Octave shift and transpose
+   - Virtual sustain, portamento, and modulation wheel
+   - etc.
+*/
+//#define MIDI_ADVANCED
 
-/* key combination for command */
-#define IS_COMMAND() ( \
-    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
 
 #define MOUSEKEY_INTERVAL       20
 #define MOUSEKEY_DELAY          0
@@ -70,29 +32,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MOUSEKEY_MAX_SPEED      7
 #define MOUSEKEY_WHEEL_DELAY 0
 
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#ifdef SUBPROJECT_rev3
-    #include "rev3/config.h"
-#endif
-#ifdef SUBPROJECT_rev4
-    #include "rev4/config.h"
-#endif
-
 #endif
index 22244f4a7fa5af634e591da3c8f5e2c90dc932ff..4c61581993c31fa85778f3fff458cdce06c9089c 100644 (file)
@@ -1,91 +1,29 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* Tap-dance interval definition */
-#define TAPPING_TERM 200
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define MANUFACTURER    Ortholinear Keyboards
-#define PRODUCT         The Planck Keyboard
-#define DESCRIPTION     A compact ortholinear keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
 
-/* Planck PCB default pin-out */
-#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
-#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
-
-#define BACKLIGHT_PIN B7
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* key combination for command */
-#define IS_COMMAND() ( \
-    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
+#include "../../config.h"
 
 /*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
+ * MIDI options
  */
 
-/* disable debug print */
-//#define NO_DEBUG
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
 
-/* disable print */
-//#define NO_PRINT
+/* enable basic MIDI features:
+   - MIDI notes can be sent when in Music mode is on
+*/
+#define MIDI_BASIC
 
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
+/* enable advanced MIDI features:
+   - MIDI notes can be added to the keymap
+   - Octave shift and transpose
+   - Virtual sustain, portamento, and modulation wheel
+   - etc.
+*/
+//#define MIDI_ADVANCED
 
-#ifdef SUBPROJECT_rev3
-    #include "rev3/config.h"
-#endif
-#ifdef SUBPROJECT_rev4
-    #include "rev4/config.h"
-#endif
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
 
-#endif
+#endif
\ No newline at end of file
index 87789e1d931ee4e68186003798b34678343413d0..04fc33640d1b58122e99b350cad668fdbadcd03b 100644 (file)
@@ -163,9 +163,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * `-----------------------------------------------------------------------------------'
  */
 [_ADJUST] = {
-  {_______, RESET,   DEBUG,   _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL },
+  {_______, RESET,   DEBUG,    RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL },
   {_______, _______, MU_MOD,  AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, QWERTY,  COLEMAK, DVORAK,  PLOVER,  _______},
-  {_______, MUV_DE,  MUV_IN,  MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  _______, _______, _______, _______, _______},
+  {_______, MUV_DE,  MUV_IN,  MU_ON,   MU_OFF,  MI_ON,   MI_OFF,  TERM_ON, TERM_OFF, _______, _______, _______},
   {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
 }
 
@@ -261,4 +261,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
       break;
   }
   return true;
-}
\ No newline at end of file
+}
index 5482aba52fdf371402a694813734f2bf4dc5c1f6..43c8001cf780b75eea507a4e0c7f60f1d0c89fab 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef CONFIG_USER_H
 #define CONFIG_USER_H
 
-#include "../../config.h"
+#include "config_common.h"
 
 #ifdef AUDIO_ENABLE
     #define STARTUP_SONG SONG(SONIC_RING)
index 17f351756ec9d0004460dab9f75454b9ae802589..5394237357c4fdb6daf34f48ae075c60e684b8af 100644 (file)
@@ -29,31 +29,28 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
 #define UNUSED_PINS
 
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
+/*
+ * MIDI options
+ */
 
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
 
-/* key combination for command */
-#define IS_COMMAND() ( \
-    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
+/* enable basic MIDI features:
+   - MIDI notes can be sent when in Music mode is on
+*/
+#define MIDI_BASIC
 
-#define BACKLIGHT_PIN B7
-#define BACKLIGHT_BREATHING
+/* enable advanced MIDI features:
+   - MIDI notes can be added to the keymap
+   - Octave shift and transpose
+   - Virtual sustain, portamento, and modulation wheel
+   - etc.
+*/
+//#define MIDI_ADVANCED
 
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
 /*
  * Feature disable options
  *  These options are also useful to firmware size reduction.
@@ -72,6 +69,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* Only print user print statements */
 #define USER_PRINT
 
+#define BACKLIGHT_BREATHING
 
 /* disable action features */
 //#define NO_ACTION_LAYER
@@ -79,5 +77,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_ONESHOT
 //#define NO_ACTION_MACRO
 //#define NO_ACTION_FUNCTION
-
 #endif
index a08b37cbe6f5c3e01c6362ad6fd7837e73da5cf4..4cb4a1235a5cc2b188012dd2cabe710453f8da14 100644 (file)
@@ -1,82 +1,30 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define MANUFACTURER    Ortholinear Keyboards
-#define PRODUCT         The Planck Keyboard
-#define DESCRIPTION     A compact ortholinear keyboard
-
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
-
-/* Planck PCB default pin-out */
-#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
-#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
-
-#define BACKLIGHT_PIN B7
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
 
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 3
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* key combination for command */
-#define IS_COMMAND() ( \
-    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
+#include "../../config.h"
 
 /*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
+ * MIDI options
  */
 
-/* disable debug print */
-//#define NO_DEBUG
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
 
-/* disable print */
-//#define NO_PRINT
+/* enable basic MIDI features:
+   - MIDI notes can be sent when in Music mode is on
+*/
+#define MIDI_BASIC
 
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
+/* enable advanced MIDI features:
+   - MIDI notes can be added to the keymap
+   - Octave shift and transpose
+   - Virtual sustain, portamento, and modulation wheel
+   - etc.
+*/
+//#define MIDI_ADVANCED
+
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
 
 /* prevent the modifiers from being stuck, sacrificing some memory */
 #define PREVENT_STUCK_MODIFIERS
@@ -86,11 +34,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 #define DYNAMIC_MACRO_SIZE 256
 
-#ifdef SUBPROJECT_rev3
-    #include "rev3/config.h"
-#endif
-#ifdef SUBPROJECT_rev4
-    #include "rev4/config.h"
-#endif
-
 #endif
index d309c949354623c6c389b850e86bd298ca9bba72..19a3856a39da8e7c37da023d07556ed8f0da750f 100644 (file)
@@ -1,55 +1,30 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define MANUFACTURER    Ortholinear Keyboards
-#define PRODUCT         The Planck Keyboard
-#define DESCRIPTION     A compact ortholinear keyboard
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
 
-/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 12
+#include "../../config.h"
 
-/* Planck PCB default pin-out */
-#define MATRIX_ROW_PINS { D0, D5, B5, B6 }
-#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }
-#define UNUSED_PINS
-
-#define BACKLIGHT_PIN B7
+/*
+ * MIDI options
+ */
 
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
+/* Prevent use of disabled MIDI features in the keymap */
+//#define MIDI_ENABLE_STRICT 1
 
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
+/* enable basic MIDI features:
+   - MIDI notes can be sent when in Music mode is on
+*/
+#define MIDI_BASIC
 
-//#define BACKLIGHT_BREATHING     // LED breathing
-/* number of backlight levels */
-#define BACKLIGHT_LEVELS 5
+/* enable advanced MIDI features:
+   - MIDI notes can be added to the keymap
+   - Octave shift and transpose
+   - Virtual sustain, portamento, and modulation wheel
+   - etc.
+*/
+//#define MIDI_ADVANCED
 
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
+/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
+//#define MIDI_TONE_KEYCODE_OCTAVES 2
 
 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 //#define LOCKING_SUPPORT_ENABLE
@@ -84,11 +59,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define DYNAMIC_MACRO_ENABLE    // Enable if you need to use the macro functionality
 //#define SPACE_CADET             // Parenthesis on L/R shift
 
-#ifdef SUBPROJECT_rev3
-    #include "rev3/config.h"
-#endif
-#ifdef SUBPROJECT_rev4
-    #include "rev4/config.h"
-#endif
-
 #endif
diff --git a/keyboards/planck/light/config.h b/keyboards/planck/light/config.h
new file mode 100644 (file)
index 0000000..71c9249
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef LIGHT_CONFIG_H
+#define LIGHT_CONFIG_H
+
+#include "config_common.h"
+
+#undef PRODUCT
+#define PRODUCT Planck Light
+#undef PRODUCT_ID
+#define PRODUCT_ID 0x6065
+#define DEVICE_VER 0x0001
+
+#undef MATRIX_ROW_PINS
+#undef MATRIX_COL_PINS
+
+#define MATRIX_ROW_PINS { B0, E7, F0, F1 }
+#define MATRIX_COL_PINS { E6, E3, E4, D3, D4, D5, C0, A7, A6, E1, E0, D7 }
+
+#define C6_AUDIO
+#define B5_AUDIO
+
+#undef BACKLIGHT_PIN
+
+#define BACKLIGHT_PIN A5
+
+#define NO_USB_STARTUP_CHECK
+
+
+#endif
\ No newline at end of file
diff --git a/keyboards/planck/light/info.json b/keyboards/planck/light/info.json
new file mode 100644 (file)
index 0000000..f620bc4
--- /dev/null
@@ -0,0 +1,7 @@
+{
+  "keyboard_name": "Planck Light",
+  "keyboard_folder": "planck/light",
+  "identifier": "FEED:6065:0001",
+  "processor": "at90usb1286",
+  "bootloader": "qmk-dfu",
+}
\ No newline at end of file
diff --git a/keyboards/planck/light/light.c b/keyboards/planck/light/light.c
new file mode 100644 (file)
index 0000000..9626161
--- /dev/null
@@ -0,0 +1,39 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2017 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "light.h"
+
+void matrix_init_kb(void) {
+
+    // Turn status LED on
+    DDRD |= (1<<6);
+    PORTD |= (1<<6);
+
+    matrix_init_user();
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record)
+{   
+    return process_record_user(keycode, record);
+}
+
+uint16_t backlight_task_counter = 0;
+
+void matrix_scan_kb(void)
+{
+    matrix_scan_user();
+}
\ No newline at end of file
diff --git a/keyboards/planck/light/light.h b/keyboards/planck/light/light.h
new file mode 100644 (file)
index 0000000..111f198
--- /dev/null
@@ -0,0 +1,23 @@
+/* Copyright 2017 Jason Williams
+ * Copyright 2017 Jack Humbert
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef LIGHT_H
+#define LIGHT_H
+
+#include "planck.h"
+
+#endif
\ No newline at end of file
diff --git a/keyboards/planck/light/rules.mk b/keyboards/planck/light/rules.mk
new file mode 100644 (file)
index 0000000..02c39c4
--- /dev/null
@@ -0,0 +1,9 @@
+MIDI_ENABLE = yes
+AUDIO_ENABLE = yes           # Audio output on port C6
+MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
+NKRO_ENABLE = yes            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
+
+OPT_DEFS += -DBOOTLOADER_SIZE=8192
+
+MCU = at90usb1286
\ No newline at end of file
index 3980b02f503925f8b2bc2102e0f18af553f27ac9..1d2f91bc557efd06e99978829511d8cff1c95f5b 100644 (file)
@@ -10,6 +10,7 @@ const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
 };
 #endif
 
+__attribute__ ((weak))
 void matrix_init_kb(void) {
        // Turn status LED on
        DDRE |= (1<<6);
index 11485710070b3b518dba791aeb3e2321e2faef99..9ecde59583a9c53e0106c5512ac4b7b25a248c80 100644 (file)
@@ -1 +1,10 @@
-AUDIO_ENABLE = no           # Audio output on port C6
\ No newline at end of file
+
+# Boot Section Size in *bytes*
+#   Teensy halfKay   512
+#   Teensy++ halfKay 1024
+#   Atmel DFU loader 4096
+#   LUFA bootloader  4096
+#   USBaspLoader     2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+AUDIO_ENABLE = no           # Audio output on port C6
index 3b22e0a01b691928031da07f809452c05ccee349..0001fb50f71d33b8a6b9614dbb08d079263ed126 100644 (file)
@@ -1 +1,9 @@
-AUDIO_ENABLE = yes           # Audio output on port C6
\ No newline at end of file
+# Boot Section Size in *bytes*
+#   Teensy halfKay   512
+#   Teensy++ halfKay 1024
+#   Atmel DFU loader 4096
+#   LUFA bootloader  4096
+#   USBaspLoader     2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+AUDIO_ENABLE = yes           # Audio output on port C6
index 3b22e0a01b691928031da07f809452c05ccee349..29eae4b4950ce9152357baeaf2fcb0136d88cc65 100644 (file)
@@ -1 +1,9 @@
+# Boot Section Size in *bytes*
+#   Teensy halfKay   512
+#   Teensy++ halfKay 1024
+#   Atmel DFU loader 4096
+#   LUFA bootloader  4096
+#   USBaspLoader     2048
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
 AUDIO_ENABLE = yes           # Audio output on port C6
\ No newline at end of file
index df575cd6be4c46ecbc406743719bab8a5addcc20..1fed5fa58a9686012cd70629251affad41c8865d 100644 (file)
@@ -37,15 +37,6 @@ F_USB = $(F_CPU)
 # Interrupt driven control endpoint task(+60)
 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
 
-
-# Boot Section Size in *bytes*
-#   Teensy halfKay   512
-#   Teensy++ halfKay 1024
-#   Atmel DFU loader 4096
-#   LUFA bootloader  4096
-#   USBaspLoader     2048
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
 # Build Options
 #   change to "no" to disable the options, or define them in the Makefile in 
 #   the appropriate keymap folder that will get included automatically
index e08233486a30a7b07f9b0af67b0b844161edac2d..29bad8060b8fdde5a7b380393ba7e5146c099492 100644 (file)
@@ -184,6 +184,9 @@ void audio_init()
         #ifdef B5_AUDIO
             TCCR1A = (0 << COM1A1) | (0 << COM1A0) | (1 << WGM11) | (0 << WGM10);
             TCCR1B = (1 << WGM13)  | (1 << WGM12)  | (0 << CS12)  | (1 << CS11) | (0 << CS10);
+
+            TIMER_1_PERIOD = (uint16_t)(((float)F_CPU) / (440 * CPU_PRESCALER));
+            TIMER_1_DUTY_CYCLE = (uint16_t)((((float)F_CPU) / (440 * CPU_PRESCALER)) * note_timbre);
         #endif
 
         audio_initialized = true;
@@ -192,7 +195,7 @@ void audio_init()
     if (audio_config.enable) {
         PLAY_SONG(startup_song);
     }
-
+    
 }
 
 void stop_all_notes()
index 23873852f5b5efab601351f30fff08d60ad9ba41..09920159660febc52bc758350699941cdc32ad5a 100644 (file)
@@ -1105,8 +1105,6 @@ ISR(TIMER1_COMPA_vect)
 
 }
 
-
-
 #endif // breathing
 
 #else // backlight
@@ -1168,6 +1166,7 @@ void send_nibble(uint8_t number) {
 __attribute__((weak))
 uint16_t hex_to_keycode(uint8_t hex)
 {
+  hex = hex & 0xF;
   if (hex == 0x0) {
     return KC_0;
   } else if (hex < 0xA) {
index c9b5fc3235561315a89697a961f24e5a39860675..d12a87a942c351dc85657222e23f5b9eecbb32ee 100644 (file)
@@ -1,36 +1,47 @@
 #!/bin/bash
 
+# test force push
+#TRAVIS_COMMIT_RANGE="c287f1bfc5c8...81f62atc4c1d"
+
 TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}"
 TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
+MAKE_ALL="make all:default AUTOGEN=\"true\""
 
 if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then 
        exit_code=0
-       NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)'  | grep -Ev '^(docs/)' | wc -l)
-       BRANCH=$(git rev-parse --abbrev-ref HEAD)
-       if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then
-               echo "Making all keymaps for all keyboards"
-               make all:default AUTOGEN="true"
+       git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}
+       if [ $? -eq 128 ]; then
+               echo "Making default keymaps for all keyboards"
+               eval $MAKE_ALL
                : $((exit_code = $exit_code + $?))
        else
-               MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_\/]+)(?=\/)' | sort -u)
-               for KB in $MKB ; do
-                       if [[ $KB == *keymaps* ]]; then
-                               continue
-                       fi
-                       KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l)
-                       if [[ $KEYMAP_ONLY -gt 0 ]]; then
-                               echo "Making all keymaps for $KB"
-                               make ${KB}:all AUTOGEN=true
-                               : $((exit_code = $exit_code + $?))
-                       else
-                               MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u)
-                               for KM in $MKM ; do
-                                       echo "Making $KM for $KB"       
-                                       make ${KB}:${KM} AUTOGEN=true
+               NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)'  | grep -Ev '^(docs/)' | wc -l)
+               BRANCH=$(git rev-parse --abbrev-ref HEAD)
+               if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then
+                       echo "Making default keymaps for all keyboards"
+                       eval $MAKE_ALL
+                       : $((exit_code = $exit_code + $?))
+               else
+                       MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_\/]+)(?=\/)' | sort -u)
+                       for KB in $MKB ; do
+                               if [[ $KB == *keymaps* ]]; then
+                                       continue
+                               fi
+                               KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l)
+                               if [[ $KEYMAP_ONLY -gt 0 ]]; then
+                                       echo "Making all keymaps for $KB"
+                                       make ${KB}:all AUTOGEN=true
                                        : $((exit_code = $exit_code + $?))
-                               done            
-                       fi
-               done
+                               else
+                                       MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u)
+                                       for KM in $MKM ; do
+                                               echo "Making $KM for $KB"       
+                                               make ${KB}:${KM} AUTOGEN=true
+                                               : $((exit_code = $exit_code + $?))
+                                       done            
+                               fi
+                       done
+               fi
        fi
        exit $exit_code
 fi