[Keyboard] Move Hillside out of handwired (#18751)
Co-authored-by: mmccoyd <mmccoyd@cs.berkley.edu>
This commit is contained in:
21
keyboards/hillside/52/0_1/0_1.c
Normal file
21
keyboards/hillside/52/0_1/0_1.c
Normal file
@@ -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
|
||||
};
|
39
keyboards/hillside/52/0_1/0_1.h
Normal file
39
keyboards/hillside/52/0_1/0_1.h
Normal file
@@ -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
|
39
keyboards/hillside/52/0_1/config.h
Normal file
39
keyboards/hillside/52/0_1/config.h
Normal file
@@ -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
|
34
keyboards/hillside/52/0_1/info.json
Normal file
34
keyboards/hillside/52/0_1/info.json
Normal file
@@ -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
|
||||
}
|
||||
}
|
8
keyboards/hillside/52/0_1/rules.mk
Normal file
8
keyboards/hillside/52/0_1/rules.mk
Normal file
@@ -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
|
Reference in New Issue
Block a user