diff options
author | William Chang <william@factual.com> | 2019-11-20 22:17:07 -0800 |
---|---|---|
committer | William Chang <william@factual.com> | 2019-11-20 22:17:07 -0800 |
commit | e7f4d56592b3975c38af329e77b4efd9108495e8 (patch) | |
tree | 0a416bccbf70bfdbdb9ffcdb3bf136b47378c014 /keyboards/1upkeyboards/sweet16 | |
parent | 71493b2f9bbd5f3d18373c518fa14ccafcbf48fc (diff) | |
parent | 8416a94ad27b3ff058576f09f35f0704a8b39ff3 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'keyboards/1upkeyboards/sweet16')
20 files changed, 310 insertions, 104 deletions
diff --git a/keyboards/1upkeyboards/sweet16/config.h b/keyboards/1upkeyboards/sweet16/config.h index 23b590c2c1..803d9f1151 100644 --- a/keyboards/1upkeyboards/sweet16/config.h +++ b/keyboards/1upkeyboards/sweet16/config.h @@ -4,8 +4,6 @@ /* USB Device descriptor parameter */ #define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x2010 -#define DEVICE_VER 0x0001 #define MANUFACTURER 1up Keyboards #define PRODUCT Sweet16 #define DESCRIPTION 4x4 grid @@ -14,34 +12,11 @@ #define MATRIX_ROWS 4 #define MATRIX_COLS 4 -/* key matrix pins */ -#define MATRIX_ROW_PINS { F4, F5, F6, F7 } -#define MATRIX_COL_PINS { D1, D0, D4, C6 } -#define UNUSED_PINS - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - /* number of backlight levels */ - -#ifdef BACKLIGHT_PIN -#define BACKLIGHT_LEVELS 3 -#endif - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 +#define BACKLIGHT_LEVELS 10 /* 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 - -#define RGB_DI_PIN B1 -#ifdef RGB_DI_PIN -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 1 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#endif diff --git a/keyboards/1upkeyboards/sweet16/info.json b/keyboards/1upkeyboards/sweet16/info.json index 445a5909ec..c292f0364e 100644 --- a/keyboards/1upkeyboards/sweet16/info.json +++ b/keyboards/1upkeyboards/sweet16/info.json @@ -1,7 +1,7 @@ { "keyboard_name": "Sweet 16", "url": "", - "maintainer": "qmk", + "maintainer": "skullydazed", "width": 4, "height": 4, "layouts": { diff --git a/keyboards/1upkeyboards/sweet16/keymaps/default/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/default/keymap.c index 4cc754dc16..4778d2108c 100644 --- a/keyboards/1upkeyboards/sweet16/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/sweet16/keymaps/default/keymap.c @@ -25,21 +25,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void led_set_user(uint8_t usb_led) { - - #ifndef CONVERT_TO_PROTON_C - /* Map RXLED to USB_LED_NUM_LOCK */ - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - DDRB |= (1 << 0); PORTB &= ~(1 << 0); - } else { - DDRB &= ~(1 << 0); PORTB &= ~(1 << 0); - } - - /* Map TXLED to USB_LED_CAPS_LOCK */ - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRD |= (1 << 5); PORTD &= ~(1 << 5); - } else { - DDRD &= ~(1 << 5); PORTD &= ~(1 << 5); - } - #endif +#ifdef ENCODER_ENABLE +#include "encoder.h" +void encoder_update_user(int8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } } +#endif diff --git a/keyboards/1upkeyboards/sweet16/readme.md b/keyboards/1upkeyboards/sweet16/readme.md index f096a5fc99..0e3cbcaa66 100644 --- a/keyboards/1upkeyboards/sweet16/readme.md +++ b/keyboards/1upkeyboards/sweet16/readme.md @@ -1,13 +1,12 @@ # Sweet 16 Macropad -A 4x4 numpad/macro pad sold by 1up Keyboards - designed by Bishop Keyboards +A 4x4 numpad/macro pad sold by 1up Keyboards. -Keyboard Maintainer: QMK Community -Hardware Supported: Sweet16 Keyboard PCB -Hardware Availability: [1up Keyboards](https://1upkeyboards.com/) +* Keyboard Maintainer: skullydazed +* Hardware Supported: Sweet16 Keyboard PCB +* Hardware Availability: [1up Keyboards](https://1upkeyboards.com/) -Make example for this keyboard (after setting up your build environment): - - make 1upkeyboards/sweet16:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +Revisions: +* [v1](./v1/)- The original macropad, designed by Bishop Keyboards +* [v2/promicro](./v2/promicro)- The second macropad built with a Pro Micro, designed by Clueboard +* [v2/proton_c](./v2/proton_c)- The second macropad built with a Proton C, designed by Clueboard diff --git a/keyboards/1upkeyboards/sweet16/rules.mk b/keyboards/1upkeyboards/sweet16/rules.mk index e3436dc338..d7e57eb33e 100644 --- a/keyboards/1upkeyboards/sweet16/rules.mk +++ b/keyboards/1upkeyboards/sweet16/rules.mk @@ -1,57 +1,12 @@ -# 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* -OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - # Build Options -# comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +DEFAULT_FOLDER = 1upkeyboards/sweet16/v1 +#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes -EXTRAFLAGS += -flto +RGBLIGHT_ENABLE = no diff --git a/keyboards/1upkeyboards/sweet16/v1/config.h b/keyboards/1upkeyboards/sweet16/v1/config.h new file mode 100644 index 0000000000..56fd16650c --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v1/config.h @@ -0,0 +1,28 @@ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT_ID 0x2010 +#define DEVICE_VER 0x0001 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F4, F5, F6, F7 } +#define MATRIX_COL_PINS { D1, D0, D4, C6 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Underglow options */ +#define RGB_DI_PIN B1 +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 1 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif diff --git a/keyboards/1upkeyboards/sweet16/v1/readme.md b/keyboards/1upkeyboards/sweet16/v1/readme.md new file mode 100644 index 0000000000..a36197006c --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v1/readme.md @@ -0,0 +1,13 @@ +# Sweet16 V1 + +A 4x4 numpad/macro pad sold by 1up Keyboards - designed by Bishop Keyboards + +* Keyboard Maintainer: QMK Community +* Hardware Supported: Sweet16 V1 PCB +* Hardware Availability: [1up Keyboards](https://1upkeyboards.com/) + +Make example for this keyboard (after setting up your build environment): + + make 1upkeyboards/sweet16/v1:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/1upkeyboards/sweet16/v1/rules.mk b/keyboards/1upkeyboards/sweet16/v1/rules.mk new file mode 100644 index 0000000000..09bd9e9e25 --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v1/rules.mk @@ -0,0 +1,17 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = caterina + +RGBLIGHT_ENABLE = yes +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality + +LINK_TIME_OPTIMIZATION_ENABLE = yes diff --git a/keyboards/1upkeyboards/sweet16/v1/v1.c b/keyboards/1upkeyboards/sweet16/v1/v1.c new file mode 100644 index 0000000000..053620d333 --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v1/v1.c @@ -0,0 +1,21 @@ +#include "v1.h" + +void led_set_kb(uint8_t usb_led) { +#ifndef CONVERT_TO_PROTON_C + /* Map RXLED to USB_LED_NUM_LOCK */ + if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { + setPinOutput(B0); + writePinLow(B0); + } else { + setPinInput(B0); + } + + /* Map TXLED to USB_LED_CAPS_LOCK */ + if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { + setPinOutput(D5); + writePinLow(D5); + } else { + setPinInput(D5); + } +#endif +} diff --git a/keyboards/1upkeyboards/sweet16/v1/v1.h b/keyboards/1upkeyboards/sweet16/v1/v1.h new file mode 100644 index 0000000000..7320ccd9e0 --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v1/v1.h @@ -0,0 +1,30 @@ +#pragma once + +#include "quantum.h" + +// Any changes to the layout names and/or definitions must also be made to info.json + +#define LAYOUT_ortho_4x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, K33 } \ +} + +#define LAYOUT_numpad_4x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, \ + K20, K21, K22, K23, \ + K31, K32 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, KC_NO }, \ + { K20, K21, K22, K23 }, \ + { KC_NO, K31, K32, KC_NO } \ +} + diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/config.h b/keyboards/1upkeyboards/sweet16/v2/promicro/config.h new file mode 100644 index 0000000000..bd50b69608 --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/promicro/config.h @@ -0,0 +1,31 @@ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT_ID 0x2011 +#define DEVICE_VER 0x0001 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D4, D1, E6, B5 } +#define MATRIX_COL_PINS { F7, F6, D2, D3 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Encoder pins */ +#define ENCODERS_PAD_A { F4 } +#define ENCODERS_PAD_B { F5 } +#define ENCODER_RESOLUTION 4 + +/* Underglow options */ +#define RGB_DI_PIN F4 +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 1 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.c b/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.c new file mode 100644 index 0000000000..0176dc1a3c --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.c @@ -0,0 +1,8 @@ +#include "promicro.h" +#include "encoder.h" + +#ifdef ENCODER_ENABLED +void encoder_update_kb(int8_t index, bool clockwise) { + encoder_update_user(index, clockwise); +} +#endif diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.h b/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.h new file mode 100644 index 0000000000..7320ccd9e0 --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.h @@ -0,0 +1,30 @@ +#pragma once + +#include "quantum.h" + +// Any changes to the layout names and/or definitions must also be made to info.json + +#define LAYOUT_ortho_4x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, K33 } \ +} + +#define LAYOUT_numpad_4x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, \ + K20, K21, K22, K23, \ + K31, K32 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, KC_NO }, \ + { K20, K21, K22, K23 }, \ + { KC_NO, K31, K32, KC_NO } \ +} + diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/readme.md b/keyboards/1upkeyboards/sweet16/v2/promicro/readme.md new file mode 100644 index 0000000000..584b446511 --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/promicro/readme.md @@ -0,0 +1,13 @@ +# Sweet16 V2 (Pro Micro) + +A 4x4 numpad/macro pad sold by 1up Keyboards - designed by Clueboard + +* Keyboard Maintainer: skullydazed +* Hardware Supported: Sweet16 V2 PCB, Pro Micro +* Hardware Availability: [1up Keyboards](https://1upkeyboards.com/) + +Make example for this keyboard (after setting up your build environment): + + make 1upkeyboards/sweet16/v2/promicro:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk b/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk new file mode 100644 index 0000000000..9f38504a8c --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = caterina + +## Features +CONSOLE_ENABLE = yes + +## On a Pro Micro you have to choose between underglow and the rotary encoder. +RGBLIGHT_ENABLE = no +ENCODER_ENABLE = yes + +LINK_TIME_OPTIMIZATION_ENABLE = yes diff --git a/keyboards/1upkeyboards/sweet16/v2/proton_c/config.h b/keyboards/1upkeyboards/sweet16/v2/proton_c/config.h new file mode 100644 index 0000000000..6f27f0b623 --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/proton_c/config.h @@ -0,0 +1,20 @@ +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT_ID 0x2011 +#define DEVICE_VER 0x0001 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B5, B7, B2, B0 } +#define MATRIX_COL_PINS { B8, A0, A10, A9 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* Encoder pins */ +#define ENCODERS_PAD_A { A2 } +#define ENCODERS_PAD_B { A1 } +#define ENCODER_RESOLUTION 4 diff --git a/keyboards/1upkeyboards/sweet16/v2/proton_c/proton_c.c b/keyboards/1upkeyboards/sweet16/v2/proton_c/proton_c.c new file mode 100644 index 0000000000..b08e33e81b --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/proton_c/proton_c.c @@ -0,0 +1 @@ +#include "proton_c.h" diff --git a/keyboards/1upkeyboards/sweet16/v2/proton_c/proton_c.h b/keyboards/1upkeyboards/sweet16/v2/proton_c/proton_c.h new file mode 100644 index 0000000000..7320ccd9e0 --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/proton_c/proton_c.h @@ -0,0 +1,30 @@ +#pragma once + +#include "quantum.h" + +// Any changes to the layout names and/or definitions must also be made to info.json + +#define LAYOUT_ortho_4x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, K33 } \ +} + +#define LAYOUT_numpad_4x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, \ + K20, K21, K22, K23, \ + K31, K32 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, KC_NO }, \ + { K20, K21, K22, K23 }, \ + { KC_NO, K31, K32, KC_NO } \ +} + diff --git a/keyboards/1upkeyboards/sweet16/v2/proton_c/readme.md b/keyboards/1upkeyboards/sweet16/v2/proton_c/readme.md new file mode 100644 index 0000000000..6806cc5739 --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/proton_c/readme.md @@ -0,0 +1,13 @@ +# Sweet16 V2 (Proton C) + +A 4x4 numpad/macro pad sold by 1up Keyboards - designed by Clueboard + +* Keyboard Maintainer: skullydazed +* Hardware Supported: Sweet16 V2 PCB, Proton C +* Hardware Availability: [1up Keyboards](https://1upkeyboards.com/) + +Make example for this keyboard (after setting up your build environment): + + make 1upkeyboards/sweet16/v2/proton_c:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/1upkeyboards/sweet16/v2/proton_c/rules.mk b/keyboards/1upkeyboards/sweet16/v2/proton_c/rules.mk new file mode 100644 index 0000000000..dedcf043af --- /dev/null +++ b/keyboards/1upkeyboards/sweet16/v2/proton_c/rules.mk @@ -0,0 +1,7 @@ +# MCU name +MCU = STM32F303 + +## Features +CONSOLE_ENABLE = yes +ENCODER_ENABLE = yes +AUDIO_ENABLE = yes |