From b669d115c2969a58f0ae00f6ae5c2290dba44c03 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Mon, 20 Nov 2017 23:25:38 -0500 Subject: [PATCH] adds planck light keyboard --- keyboards/planck/keymaps/brandon/config.h | 105 +++++----------------- keyboards/planck/keymaps/circuit/config.h | 102 +++++---------------- keyboards/planck/keymaps/default/keymap.c | 6 +- keyboards/planck/keymaps/khord/config.h | 2 +- keyboards/planck/keymaps/pvc/config.h | 41 ++++----- keyboards/planck/keymaps/vifon/config.h | 99 +++++--------------- keyboards/planck/keymaps/zach/config.h | 74 +++++---------- keyboards/planck/light/config.h | 28 ++++++ keyboards/planck/light/info.json | 7 ++ keyboards/planck/light/light.c | 39 ++++++++ keyboards/planck/light/light.h | 23 +++++ keyboards/planck/light/rules.mk | 9 ++ keyboards/planck/planck.c | 1 + keyboards/planck/rev3/rules.mk | 11 ++- keyboards/planck/rev4/rules.mk | 10 ++- keyboards/planck/rev5/rules.mk | 8 ++ keyboards/planck/rules.mk | 9 -- quantum/audio/audio.c | 5 +- quantum/quantum.c | 3 +- util/travis_build.sh | 57 +++++++----- 20 files changed, 278 insertions(+), 361 deletions(-) create mode 100644 keyboards/planck/light/config.h create mode 100644 keyboards/planck/light/info.json create mode 100644 keyboards/planck/light/light.c create mode 100644 keyboards/planck/light/light.h create mode 100644 keyboards/planck/light/rules.mk diff --git a/keyboards/planck/keymaps/brandon/config.h b/keyboards/planck/keymaps/brandon/config.h index 5442ebf751..29a07dc637 100644 --- a/keyboards/planck/keymaps/brandon/config.h +++ b/keyboards/planck/keymaps/brandon/config.h @@ -1,68 +1,30 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + /* -Copyright 2012 Jun Wako + * MIDI options + */ -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. +/* Prevent use of disabled MIDI features in the keymap */ +//#define MIDI_ENABLE_STRICT 1 -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 . +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on */ +#define MIDI_BASIC -#ifndef CONFIG_H -#define CONFIG_H +/* 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 -#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 - -/* 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)) \ -) +/* 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 . #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 diff --git a/keyboards/planck/keymaps/circuit/config.h b/keyboards/planck/keymaps/circuit/config.h index 22244f4a7f..4c61581993 100644 --- a/keyboards/planck/keymaps/circuit/config.h +++ b/keyboards/planck/keymaps/circuit/config.h @@ -1,91 +1,29 @@ -/* -Copyright 2012 Jun Wako +#ifndef CONFIG_USER_H +#define CONFIG_USER_H -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 . -*/ - -#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 - -/* 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 diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c index 87789e1d93..04fc33640d 100644 --- a/keyboards/planck/keymaps/default/keymap.c +++ b/keyboards/planck/keymaps/default/keymap.c @@ -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 +} diff --git a/keyboards/planck/keymaps/khord/config.h b/keyboards/planck/keymaps/khord/config.h index 5482aba52f..43c8001cf7 100644 --- a/keyboards/planck/keymaps/khord/config.h +++ b/keyboards/planck/keymaps/khord/config.h @@ -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) diff --git a/keyboards/planck/keymaps/pvc/config.h b/keyboards/planck/keymaps/pvc/config.h index 17f351756e..5394237357 100644 --- a/keyboards/planck/keymaps/pvc/config.h +++ b/keyboards/planck/keymaps/pvc/config.h @@ -29,31 +29,28 @@ along with this program. If not, see . #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 +/* + * MIDI options + */ -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST +/* Prevent use of disabled MIDI features in the keymap */ +//#define MIDI_ENABLE_STRICT 1 -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 3 +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on +*/ +#define MIDI_BASIC -/* 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)) \ -) - -#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 . /* 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 . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - #endif diff --git a/keyboards/planck/keymaps/vifon/config.h b/keyboards/planck/keymaps/vifon/config.h index a08b37cbe6..4cb4a1235a 100644 --- a/keyboards/planck/keymaps/vifon/config.h +++ b/keyboards/planck/keymaps/vifon/config.h @@ -1,82 +1,30 @@ -/* -Copyright 2012 Jun Wako +#ifndef CONFIG_USER_H +#define CONFIG_USER_H -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 . -*/ - -#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 - -/* 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 . */ #define DYNAMIC_MACRO_SIZE 256 -#ifdef SUBPROJECT_rev3 - #include "rev3/config.h" -#endif -#ifdef SUBPROJECT_rev4 - #include "rev4/config.h" -#endif - #endif diff --git a/keyboards/planck/keymaps/zach/config.h b/keyboards/planck/keymaps/zach/config.h index d309c94935..19a3856a39 100644 --- a/keyboards/planck/keymaps/zach/config.h +++ b/keyboards/planck/keymaps/zach/config.h @@ -1,55 +1,30 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + /* -Copyright 2012 Jun Wako + * MIDI options + */ -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. +/* Prevent use of disabled MIDI features in the keymap */ +//#define MIDI_ENABLE_STRICT 1 -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 . +/* enable basic MIDI features: + - MIDI notes can be sent when in Music mode is on */ +#define MIDI_BASIC -#ifndef CONFIG_H -#define CONFIG_H +/* 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 -#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 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -//#define BACKLIGHT_BREATHING // LED breathing -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 5 - -/* 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 . //#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 index 0000000000..71c924904d --- /dev/null +++ b/keyboards/planck/light/config.h @@ -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 index 0000000000..f620bc4138 --- /dev/null +++ b/keyboards/planck/light/info.json @@ -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 index 0000000000..96261616c3 --- /dev/null +++ b/keyboards/planck/light/light.c @@ -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 . + */ + +#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 index 0000000000..111f198654 --- /dev/null +++ b/keyboards/planck/light/light.h @@ -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 . + */ + +#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 index 0000000000..02c39c43a0 --- /dev/null +++ b/keyboards/planck/light/rules.mk @@ -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 diff --git a/keyboards/planck/planck.c b/keyboards/planck/planck.c index 3980b02f50..1d2f91bc55 100644 --- a/keyboards/planck/planck.c +++ b/keyboards/planck/planck.c @@ -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); diff --git a/keyboards/planck/rev3/rules.mk b/keyboards/planck/rev3/rules.mk index 1148571007..9ecde59583 100644 --- a/keyboards/planck/rev3/rules.mk +++ b/keyboards/planck/rev3/rules.mk @@ -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 diff --git a/keyboards/planck/rev4/rules.mk b/keyboards/planck/rev4/rules.mk index 3b22e0a01b..0001fb50f7 100644 --- a/keyboards/planck/rev4/rules.mk +++ b/keyboards/planck/rev4/rules.mk @@ -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 diff --git a/keyboards/planck/rev5/rules.mk b/keyboards/planck/rev5/rules.mk index 3b22e0a01b..29eae4b495 100644 --- a/keyboards/planck/rev5/rules.mk +++ b/keyboards/planck/rev5/rules.mk @@ -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 diff --git a/keyboards/planck/rules.mk b/keyboards/planck/rules.mk index df575cd6be..1fed5fa58a 100644 --- a/keyboards/planck/rules.mk +++ b/keyboards/planck/rules.mk @@ -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 diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index e08233486a..29bad8060b 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -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() diff --git a/quantum/quantum.c b/quantum/quantum.c index 23873852f5..0992015966 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -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) { diff --git a/util/travis_build.sh b/util/travis_build.sh index c9b5fc3235..d12a87a942 100644 --- a/util/travis_build.sh +++ b/util/travis_build.sh @@ -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