summaryrefslogtreecommitdiffstats
path: root/keyboards/hillside/48/0_1
diff options
context:
space:
mode:
authormmccoyd <mmccoyd@users.noreply.github.com>2022-11-20 00:50:09 -0800
committerGitHub <noreply@github.com>2022-11-20 00:50:09 -0800
commit543a863766192eab626492ec4f48641743ffc797 (patch)
tree8be77287c17bfdc6bd5d78a866af2b3ee43cd492 /keyboards/hillside/48/0_1
parent66e4add9725bac525f9ca6e9e44ccbab2ded5412 (diff)
[Keyboard] Move Hillside out of handwired (#18751)
Co-authored-by: mmccoyd <mmccoyd@cs.berkley.edu>
Diffstat (limited to 'keyboards/hillside/48/0_1')
-rw-r--r--keyboards/hillside/48/0_1/0_1.c4
-rw-r--r--keyboards/hillside/48/0_1/0_1.h34
-rw-r--r--keyboards/hillside/48/0_1/config.h35
-rw-r--r--keyboards/hillside/48/0_1/info.json35
-rw-r--r--keyboards/hillside/48/0_1/rules.mk8
5 files changed, 116 insertions, 0 deletions
diff --git a/keyboards/hillside/48/0_1/0_1.c b/keyboards/hillside/48/0_1/0_1.c
new file mode 100644
index 0000000000..34659eb424
--- /dev/null
+++ b/keyboards/hillside/48/0_1/0_1.c
@@ -0,0 +1,4 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "0_1.h"
diff --git a/keyboards/hillside/48/0_1/0_1.h b/keyboards/hillside/48/0_1/0_1.h
new file mode 100644
index 0000000000..65e1aaee30
--- /dev/null
+++ b/keyboards/hillside/48/0_1/0_1.h
@@ -0,0 +1,34 @@
+// Copyright 2022 Michael McCoyd (@mmccoyd)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "quantum.h"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * 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.
+ */
+
+// clang-format off
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, LT4, RT4, R20, R21, R22, R23, R24, R25, \
+ L30, LT0, LT1, LT2, LT3, RT3, RT2, RT1, RT0, R30 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, LT0, LT1, LT2, LT3, LT4 }, \
+ { R05, R04, R03, R02, R01, R00 }, \
+ { R15, R14, R13, R12, R11, R10 }, \
+ { R25, R24, R23, R22, R21, R20 }, \
+ { R30, RT0, RT1, RT2, RT3, RT4 } \
+ }
+// clang-format on
diff --git a/keyboards/hillside/48/0_1/config.h b/keyboards/hillside/48/0_1/config.h
new file mode 100644
index 0000000000..c83b23d0e8
--- /dev/null
+++ b/keyboards/hillside/48/0_1/config.h
@@ -0,0 +1,35 @@
+// Copyright 2021 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 8
+#define MATRIX_COLS 6
+
+/* 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/48/0_1/info.json b/keyboards/hillside/48/0_1/info.json
new file mode 100644
index 0000000000..943982d65e
--- /dev/null
+++ b/keyboards/hillside/48/0_1/info.json
@@ -0,0 +1,35 @@
+{
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
+
+ "matrix_pins": {
+ "rows": ["D7", "E6", "B4", "B5"],
+ "cols": ["F6", "F7", "B1", "B3", "B2", "B6"]
+ },
+ "diode_direction": "COL2ROW",
+
+ "usb": {
+ "vid": "0xFEED",
+ "pid": "0x67C0",
+ "device_version": "0.0.1"
+ },
+
+ "features": {
+ "encoder": true,
+ "extrakey": true,
+ "rgblight": true
+ },
+ "split": {
+ "soft_serial_pin": "D2",
+ "main": "left"
+ },
+
+ "rgblight": {
+ "led_count": 5,
+ "pin": "D3",
+ "split": true,
+ "hue_steps": 8,
+ "saturation_steps": 8,
+ "brightness_steps": 8
+ }
+}
diff --git a/keyboards/hillside/48/0_1/rules.mk b/keyboards/hillside/48/0_1/rules.mk
new file mode 100644
index 0000000000..2501147ea8
--- /dev/null
+++ b/keyboards/hillside/48/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