diff options
author | Christopher Browne <cbbrowne@ca.afilias.info> | 2016-06-30 12:38:48 -0400 |
---|---|---|
committer | Christopher Browne <cbbrowne@ca.afilias.info> | 2016-06-30 12:38:48 -0400 |
commit | 44a5f7630f18b40b36270d49449a43cd42b802f0 (patch) | |
tree | 9d29ee26496a458bf161eeb59dab5e12d85cb3aa /keyboards | |
parent | c9f509f0168f6d11e743a9d2e37964c05e45672b (diff) | |
parent | a8b55f8c858933a0f7641f7bf2dede640235aa70 (diff) |
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'keyboards')
56 files changed, 870 insertions, 377 deletions
diff --git a/keyboards/alps64/matrix.c b/keyboards/alps64/matrix.c index 805999d4a1..b3508850de 100644 --- a/keyboards/alps64/matrix.c +++ b/keyboards/alps64/matrix.c @@ -100,6 +100,8 @@ uint8_t matrix_scan(void) } } + matrix_scan_quantum(); + return 1; } diff --git a/keyboards/clueboard/Makefile b/keyboards/clueboard/Makefile new file mode 100644 index 0000000000..ccc01ea9a7 --- /dev/null +++ b/keyboards/clueboard/Makefile @@ -0,0 +1,109 @@ +#---------------------------------------------------------------------------- +# On command line: +# +# make all = Make software. +# +# make clean = Clean out built project files. +# +# make coff = Convert ELF to AVR COFF. +# +# make extcoff = Convert ELF to AVR Extended COFF. +# +# make program = Download the hex file to the device. +# Please customize your programmer settings(PROGRAM_CMD) +# +# make teensy = Download the hex file to the device, using teensy_loader_cli. +# (must have teensy_loader_cli installed). +# +# make dfu = Download the hex file to the device, using dfu-programmer (must +# have dfu-programmer installed). +# +# make flip = Download the hex file to the device, using Atmel FLIP (must +# have Atmel FLIP installed). +# +# make dfu-ee = Download the eeprom file to the device, using dfu-programmer +# (must have dfu-programmer installed). +# +# make flip-ee = Download the eeprom file to the device, using Atmel FLIP +# (must have Atmel FLIP installed). +# +# make debug = Start either simulavr or avarice as specified for debugging, +# with avr-gdb or avr-insight as the front end for debugging. +# +# make filename.s = Just compile filename.c into the assembler code only. +# +# make filename.i = Create a preprocessed source file for use in submitting +# bug reports to the GCC project. +# +# To rebuild project do "make clean" then "make all". +#---------------------------------------------------------------------------- + +SUBPROJECT_DEFAULT = rev2 + +# MCU name +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +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 +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= no # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +AUDIO_ENABLE ?= no +RGBLIGHT_ENABLE ?= no # Enable keyboard underlight functionality +MIDI_ENABLE ?= no # MIDI controls +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID + +ifndef QUANTUM_DIR + include ../../Makefile +endif diff --git a/keyboards/clueboard1/clueboard1.c b/keyboards/clueboard/clueboard.c index 5785f447f0..13195bda6b 100644 --- a/keyboards/clueboard1/clueboard1.c +++ b/keyboards/clueboard/clueboard.c @@ -1,4 +1,9 @@ -#include "clueboard1.h" +#include "clueboard.h" + +void led_init_ports() { + // * Set our LED pins as output + DDRB |= (1<<4); +} void led_set_kb(uint8_t usb_led) { DDRF |= (1<<0); diff --git a/keyboards/clueboard/clueboard.h b/keyboards/clueboard/clueboard.h new file mode 100644 index 0000000000..4f2a3c1df1 --- /dev/null +++ b/keyboards/clueboard/clueboard.h @@ -0,0 +1,13 @@ +#ifndef CLUEBOARD_H +#define CLUEBOARD_H + +#ifdef SUBPROJECT_rev1 + #include "rev1.h" +#endif +#ifdef SUBPROJECT_rev2 + #include "rev2.h" +#endif + +#include "quantum.h" + +#endif diff --git a/keyboards/clueboard1/config.h b/keyboards/clueboard/config.h index 16338ddb03..ceac80795b 100644 --- a/keyboards/clueboard1/config.h +++ b/keyboards/clueboard/config.h @@ -22,29 +22,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* USB Device descriptor parameter */ #define VENDOR_ID 0xC1ED -#define PRODUCT_ID 0x2301 -#define DEVICE_VER 0x0003 #define MANUFACTURER Clueboard #define PRODUCT Clueboard #define DESCRIPTION QMK keyboard firmware for Clueboard -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 16 - -// ROWS: Top to bottom, COLS: Left to right -/* Column pin configuration -* col: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -* pin: B3 F1 F4 F5 F6 C7 C6 B6 B5 B4 D7 D6 D4 F7 B0 B1 -*/ -#define MATRIX_COL_PINS { B3, F1, F4, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, F7, B0, B1 } -/* Row pin configuration -* row: 0 1 2 3 4 -* pin: D1 D0 D2 D5 D3 -*/ -#define MATRIX_ROW_PINS { D1, D0, D2, D5, D3 } -#define UNUSED_PINS - /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW @@ -64,16 +45,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) -/* Underlight configuration - */ - #define ws2812_PORTREG PORTB - #define ws2812_DDRREG DDRB - #define ws2812_pin 2 - #define RGBLED_NUM 14 // Number of LEDs - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 - /* * Feature disable options * These options are also useful to firmware size reduction. @@ -92,4 +63,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION + +#ifdef SUBPROJECT_rev1 + #include "rev1/config.h" +#endif +#ifdef SUBPROJECT_rev2 + #include "rev2/config.h" +#endif + #endif diff --git a/keyboards/clueboard2/keymaps/default/keymap.c b/keyboards/clueboard/keymaps/default/keymap.c index 1795e68cda..89f71e83a7 100644 --- a/keyboards/clueboard2/keymaps/default/keymap.c +++ b/keyboards/clueboard/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -#include "clueboard2.h" +#include "clueboard.h" // Used for SHIFT_ESC #define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) @@ -138,6 +138,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { if (record->event.pressed) { rgblight_toggle(); } + break; case RGBLED_INCREASE_HUE: if (record->event.pressed) { diff --git a/keyboards/clueboard/keymaps/max/Makefile b/keyboards/clueboard/keymaps/max/Makefile new file mode 100644 index 0000000000..950dadf841 --- /dev/null +++ b/keyboards/clueboard/keymaps/max/Makefile @@ -0,0 +1,49 @@ +#---------------------------------------------------------------------------- +# On command line: +# +# make all = Make software. +# +# make clean = Clean out built project files. +# +# make coff = Convert ELF to AVR COFF. +# +# make extcoff = Convert ELF to AVR Extended COFF. +# +# make program = Download the hex file to the device. +# Please customize your programmer settings(PROGRAM_CMD) +# +# make teensy = Download the hex file to the device, using teensy_loader_cli. +# (must have teensy_loader_cli installed). +# +# make dfu = Download the hex file to the device, using dfu-programmer (must +# have dfu-programmer installed). +# +# make flip = Download the hex file to the device, using Atmel FLIP (must +# have Atmel FLIP installed). +# +# make dfu-ee = Download the eeprom file to the device, using dfu-programmer +# (must have dfu-programmer installed). +# +# make flip-ee = Download the eeprom file to the device, using Atmel FLIP +# (must have Atmel FLIP installed). +# +# make debug = Start either simulavr or avarice as specified for debugging, +# with avr-gdb or avr-insight as the front end for debugging. +# +# make filename.s = Just compile filename.c into the assembler code only. +# +# make filename.i = Create a preprocessed source file for use in submitting +# bug reports to the GCC project. +# +# To rebuild project do "make clean" then "make all". +#---------------------------------------------------------------------------- + +# Build Options +# change to "no" to disable the options, or define them in the makefile.mk in +# the appropriate keymap folder that will get included automatically +# +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif
\ No newline at end of file diff --git a/keyboards/clueboard2/keymaps/max/keymap.c b/keyboards/clueboard/keymaps/max/keymap.c index 65a101c2b5..82c93401db 100644 --- a/keyboards/clueboard2/keymaps/max/keymap.c +++ b/keyboards/clueboard/keymaps/max/keymap.c @@ -1,4 +1,4 @@ -#include "clueboard2.h" +#include "clueboard.h" // Used for SHIFT_ESC #define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) diff --git a/keyboards/clueboard2/keymaps/skully/keymap.c b/keyboards/clueboard/keymaps/skully/keymap.c index 74a03f2f30..df6f054e07 100644 --- a/keyboards/clueboard2/keymaps/skully/keymap.c +++ b/keyboards/clueboard/keymaps/skully/keymap.c @@ -1,4 +1,4 @@ -#include "clueboard2.h" +#include "clueboard.h" // Used for SHIFT_ESC #define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) diff --git a/keyboards/clueboard/rev1/Makefile b/keyboards/clueboard/rev1/Makefile new file mode 100644 index 0000000000..80a942d06f --- /dev/null +++ b/keyboards/clueboard/rev1/Makefile @@ -0,0 +1,5 @@ +BACKLIGHT_ENABLE = no + +ifndef QUANTUM_DIR + include ../../../Makefile +endif diff --git a/keyboards/clueboard/rev1/config.h b/keyboards/clueboard/rev1/config.h new file mode 100644 index 0000000000..9bb58f56e8 --- /dev/null +++ b/keyboards/clueboard/rev1/config.h @@ -0,0 +1,37 @@ +#ifndef REV2_CONFIG_H +#define REV2_CONFIG_H + +#include "../config.h" + +#define PRODUCT_ID 0x2301 +#define DEVICE_VER 0x0003 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +// ROWS: Top to bottom, COLS: Left to right +/* Column pin configuration +* col: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +* pin: B3 F1 F4 F5 F6 C7 C6 B6 B5 B4 D7 D6 D4 F7 B0 B1 +*/ +#define MATRIX_COL_PINS { B3, F1, F4, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, F7, B0, B1 } +/* Row pin configuration +* row: 0 1 2 3 4 +* pin: D1 D0 D2 D5 D3 +*/ +#define MATRIX_ROW_PINS { D1, D0, D2, D5, D3 } +#define UNUSED_PINS + +/* Underlight configuration + */ +#define ws2812_PORTREG PORTB +#define ws2812_DDRREG DDRB +#define ws2812_pin 2 +#define RGBLED_NUM 14 // Number of LEDs +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + + +#endif
\ No newline at end of file diff --git a/keyboards/clueboard/rev1/rev1.c b/keyboards/clueboard/rev1/rev1.c new file mode 100644 index 0000000000..520a869e57 --- /dev/null +++ b/keyboards/clueboard/rev1/rev1.c @@ -0,0 +1 @@ +#include "rev1.h" diff --git a/keyboards/clueboard1/clueboard1.h b/keyboards/clueboard/rev1/rev1.h index 3c6c333420..abdfd079b3 100644 --- a/keyboards/clueboard1/clueboard1.h +++ b/keyboards/clueboard/rev1/rev1.h @@ -1,8 +1,7 @@ -#ifndef CLUEBOARD1_H -#define CLUEBOARD1_H - -#include "quantum.h" +#ifndef REV1_H +#define REV1_H +#include "../clueboard.h" /* Clueboard matrix layout * ,-----------------------------------------------------------. ,---. @@ -30,6 +29,7 @@ */ // The first section contains all of the arguements // The second converts the arguments into a two-dimensional array + #define KEYMAP( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \ diff --git a/keyboards/clueboard/rev2/Makefile b/keyboards/clueboard/rev2/Makefile new file mode 100644 index 0000000000..cea967b795 --- /dev/null +++ b/keyboards/clueboard/rev2/Makefile @@ -0,0 +1,5 @@ +BACKLIGHT_ENABLE = yes + +ifndef QUANTUM_DIR + include ../../../Makefile +endif diff --git a/keyboards/clueboard/rev2/config.h b/keyboards/clueboard/rev2/config.h new file mode 100644 index 0000000000..e2f8336beb --- /dev/null +++ b/keyboards/clueboard/rev2/config.h @@ -0,0 +1,40 @@ +#ifndef REV2_CONFIG_H +#define REV2_CONFIG_H + +#include "../config.h" + +#define PRODUCT_ID 0x2320 +#define DEVICE_VER 0x0001 + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 8 + +// ROWS: Top to bottom, COLS: Left to right +/* Row pin configuration +* row: 0 1 2 3 4 5 6 7 8 9 +* pin: B2 C7 C6 B6 B5 B0 B3 D5 D3 D2 +*/ +#define MATRIX_ROW_PINS { B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 } +/* Column pin configuration + * col: 0 1 2 3 4 5 6 7 + * pin: F0 F1 F4 F5 F6 F7 E6 B1 + */ +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, B1 } +#define UNUSED_PINS + + /* Backlight configuration + */ +#define BACKLIGHT_LEVELS 1 + +/* Underlight configuration + */ +#define ws2812_PORTREG PORTD +#define ws2812_DDRREG DDRD +#define ws2812_pin 7 +#define RGBLED_NUM 14 // Number of LEDs +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +#endif
\ No newline at end of file diff --git a/keyboards/clueboard/rev2/rev2.c b/keyboards/clueboard/rev2/rev2.c new file mode 100644 index 0000000000..7a8ec368e6 --- /dev/null +++ b/keyboards/clueboard/rev2/rev2.c @@ -0,0 +1,47 @@ +#include "rev2.h" +#include <avr/io.h> +#include "backlight.h" +#include "print.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + matrix_init_user(); + led_init_ports(); + + // JTAG disable for PORT F. write JTD bit twice within four cycles. + MCUCR |= (1<<JTD); + MCUCR |= (1<<JTD); +} + + +void matrix_scan_kb(void) { + matrix_scan_user(); +} + +void backlight_init_ports(void) { + print("init_backlight_pin()\n"); + // Set our LED pins as output + DDRD |= (1<<6); // Esc + DDRB |= (1<<7); // Page Up + DDRD |= (1<<4); // Arrows + + // Set our LED pins low + PORTD &= ~(1<<6); // Esc + PORTB &= ~(1<<7); // Page Up + PORTD &= ~(1<<4); // Arrows +} + +void backlight_set(uint8_t level) { + if ( level == 0 ) { + // Turn off light + PORTD |= (1<<6); // Esc + PORTB |= (1<<7); // Page Up + PORTD |= (1<<4); // Arrows + } else { + // Turn on light + PORTD &= ~(1<<6); // Esc + PORTB &= ~(1<<7); // Page Up + PORTD &= ~(1<<4); // Arrows + } +} diff --git a/keyboards/clueboard2/clueboard2.h b/keyboards/clueboard/rev2/rev2.h index e474b31019..912de405da 100644 --- a/keyboards/clueboard2/clueboard2.h +++ b/keyboards/clueboard/rev2/rev2.h @@ -1,8 +1,7 @@ -#ifndef CLUEBOARD2_H -#define CLUEBOARD2_H - -#include "quantum.h" +#ifndef REV2_H +#define REV2_H +#include "../clueboard.h" /* Clueboard matrix layout * ,-----------------------------------------------------------. ,---. @@ -30,6 +29,7 @@ */ // The first section contains all of the arguments // The second converts the arguments into a two-dimensional array + #define KEYMAP( \ k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k56, k57, \ k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \ diff --git a/keyboards/clueboard1/keymaps/default/keymap.c b/keyboards/clueboard1/keymaps/default/keymap.c deleted file mode 100644 index 3f4f3c4149..0000000000 --- a/keyboards/clueboard1/keymaps/default/keymap.c +++ /dev/null @@ -1,184 +0,0 @@ -#include "clueboard1.h" - -#ifdef RGBLIGHT_ENABLE -#include "rgblight.h" -#endif - -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 -#define _RS 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,--------------------------------------------------------------------------. ,----. - * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS| |PGUP| - * |--------------------------------------------------------------------------| |----| - * | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PGDN| - * |--------------------------------------------------------------------------| `----' - * |Capslck| A| S| D| F| G| H| J| K| L| ;| '| # | Ent| - * |-----------------------------------------------------------------------------. - * |Shift| BS| Z| X| C| V| B| N| M| ,| .| /| BS|Shift| UP| - * |------------------------------------------------------------------------|----|----. - * | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT| - * `----------------------------------------------------------------------------------' - */ -[_BL] = KEYMAP( - F(0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_PGUP, \ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_ |