diff options
Diffstat (limited to 'keyboards/hillside/52/0_1')
-rw-r--r-- | keyboards/hillside/52/0_1/0_1.c | 21 | ||||
-rw-r--r-- | keyboards/hillside/52/0_1/0_1.h | 39 | ||||
-rw-r--r-- | keyboards/hillside/52/0_1/config.h | 39 | ||||
-rw-r--r-- | keyboards/hillside/52/0_1/info.json | 34 | ||||
-rw-r--r-- | keyboards/hillside/52/0_1/rules.mk | 8 |
5 files changed, 141 insertions, 0 deletions
diff --git a/keyboards/hillside/52/0_1/0_1.c b/keyboards/hillside/52/0_1/0_1.c new file mode 100644 index 0000000000..9a9808da8c --- /dev/null +++ b/keyboards/hillside/52/0_1/0_1.c @@ -0,0 +1,21 @@ +// Copyright 2022 Michael McCoyd (@mmccoyd) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "0_1.h" + +// Keymatrix spots to ignore, as one signals handedness and others have no key +const matrix_row_t matrix_mask[] = { +//c:543210 column id's + 0b111111, + 0b111111, + 0b111111, + 0b000111, + 0b111110, + +//c:543210 + 0b111111, + 0b111111, + 0b111111, + 0b000111, + 0b111110 +}; diff --git a/keyboards/hillside/52/0_1/0_1.h b/keyboards/hillside/52/0_1/0_1.h new file mode 100644 index 0000000000..f09d896938 --- /dev/null +++ b/keyboards/hillside/52/0_1/0_1.h @@ -0,0 +1,39 @@ +// Copyright 2021 Michael McCoyd (@mmccoyd) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +/* This is a mapping so keymap files can be more readable to humans. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts those identifiers into a two-dimensional array which + * represents the switch matrix. + * + * The identifiers could be anything, but for human sanity have the folowing form + * <Left or Right><Physical or thumb row><Circuit column counting from outer pinky> + */ + +// clang-format off +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \ + L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \ + L20, L21, L22, L23, L24, L25, LT5, RT5, R25, R24, R23, R22, R21, R20, \ + L30, L31, L32, LT1, LT2, LT3, LT4, RT4, RT3, RT2, RT1, R32, R31, R30 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, LT1, LT2, LT3, LT4, LT5 }, \ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, RT1, RT2, RT3, RT4, RT5 } \ + } +// clang-format on diff --git a/keyboards/hillside/52/0_1/config.h b/keyboards/hillside/52/0_1/config.h new file mode 100644 index 0000000000..23872aa37b --- /dev/null +++ b/keyboards/hillside/52/0_1/config.h @@ -0,0 +1,39 @@ +// Copyright 2022 Michael McCoyd (@mmccoyd) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 + +/* Split */ +#define SPLIT_HAND_MATRIX_GRID B5, F6 +#define MATRIX_MASKED + +/* Encoder */ +#define ENCODERS_PAD_A { F5 } +#define ENCODERS_PAD_B { F4 } +#define ENCODERS_PAD_A_RIGHT { F4 } +#define ENCODERS_PAD_B_RIGHT { F5 } + +#define RGBLIGHT_SLEEP + +/* Haptic hardware */ +// The Pimoroni is the likely hardware, for which these settings work +#define FB_ERM_LRA 1 +#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +/* Please refer to your datasheet for optimal setting for your specific motor.*/ +#define RATED_VOLTAGE 2 +#define V_PEAK 2.8 +#define V_RMS 2.0 +#define F_LRA 205 /* resonance freq */ + +/* Haptic waveforms */ +// Two mild waveforms +#define DRV_GREETING alert_750ms +#define DRV_MODE_DEFAULT sharp_tick3_60 diff --git a/keyboards/hillside/52/0_1/info.json b/keyboards/hillside/52/0_1/info.json new file mode 100644 index 0000000000..f5cf4486d5 --- /dev/null +++ b/keyboards/hillside/52/0_1/info.json @@ -0,0 +1,34 @@ +{ + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + + "matrix_pins": { + "rows": ["C6", "D7", "E6", "B4", "B5"], + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + + "usb": { + "vid": "0x4D4D", + "pid": "0x4852", + "device_version": "0.0.1" + }, + + "features": { + "encoder": true, + "extrakey": true, + "rgblight": true + }, + "split": { + "soft_serial_pin": "D2" + }, + + "rgblight": { + "led_count": 5, + "pin": "D3", + "split": true, + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8 + } +} diff --git a/keyboards/hillside/52/0_1/rules.mk b/keyboards/hillside/52/0_1/rules.mk new file mode 100644 index 0000000000..2501147ea8 --- /dev/null +++ b/keyboards/hillside/52/0_1/rules.mk @@ -0,0 +1,8 @@ +SPLIT_KEYBOARD = yes # Use shared split_common code +LTO_ENABLE = yes # Use link time optimization for smaller firmware + +# If you add a haptic board, +# enable it and set its driver here or in your keymap folder +# The Pimoroni board's driver is DRV2605L +# HAPTIC_ENABLE = yes # Enable haptic driver +# HAPTIC_DRIVER = DRV2605L |