Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add linworks favepada #20794

Merged
merged 34 commits into from
Aug 21, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
a75acfd
add favepada
duilchoi May 8, 2023
3e82160
update pcb image
duilchoi May 8, 2023
17e38c7
update favepada json file
duilchoi May 9, 2023
5b116b8
update matrix_rgb
duilchoi May 9, 2023
80314db
update rgb_matrix.max_brightness
duilchoi May 9, 2023
92c2a4f
Update info.json
duilchoi May 11, 2023
3b9db5e
Update info.json
duilchoi May 11, 2023
27bd00e
Update keyboards/linworks/favepada/info.json
duilchoi May 12, 2023
53ae679
Update keyboards/linworks/favepada/keymaps/default/keymap.c
duilchoi May 12, 2023
37d06ba
Update keyboards/linworks/favepada/readme.md
duilchoi May 12, 2023
1dd537e
Update readme.md
duilchoi May 12, 2023
517e738
Update readme.md
duilchoi May 12, 2023
d857537
Update keymap.c
duilchoi May 12, 2023
ca61955
update keymap.c
duilchoi May 12, 2023
36986f1
Update info.json
duilchoi May 12, 2023
1433539
Update keyboards/linworks/favepada/config.h
duilchoi May 14, 2023
d14c46c
Update keyboards/linworks/favepada/info.json
duilchoi May 18, 2023
afd9223
Update keyboards/linworks/favepada/info.json
duilchoi May 18, 2023
fba51ec
Update keyboards/linworks/favepada/info.json
duilchoi May 18, 2023
844e20a
Update config.h
duilchoi May 30, 2023
6f8cc31
Update info.json
duilchoi Jun 14, 2023
9d14067
Update keyboards/linworks/favepada/config.h
duilchoi Jul 24, 2023
6b5b4ed
Update keyboards/linworks/favepada/keymaps/default/keymap.c
duilchoi Jul 24, 2023
0907d18
Update keyboards/linworks/favepada/keymaps/via/keymap.c
duilchoi Jul 24, 2023
203b7eb
Update keyboards/linworks/favepada/info.json
duilchoi Jul 24, 2023
589774c
Update keyboards/linworks/favepada/rules.mk
duilchoi Jul 28, 2023
6172b69
Update keyboards/linworks/favepada/info.json
duilchoi Aug 19, 2023
5c31416
migrate config.h
duilchoi Aug 19, 2023
f0c7b4d
Update keyboards/linworks/favepada/config.h
duilchoi Aug 19, 2023
616c8ca
Update keyboards/linworks/favepada/info.json
duilchoi Aug 19, 2023
e41b55b
Update keyboards/linworks/favepada/info.json
duilchoi Aug 19, 2023
db18d5e
Update keyboards/linworks/favepada/info.json
duilchoi Aug 21, 2023
9813d94
Update keyboards/linworks/favepada/keymaps/default/keymap.c
duilchoi Aug 21, 2023
f8f4642
Update keyboards/linworks/favepada/keymaps/via/keymap.c
duilchoi Aug 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions keyboards/linworks/favepada/config.h
duilchoi marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
/*
Copyright 2020 Moritz Plattner

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/>.
*/

#pragma once

#include "config_common.h"

/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 4

#define MATRIX_ROW_PINS { A9, A8, B15, B14, B13, B12 }
#define MATRIX_COL_PINS { A14, A15, B3, B4 }

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

/* Define RGB */
duilchoi marked this conversation as resolved.
Show resolved Hide resolved
#define RGBLED_NUM 37
#define RGB_MATRIX_LED_COUNT 37
#define RGB_DI_PIN B1
duilchoi marked this conversation as resolved.
Show resolved Hide resolved

#ifdef RGB_MATRIX_ENABLE

#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120

#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL

#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT
#define ENABLE_RGB_MATRIX_BAND_VAL
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#define ENABLE_RGB_MATRIX_RAINDROPS
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
#define ENABLE_RGB_MATRIX_HUE_WAVE
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
// The PIXEL_FRACTAL effect does not work properly when the matrix layout is
// different from the physical layout; it also has problems when underglow
// LEDs are present, or when multiple LEDs are associated with the same key.
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL

// Framebuffer effects; can be enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS
// is defined. Both of these effects currently don't work properly when the
// key matrix does not match the physical layout, so they are disabled.
#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
duilchoi marked this conversation as resolved.
Show resolved Hide resolved

// Reactive effects; can be enabled only if at least one of
// RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined.
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#endif
56 changes: 56 additions & 0 deletions keyboards/linworks/favepada/favepada.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/* Copyright 2020 Moritz Plattner
*
* 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 "favepada.h"

#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = {
{
// Key Matrix to LED Index
{ 17, 18, 19, 20 },
{ 16, 15, 14, 13 },
{ 9, 10, 11, 12 },
{ 8, 7, 6, NO_LED },
{ 2, 3, 4, 5 },
{ 1, NO_LED, 0, NO_LED }
}, {
// LED Index to Physical Position
{ 149, 59 }, { 0, 59 },
{ 0, 51 }, { 74, 51 }, { 149, 51 }, { 224, 51 },
{ 149, 38 }, { 74, 38 },{ 0, 38 },
{ 0, 26 }, { 74, 26 }, { 149, 26 }, { 224, 26 },
{ 224, 13 }, { 149, 13 }, { 74, 13 }, { 0, 13 },
{ 0, 0 }, { 74, 0 }, { 149, 0 }, { 224, 0 },
//under RGB
{ 224, 5 }, { 149, 5 }, { 74, 5 }, { 0, 5 },
{ 0, 18 }, { 0, 31 }, { 0, 43 }, { 0, 56 },
{ 0, 64 }, { 74, 64 }, { 149, 64 }, { 224, 64 },
{ 224, 56 }, { 224, 43 }, { 224, 31 }, { 224, 18 }
}, {
// LED Index to Flag
1,1,
1,1,1,1,
1,1,1,
1,1,1,1,
1,1,1,9,
2,2,2,2,
4,4,4,4,
4,4,4,4,
4,4,4,4,
4,4,4,4
}
};
#endif
35 changes: 35 additions & 0 deletions keyboards/linworks/favepada/favepada.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/* Copyright 2021 Moritz Plattner
*
* 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/>.
*/

#pragma once

#include "quantum.h"

#define LAYOUT( \
K00, K01, K02, K03, \
K10, K11, K12, K13, \
K20, K21, K22, K23, \
K30, K31, K32, \
K40, K41, K42, K43, \
K50, K52 \
) { \
{ K00, K01, K02, K03 }, \
{ K10, K11, K12, K13 }, \
{ K20, K21, K22, K23 }, \
{ K30, K31, K32, KC_NO }, \
{ K40, K41, K42, K43 }, \
{ K50, KC_NO, K52, KC_NO } \
}
43 changes: 43 additions & 0 deletions keyboards/linworks/favepada/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"manufacturer": "Lx3",
"keyboard_name": "favepada",
"maintainer": "keydler",
"url": "",
"usb": {
"vid": "0x4C58",
"pid": "0x000B",
"device_version": "1.0.0"
},
duilchoi marked this conversation as resolved.
Show resolved Hide resolved
"layouts": {
"LAYOUT": {
"layout": [
{"x":0, "y":0},
{"x":1, "y":0},
{"x":2, "y":0},
{"x":3, "y":0},

{"label":"Num Lock", "x":0, "y":1.25},
{"label":"/", "x":1, "y":1.25},
{"label":"*", "x":2, "y":1.25},
{"label":"-", "x":3, "y":1.25},

{"label":"7", "x":0, "y":2.25},
{"label":"8", "x":1, "y":2.25},
{"label":"9", "x":2, "y":2.25},
{"label":"+", "x":3, "y":2.25, "h":2},

{"label":"4", "x":0, "y":3.25},
{"label":"5", "x":1, "y":3.25},
{"label":"6", "x":2, "y":3.25},

{"label":"1", "x":0, "y":4.25},
{"label":"2", "x":1, "y":4.25},
{"label":"3", "x":2, "y":4.25},
{"label":"Enter", "x":3, "y":4.25, "h":2},

{"label":"0", "x":0, "y":5.25, "w":2},
{"label":"Del", "x":2, "y":5.25}
]
}
}
}
43 changes: 43 additions & 0 deletions keyboards/linworks/favepada/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/* Copyright 2020 noroadsleft
*
* 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 QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
MO(1), KC_A, KC_B, KC_C,
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_P4, KC_P5, KC_P6,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_P0, KC_PDOT
),
duilchoi marked this conversation as resolved.
Show resolved Hide resolved
[1] = LAYOUT(
KC_TRNS, RGB_TOG, RGB_MOD, KC_D,
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_P4, KC_P5, KC_P6,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_P0, KC_PDOT
),
[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_P4, KC_P5, KC_P6,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_P0, KC_PDOT
)
};
43 changes: 43 additions & 0 deletions keyboards/linworks/favepada/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/* Copyright 2020 noroadsleft
*
* 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 QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
MO(1), KC_A, KC_B, KC_C,
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_P4, KC_P5, KC_P6,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_P0, KC_PDOT
),
[1] = LAYOUT(
KC_TRNS, RGB_TOG, RGB_MOD, KC_D,
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_P4, KC_P5, KC_P6,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_P0, KC_PDOT
),
[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_P4, KC_P5, KC_P6,
KC_P1, KC_P2, KC_P3, KC_PENT,
KC_P0, KC_PDOT
)
};
2 changes: 2 additions & 0 deletions keyboards/linworks/favepada/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
28 changes: 28 additions & 0 deletions keyboards/linworks/favepada/readme.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is missing bootloader instructions - please see /data/templates/keyboard/readme.md for reference.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:bump:

Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# linworks/favepada

![linworks/favepada front](https://imgur.com/tkKHcL2)
![linworks/favepada back](https://imgur.com/1x5UokR)
duilchoi marked this conversation as resolved.
Show resolved Hide resolved

*A short description of the keyboard/project*
duilchoi marked this conversation as resolved.
Show resolved Hide resolved

* Keyboard Maintainer: [keydler](https://github.com/duilchoi)
* Hardware Supported: *The PCBs, controllers supported*
* Hardware Availability: *Links to where you can find this hardware*
duilchoi marked this conversation as resolved.
Show resolved Hide resolved

Make example for this keyboard (after setting up your build environment):

make linworks/favepada:default

Flashing example for this keyboard:

make linworks/favepada:default:flash

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).

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
24 changes: 24 additions & 0 deletions keyboards/linworks/favepada/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# MCU name
MCU = STM32F072

# Bootloader selection
BOOTLOADER = stm32-dfu

# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = no
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812

# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
duilchoi marked this conversation as resolved.
Show resolved Hide resolved