@ -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 |
@ -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 |
@ -0,0 +1,7 @@ | |||
{ | |||
"keyboard_name": "Planck Light", | |||
"keyboard_folder": "planck/light", | |||
"identifier": "FEED:6065:0001", | |||
"processor": "at90usb1286", | |||
"bootloader": "qmk-dfu", | |||
} |
@ -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(); | |||
} |
@ -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 |
@ -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 |
@ -1 +1,10 @@ | |||
AUDIO_ENABLE = no # Audio output on port C6 | |||
# 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 |
@ -1 +1,9 @@ | |||
AUDIO_ENABLE = yes # Audio output on port C6 | |||
# 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 |
@ -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 |
@ -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 |