summaryrefslogtreecommitdiff
path: root/keyboards/input_club/infinity60/led
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/input_club/infinity60/led')
-rw-r--r--keyboards/input_club/infinity60/led/config.h15
-rw-r--r--keyboards/input_club/infinity60/led/halconf.h8
-rw-r--r--keyboards/input_club/infinity60/led/info.json94
-rw-r--r--keyboards/input_club/infinity60/led/led.c83
-rw-r--r--keyboards/input_club/infinity60/led/rules.mk3
5 files changed, 199 insertions, 4 deletions
diff --git a/keyboards/input_club/infinity60/led/config.h b/keyboards/input_club/infinity60/led/config.h
new file mode 100644
index 0000000000..035cce88e9
--- /dev/null
+++ b/keyboards/input_club/infinity60/led/config.h
@@ -0,0 +1,15 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define LED_MATRIX_LED_COUNT 63
+
+#define IS31FL3731_DRIVER_COUNT 1
+#define LED_DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
+
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_SCL_PIN B0
+#define I2C1_SDA_PIN B1
+#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
+#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
diff --git a/keyboards/input_club/infinity60/led/halconf.h b/keyboards/input_club/infinity60/led/halconf.h
new file mode 100644
index 0000000000..50c7d00001
--- /dev/null
+++ b/keyboards/input_club/infinity60/led/halconf.h
@@ -0,0 +1,8 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define HAL_USE_I2C TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/input_club/infinity60/led/info.json b/keyboards/input_club/infinity60/led/info.json
index 7a9b924a71..f16554d245 100644
--- a/keyboards/input_club/infinity60/led/info.json
+++ b/keyboards/input_club/infinity60/led/info.json
@@ -3,5 +3,97 @@
"cols": ["C0", "C1", "C2", "C3", "C4", "C5", "C6", "C7", "D0"],
"rows": ["D1", "D2", "D3", "D4", "D5", "D6", "D7"]
},
- "diode_direction": "COL2ROW"
+ "diode_direction": "COL2ROW",
+ "features": {
+ "led_matrix": true
+ },
+ "led_matrix": {
+ "driver": "is31fl3731",
+ "animations": {
+ "breathing": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "solid_reactive_simple": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "solid_splash": true,
+ "solid_multisplash": true,
+ "wave_left_right": true,
+ "wave_up_down": true
+ },
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4},
+ {"matrix": [1, 0], "x": 144, "y": 0, "flags": 4},
+ {"matrix": [1, 1], "x": 160, "y": 0, "flags": 4},
+ {"matrix": [1, 2], "x": 176, "y": 0, "flags": 4},
+ {"matrix": [1, 3], "x": 192, "y": 0, "flags": 4},
+ {"matrix": [1, 4], "x": 208, "y": 0, "flags": 1},
+ {"matrix": [1, 5], "x": 224, "y": 0, "flags": 1},
+
+ {"matrix": [1, 6], "x": 0, "y": 16, "flags": 1},
+ {"matrix": [1, 7], "x": 17, "y": 16, "flags": 4},
+ {"matrix": [1, 8], "x": 35, "y": 16, "flags": 4},
+ {"matrix": [2, 0], "x": 52, "y": 16, "flags": 4},
+ {"matrix": [2, 1], "x": 69, "y": 16, "flags": 4},
+ {"matrix": [2, 2], "x": 86, "y": 16, "flags": 4},
+ {"matrix": [2, 3], "x": 103, "y": 16, "flags": 4},
+ {"matrix": [2, 4], "x": 121, "y": 16, "flags": 4},
+ {"matrix": [2, 5], "x": 138, "y": 16, "flags": 4},
+ {"matrix": [2, 6], "x": 155, "y": 16, "flags": 4},
+ {"matrix": [2, 7], "x": 172, "y": 16, "flags": 4},
+ {"matrix": [2, 8], "x": 190, "y": 16, "flags": 4},
+ {"matrix": [3, 0], "x": 207, "y": 16, "flags": 4},
+ {"matrix": [3, 1], "x": 224, "y": 16, "flags": 4},
+
+ {"matrix": [3, 2], "x": 0, "y": 32, "flags": 9},
+ {"matrix": [3, 3], "x": 19, "y": 32, "flags": 4},
+ {"matrix": [3, 4], "x": 37, "y": 32, "flags": 4},
+ {"matrix": [3, 5], "x": 56, "y": 32, "flags": 4},
+ {"matrix": [3, 6], "x": 75, "y": 32, "flags": 4},
+ {"matrix": [3, 7], "x": 93, "y": 32, "flags": 4},
+ {"matrix": [3, 8], "x": 112, "y": 32, "flags": 4},
+ {"matrix": [4, 0], "x": 131, "y": 32, "flags": 4},
+ {"matrix": [4, 1], "x": 149, "y": 32, "flags": 4},
+ {"matrix": [4, 2], "x": 168, "y": 32, "flags": 4},
+ {"matrix": [4, 3], "x": 187, "y": 32, "flags": 4},
+ {"matrix": [4, 4], "x": 205, "y": 32, "flags": 4},
+ {"matrix": [4, 5], "x": 224, "y": 32, "flags": 1},
+
+ {"matrix": [4, 6], "x": 0, "y": 48, "flags": 1},
+ {"matrix": [4, 7], "x": 19, "y": 48, "flags": 4},
+ {"matrix": [4, 8], "x": 37, "y": 48, "flags": 4},
+ {"matrix": [5, 0], "x": 56, "y": 48, "flags": 4},
+ {"matrix": [5, 1], "x": 75, "y": 48, "flags": 4},
+ {"matrix": [5, 2], "x": 93, "y": 48, "flags": 4},
+ {"matrix": [5, 3], "x": 112, "y": 48, "flags": 4},
+ {"matrix": [5, 4], "x": 131, "y": 48, "flags": 4},
+ {"matrix": [5, 5], "x": 149, "y": 48, "flags": 4},
+ {"matrix": [5, 6], "x": 168, "y": 48, "flags": 4},
+ {"matrix": [5, 7], "x": 187, "y": 48, "flags": 4},
+ {"matrix": [5, 8], "x": 205, "y": 48, "flags": 1},
+ {"matrix": [6, 0], "x": 224, "y": 48, "flags": 1},
+
+ {"matrix": [6, 1], "x": 0, "y": 64, "flags": 1},
+ {"matrix": [6, 2], "x": 32, "y": 64, "flags": 1},
+ {"matrix": [6, 3], "x": 64, "y": 64, "flags": 1},
+ {"matrix": [6, 4], "x": 96, "y": 64, "flags": 4},
+ {"matrix": [6, 5], "x": 128, "y": 64, "flags": 1},
+ {"matrix": [6, 6], "x": 160, "y": 64, "flags": 1},
+ {"matrix": [6, 7], "x": 192, "y": 64, "flags": 1},
+ {"matrix": [6, 8], "x": 224, "y": 64, "flags": 1}
+ ]
+ }
}
diff --git a/keyboards/input_club/infinity60/led/led.c b/keyboards/input_club/infinity60/led/led.c
new file mode 100644
index 0000000000..ef29d12a29
--- /dev/null
+++ b/keyboards/input_club/infinity60/led/led.c
@@ -0,0 +1,83 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+
+#ifdef LED_MATRIX_ENABLE
+const is31_led g_is31_leds[LED_MATRIX_LED_COUNT] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | LED address
+ * | | */
+ {0, C1_1}, // LED1
+ {0, C1_2}, // LED2
+ {0, C1_3}, // LED3
+ {0, C1_4}, // LED4
+ {0, C1_5}, // LED5
+ {0, C1_6}, // LED6
+ {0, C1_7}, // LED7
+ {0, C1_8}, // LED8
+
+ {0, C2_1}, // LED9
+ {0, C2_2}, // LED10
+ {0, C2_3}, // LED11
+ {0, C2_4}, // LED12
+ {0, C2_5}, // LED13
+ {0, C2_6}, // LED14/114
+ {0, C2_7}, // LED15
+ {0, C2_8}, // LED16
+
+ {0, C3_1}, // LED17
+ {0, C3_2}, // LED18
+ {0, C3_3}, // LED19
+ {0, C3_4}, // LED20
+ {0, C3_5}, // LED21
+ {0, C3_6}, // LED22
+ {0, C3_7}, // LED23
+ {0, C3_8}, // LED24
+
+ {0, C4_1}, // LED25
+ {0, C4_2}, // LED26
+ {0, C4_3}, // LED27
+ {0, C4_4}, // LED28
+ {0, C4_5}, // LED29
+ {0, C4_6}, // LED30
+ {0, C4_7}, // LED31
+ {0, C4_8}, // LED32
+
+ {0, C5_1}, // LED33
+ {0, C5_2}, // LED34
+ {0, C5_3}, // LED35
+ {0, C5_4}, // LED36
+ {0, C5_5}, // LED37
+ {0, C5_6}, // LED38
+ {0, C5_7}, // LED39
+ {0, C5_8}, // LED40
+
+ {0, C6_1}, // LED41
+ {0, C6_2}, // LED42
+ {0, C6_3}, // LED43
+ {0, C6_4}, // LED44
+ {0, C6_5}, // LED45
+ {0, C6_6}, // LED46
+ {0, C6_7}, // LED47
+ {0, C6_8}, // LED48
+
+ {0, C7_1}, // LED49
+ {0, C7_2}, // LED50
+ {0, C7_3}, // LED51
+ {0, C7_4}, // LED52
+ {0, C7_5}, // LED53
+ {0, C7_6}, // LED54/154
+ {0, C7_7}, // LED55
+ {0, C7_8}, // LED56/156
+
+ {0, C8_1}, // LED57/157
+ {0, C8_2}, // LED58/158
+ {0, C8_3}, // LED59/159
+ {0, C8_4}, // LED60/160
+ {0, C8_5}, // LED61/161
+ {0, C8_6}, // LED62/162
+ {0, C8_7} // LED63/163
+};
+#endif
diff --git a/keyboards/input_club/infinity60/led/rules.mk b/keyboards/input_club/infinity60/led/rules.mk
index d48f3b73a5..e69de29bb2 100644
--- a/keyboards/input_club/infinity60/led/rules.mk
+++ b/keyboards/input_club/infinity60/led/rules.mk
@@ -1,3 +0,0 @@
-# project specific files
-SRC += led.c \
- led_controller.c \ No newline at end of file