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

Support all the 0.2 Ferris variants #12653

Merged
merged 3 commits into from
Aug 9, 2021
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
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
77 changes: 77 additions & 0 deletions keyboards/ferris/0_2/bling/bling.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
/*
Copyright 2021 Pierre Chevalier <[email protected]>

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 "quantum.h"

#include "drivers/issi/is31fl3731.h"

/*
| Left || Right |
| | 3 | | 0 || 0 | | 3 | |
| 5 | | | || | | | 6 |
| | | | || | | | |
| | | | 1 || 1 | | | |
| | 4 | | || | | 4 | |
| 6 | | | 2 || 2 | | | 5 |
*/
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, C9_10, C8_10, C7_10}, // Left RGB 5
{0, C9_12, C8_12, C7_12}, // Left RGB 3
{0, C9_15, C8_15, C6_14}, // Left RGB 0
{1, C1_2, C2_2, C4_3}, // Right RGB 0
{1, C1_5, C2_5, C3_5}, // Right RGB 3
{1, C1_8, C2_8, C3_8}, // Right RGB 6
{1, C1_7, C2_7, C3_7}, // Right RGB 5
{1, C1_6, C2_6, C3_6}, // Right RGB 4
{1, C1_3, C2_3, C3_3}, // Right RGB 1
{1, C1_4, C2_4, C3_4}, // Right RGB 2
{0, C9_13, C8_13, C7_13}, // Left RGB 2
{0, C9_14, C8_14, C7_14}, // Left RGB 1
{0, C9_11, C8_11, C7_11}, // Left RGB 4
{0, C9_9, C8_9, C7_9}, // Left RGB 6
};
// clang-format off
led_config_t g_led_config = {
// Key Matrix to LED Index
{
{},
}, {
// LED Index to Physical Position. The unit is roughly milimiters in the real world
// | Left || Right |
// x->| 10 | 32 | 64 || 160 | 192 | 214 |
// y |_____|_____|____||_____|_____|_____|
// 0 | | 1 | 2 || 3 | 4 | |
// 16 | 0 | | || | | 5 |
// 35 | | | 11 || 8 | | |
// 45 | | 12 | || | 7 | |
// 50 | 13 | | 10 || 9 | | 6 |
// 0 1 2 3 4 5
{10, 16}, {32, 0}, {64, 0}, {160, 0}, {192, 0}, {214, 16},
// 6 7 8 9
{214, 50}, {192, 45}, {160, 35}, {160, 50},
// 10 11 12 13
{64, 50}, {64, 35}, {32, 45}, {10, 50},
}, {
// LED Index to Flag
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
}
};
34 changes: 34 additions & 0 deletions keyboards/ferris/0_2/bling/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
Copyright 2021 Pierre Chevalier <[email protected]>

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

#undef PRODUCT_ID
#define PRODUCT_ID 0x0002
#undef PRODUCT
#define PRODUCT Ferris 0.2 - Bling



/* LED Drivers */
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110101
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 7
#define DRIVER_2_LED_TOTAL 7
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

16 changes: 16 additions & 0 deletions keyboards/ferris/0_2/bling/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Ferris 0.2 - Bling

![Ferris 0.2 - Bling](https://i.imgur.com/8dmm5Mrh.jpg)

Ferris 0.2 with RGB underglow.

* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
* Hardware Supported:
* Ferris 0.2 - Bling: (STM32F072 MCU on the left, MCP23017 on the right, IS31FL3731 led driver chip on each side)
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)

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

make ferris/0_2/bling: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).
2 changes: 2 additions & 0 deletions keyboards/ferris/0_2/bling/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3731
23 changes: 23 additions & 0 deletions keyboards/ferris/0_2/compact/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
Copyright 2021 Pierre Chevalier <[email protected]>

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

#undef PRODUCT_ID
#define PRODUCT_ID 0x0003
#undef PRODUCT
#define PRODUCT Ferris 0.2 - Compact
17 changes: 17 additions & 0 deletions keyboards/ferris/0_2/compact/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Ferris 0.2 - Compact

![Ferris 0.2 - Compact, top view](https://i.imgur.com/V2ZLKjih.jpg)
![Ferris 0.2 - Compact, bottom view](https://i.imgur.com/3icP8pzh.jpg)

Ferris 0.2 - Compact with Kailh Choc support and Choc spacing.

* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
* Hardware Supported:
* Ferris 0.2 - Compact: (STM32F072 MCU on the left, MCP23017 on the right)
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)

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

make ferris/0_2/compact: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).
Empty file.
4 changes: 2 additions & 2 deletions keyboards/ferris/0_2/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define VENDOR_ID 0xC2AB
#define PRODUCT_ID 0x0001
#define DEVICE_VER 0x0002
#define MANUFACTURER Pierre
#define PRODUCT Ferris the keeb
#define MANUFACTURER Cuddly Keyboards Ltd.
#define PRODUCT Ferris 0.2

/* key matrix size */
#define MATRIX_ROWS 8
Expand Down
23 changes: 23 additions & 0 deletions keyboards/ferris/0_2/high/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
Copyright 2021 Pierre Chevalier <[email protected]>

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

#undef PRODUCT_ID
#define PRODUCT_ID 0x0005
#undef PRODUCT
#define PRODUCT Ferris 0.2 - High
17 changes: 17 additions & 0 deletions keyboards/ferris/0_2/high/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Ferris 0.2 - High

![Ferris 0.2 - High, top view](https://i.imgur.com/aOqVmvph.jpg)
![Ferris 0.2 - High, bottom view](https://i.imgur.com/Nuqy5uJh.jpg)

Ferris 0.2 - High with Cherry MX support.

* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
* Hardware Supported:
* Ferris 0.2 - High: (STM32F072 MCU on the left, MCP23017 on the right)
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)

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

make ferris/0_2/high: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).
Empty file.
23 changes: 23 additions & 0 deletions keyboards/ferris/0_2/mini/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
Copyright 2021 Pierre Chevalier <[email protected]>

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

#undef PRODUCT_ID
#define PRODUCT_ID 0x0004
#undef PRODUCT
#define PRODUCT Ferris 0.2 - Mini
18 changes: 18 additions & 0 deletions keyboards/ferris/0_2/mini/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Ferris 0.2 - Mini

![Ferris 0.2 - Mini, top view](https://i.imgur.com/s3luptVh.jpg)
![Ferris 0.2 - Mini, bottom view](https://i.imgur.com/D4GxLQvh.jpg)


Ferris 0.2 - Mini with Kailh Choc Mini support and Choc spacing.

* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
* Hardware Supported:
* Ferris 0.2 - Mini: (STM32F072 MCU on the left, MCP23017 on the right)
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)

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

make ferris/0_2/mini: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).
Empty file.
5 changes: 2 additions & 3 deletions keyboards/ferris/0_2/readme.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
# Ferris 0.2

![Ferris 0.2 - bling, top view](https://i.imgur.com/LwKlmnzh.jpg)
![Ferris 0.2 - bling, bottom view](https://i.imgur.com/qGnYGVOh.jpg)
![Ferris 0.2 family](https://i.imgur.com/SDVOlyZ.jpg)

An stm32f072 based split 34 keys column staggered keyboard named and decorated after the rustlang mascott. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris)
pierrechevalier83 marked this conversation as resolved.
Show resolved Hide resolved

* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
* Hardware Supported:
* Ferris 0.2: stm32f072 chip. Comes in 4 variants: bling, mini, high and compact
* Hardware Availability: Pierre Chevalier has been selling keyboard kits (see the #ferris channel in the 40% discord chat). Wider availability is on the horizon.
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)

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

Expand Down
8 changes: 8 additions & 0 deletions keyboards/ferris/keymaps/default/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
#define TAPPING_FORCE_HOLD

// Underglow configuration
#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#endif
4 changes: 2 additions & 2 deletions keyboards/ferris/keymaps/default/keymap.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@
"KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
"KC_TRNS" , "KC_MINS" , "KC_BSLS" , "KC_GRV" , "KC_TRNS",

"KC_TRNS" , "KC_TRNS",
"KC_TRNS" , "KC_TRNS"
"RGB_RMOD" , "KC_TRNS",
"KC_TRNS" , "RGB_MOD"
],
["KC_TRNS" , "KC_COLN" , "KC_LT" , "KC_GT" , "KC_SCLN",
"KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
Expand Down
8 changes: 8 additions & 0 deletions keyboards/ferris/keymaps/pierrec83/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PERMISSIVE_HOLD
#define IGNORE_MOD_TAP_INTERRUPT
#define TAPPING_FORCE_HOLD

// Underglow configuration
#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#endif
4 changes: 2 additions & 2 deletions keyboards/ferris/keymaps/pierrec83/keymap.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@
"KC_TRNS" , "KC_HOME" , "KC_PGDN" , "KC_END" , "KC_TRNS",
"KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",

"LGUI(KC_LEFT)" , "KC_TRNS",
"KC_TRNS" , "LGUI(KC_RGHT)"
"RGB_RMOD" , "KC_TRNS",
"KC_TRNS" , "RGB_MOD"
],
["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
"KC_TRNS" , "KC_UNDS" , "KC_PIPE" , "KC_QUOT" , "KC_TRNS",
Expand Down
8 changes: 8 additions & 0 deletions keyboards/ferris/keymaps/test/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once

#define DEBUG_MATRIX_SCAN_RATE

// Underglow configuration
#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#endif
6 changes: 5 additions & 1 deletion keyboards/ferris/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@ A split 34 keys column staggered keyboard named and decorated after the rustlang
* Ferris 0.1 (With atmega32u4 chip. Comes in 4 variants: base, low, high and compact)
* Ferris 0.2 (With stm32f072 chip. Comes in 4 variants: bling, mini, high and compact)
* Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout)
* Hardware Availability: Pierre Chevalier has been selling keyboard kits (see the #ferris channel in the 40% discord chat). Wider availability is on the horizon.
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)

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

make ferris/0_1:default
make ferris/0_2:default
make ferris/0_2/bling:default
make ferris/0_2/compact:default
make ferris/0_2/mini:default
make ferris/0_2/high:default
make ferris/sweep:default:avrdude-split-right

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