summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--builddefs/converters.mk11
-rw-r--r--drivers/led/aw20216.c19
-rw-r--r--keyboards/1upkeyboards/pi60/info.json112
-rw-r--r--keyboards/1upkeyboards/pi60_hse/info.json98
-rw-r--r--keyboards/1upkeyboards/pi60_rgb/info.json92
-rw-r--r--keyboards/40percentclub/nori/info.json192
-rw-r--r--keyboards/4pplet/bootleg/rev_a/info.json2
-rw-r--r--keyboards/4pplet/eagle_viper_rep/rev_a/info.json2
-rw-r--r--keyboards/abacus/info.json76
-rw-r--r--keyboards/at_at/660m/info.json2
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/info.json144
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/info.json148
-rw-r--r--keyboards/clueboard/17/info.json32
-rw-r--r--keyboards/clueboard/2x1800/2018/info.json698
-rw-r--r--keyboards/clueboard/2x1800/2019/info.json2190
-rw-r--r--keyboards/clueboard/2x1800/2021/info.json698
-rw-r--r--keyboards/clueboard/60/info.json480
-rw-r--r--keyboards/clueboard/66/rev1/info.json330
-rw-r--r--keyboards/clueboard/66/rev2/info.json330
-rw-r--r--keyboards/clueboard/66/rev3/info.json330
-rw-r--r--keyboards/clueboard/66/rev4/info.json330
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/info.json212
-rw-r--r--keyboards/clueboard/66_hotswap/prototype/info.json216
-rw-r--r--keyboards/clueboard/california/info.json20
-rw-r--r--keyboards/clueboard/card/info.json18
-rw-r--r--keyboards/converter/a1200/info.json2
-rw-r--r--keyboards/cosmo65/info.json2
-rw-r--r--keyboards/cradio/info.json68
-rw-r--r--keyboards/crbn/info.json276
-rw-r--r--keyboards/dm9records/plaid/info.json188
-rw-r--r--keyboards/dm9records/tartan/info.json2
-rw-r--r--keyboards/dtisaac/dosa40rgb/info.json4
-rw-r--r--keyboards/ducky/one2mini/1861st/info.json284
-rw-r--r--keyboards/ducky/one2sf/1967st/info.json114
-rw-r--r--keyboards/dztech/tofu/ii/v1/info.json106
-rw-r--r--keyboards/dztech/tofu/jr/v1/info.json114
-rw-r--r--keyboards/exclusive/e7v1se/info.json140
-rw-r--r--keyboards/for_science/info.json92
-rw-r--r--keyboards/handwired/co60/info.json4
-rw-r--r--keyboards/handwired/hnah40rgb/info.json4
-rw-r--r--keyboards/handwired/pill60/info.json100
-rw-r--r--keyboards/handwired/prime_exl/info.json2
-rw-r--r--keyboards/handwired/pytest/basic/info.json2
-rw-r--r--keyboards/handwired/pytest/info.json2
-rw-r--r--keyboards/handwired/pytest/macro/info.json2
-rw-r--r--keyboards/handwired/reclined/info.json96
-rw-r--r--keyboards/handwired/wakizashi40/info.json66
-rw-r--r--keyboards/hotdox76v2/info.json288
-rw-r--r--keyboards/ibnuda/squiggle/rev1/info.json18
-rw-r--r--keyboards/jels/jels60/info.json10
-rw-r--r--keyboards/jels/jels88/info.json2
-rw-r--r--keyboards/kbdfans/kbdpad/mk3/info.json40
-rw-r--r--keyboards/kbdfans/odinmini/info.json138
-rw-r--r--keyboards/keebio/rorschach/rev1/info.json104
-rw-r--r--keyboards/keebsforall/freebird60/info.json2
-rw-r--r--keyboards/keycapsss/plaid_pad/info.json32
-rw-r--r--keyboards/ktec/ergodone/info.json560
-rw-r--r--keyboards/lfkeyboards/lfk65_hs/info.json2
-rw-r--r--keyboards/linworks/em8/info.json16
-rw-r--r--keyboards/lucid/kbd8x_hs/info.json2
-rw-r--r--keyboards/masterworks/classy_tkl/rev_a/info.json6
-rw-r--r--keyboards/maxr1998/phoebe/info.json58
-rw-r--r--keyboards/maxr1998/pulse4k/info.json12
-rw-r--r--keyboards/metamechs/timberwolf/info.json4
-rw-r--r--keyboards/ms_sculpt/info.json14
-rw-r--r--keyboards/mt/split75/info.json2
-rw-r--r--keyboards/nemui/info.json6
-rw-r--r--keyboards/nyhxis/nfr_70/info.json4
-rw-r--r--keyboards/ortho5by12/info.json236
-rw-r--r--keyboards/pabile/p40/info.json80
-rw-r--r--keyboards/parallel/parallel_65/hotswap/info.json2
-rw-r--r--keyboards/parallel/parallel_65/soldered/info.json4
-rw-r--r--keyboards/planck/info.json188
-rw-r--r--keyboards/planck/thk/info.json188
-rw-r--r--keyboards/ploopyco/trackball_thumb/info.json8
-rw-r--r--keyboards/portal_66/soldered/info.json4
-rw-r--r--keyboards/primekb/prime_e/info.json8
-rw-r--r--keyboards/singa/info.json2
-rw-r--r--keyboards/sneakbox/ava/info.json4
-rw-r--r--keyboards/spaceman/pancake/rev1/info.json188
-rw-r--r--keyboards/spacetime/info.json8
-rw-r--r--keyboards/sporewoh/banime40/info.json80
-rwxr-xr-xkeyboards/suavity/ehan/info.json6
-rw-r--r--keyboards/sx60/info.json8
-rw-r--r--keyboards/the_royal/liminal/info.json74
-rw-r--r--keyboards/tkc/candybar/righty/info.json2
-rw-r--r--keyboards/tkc/candybar/righty_r3/info.json2
-rw-r--r--keyboards/tominabox1/le_chiffre/info.json2
-rw-r--r--keyboards/tominabox1/underscore33/rev2/info.json2
-rw-r--r--keyboards/tweetydabird/lbs4/info.json8
-rw-r--r--keyboards/tweetydabird/lbs6/info.json14
-rw-r--r--keyboards/tzarc/ghoul/info.json82
-rw-r--r--keyboards/vertex/arc60h/info.json4
-rw-r--r--keyboards/viktus/sp111/info.json6
-rw-r--r--keyboards/wuque/promise87/ansi/info.json38
-rw-r--r--keyboards/wuque/promise87/wkl/info.json6
-rw-r--r--keyboards/xiudi/xd60/info.json12
-rw-r--r--lib/python/qmk/c_parse.py21
-rw-r--r--readme.md4
99 files changed, 5520 insertions, 5543 deletions
diff --git a/builddefs/converters.mk b/builddefs/converters.mk
index 17b1c3b6ee..a3548afd60 100644
--- a/builddefs/converters.mk
+++ b/builddefs/converters.mk
@@ -7,7 +7,12 @@ endif
# TODO: opt in rather than assume everything uses a pro micro
PIN_COMPATIBLE ?= promicro
+
+# Remove whitespace from any rule.mk provided vars
+# - env cannot be overwritten but cannot have whitespace anyway
+CONVERT_TO:=$(strip $(CONVERT_TO))
ifneq ($(CONVERT_TO),)
+
# stash so we can overwrite env provided vars if needed
ACTIVE_CONVERTER=$(CONVERT_TO)
@@ -23,13 +28,13 @@ ifneq ($(CONVERT_TO),)
TARGET := $(TARGET)_$(CONVERT_TO)
# Configure any defaults
- OPT_DEFS += -DCONVERT_TO_$(strip $(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]'))
- OPT_DEFS += -DCONVERTER_TARGET=\"$(strip $(CONVERT_TO))\"
+ OPT_DEFS += -DCONVERT_TO_$(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]')
+ OPT_DEFS += -DCONVERTER_TARGET=\"$(CONVERT_TO)\"
OPT_DEFS += -DCONVERTER_ENABLED
VPATH += $(CONVERTER)
# Configure for "alias" - worst case it produces an idential define
- OPT_DEFS += -DCONVERT_TO_$(strip $(shell echo $(ACTIVE_CONVERTER) | tr '[:lower:]' '[:upper:]'))
+ OPT_DEFS += -DCONVERT_TO_$(shell echo $(ACTIVE_CONVERTER) | tr '[:lower:]' '[:upper:]')
# Finally run any converter specific logic
include $(CONVERTER)/converter.mk
diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c
index cbb0b60774..7895f1497b 100644
--- a/drivers/led/aw20216.c
+++ b/drivers/led/aw20216.c
@@ -1,4 +1,5 @@
/* Copyright 2021 Jasper Chan
+ * 2023 Huckies <https://github.com/Huckies>
*
* 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
@@ -15,6 +16,7 @@
*/
#include "aw20216.h"
+#include "wait.h"
#include "spi_master.h"
/* The AW20216 appears to be somewhat similar to the IS31FL743, although quite
@@ -34,6 +36,8 @@
#define AW_REG_CONFIGURATION 0x00 // PG0
#define AW_REG_GLOBALCURRENT 0x01 // PG0
+#define AW_REG_RESET 0x2F // PG0
+#define AW_REG_MIXFUNCTION 0x46 // PG0
// Default value of AW_REG_CONFIGURATION
// D7:D4 = 1011, SWSEL (SW1~SW12 active)
@@ -41,7 +45,10 @@
// D2:D1 = 00, OSDE (open/short detection enable)
// D0 = 0, CHIPEN (write 1 to enable LEDs when hardware enable pulled high)
#define AW_CONFIG_DEFAULT 0b10110000
+#define AW_MIXCR_DEFAULT 0b00000000
+#define AW_RESET_CMD 0xAE
#define AW_CHIPEN 1
+#define AW_LPEN (0x01 << 1)
#define AW_PWM_REGISTER_COUNT 216
@@ -94,6 +101,10 @@ static inline bool AW20216_write_register(pin_t cs_pin, uint8_t page, uint8_t re
return AW20216_write(cs_pin, page, reg, &value, 1);
}
+void AW20216_soft_reset(pin_t cs_pin) {
+ AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_RESET, AW_RESET_CMD);
+}
+
static void AW20216_init_scaling(pin_t cs_pin) {
// Set constant current to the max, control brightness with PWM
for (uint8_t i = 0; i < AW_PWM_REGISTER_COUNT; i++) {
@@ -111,15 +122,23 @@ static inline void AW20216_soft_enable(pin_t cs_pin) {
AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_CONFIGURATION, AW_CONFIG_DEFAULT | AW_CHIPEN);
}
+static inline void AW20216_auto_lowpower(pin_t cs_pin) {
+ AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_MIXFUNCTION, AW_MIXCR_DEFAULT | AW_LPEN);
+}
+
void AW20216_init(pin_t cs_pin, pin_t en_pin) {
setPinOutput(en_pin);
writePinHigh(en_pin);
+ AW20216_soft_reset(cs_pin);
+ wait_ms(2);
+
// Drivers should start with all scaling and PWM registers as off
AW20216_init_current_limit(cs_pin);
AW20216_init_scaling(cs_pin);
AW20216_soft_enable(cs_pin);
+ AW20216_auto_lowpower(cs_pin);
}
void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
diff --git a/keyboards/1upkeyboards/pi60/info.json b/keyboards/1upkeyboards/pi60/info.json
index d8a63123cf..ecb38b92b2 100644
--- a/keyboards/1upkeyboards/pi60/info.json
+++ b/keyboards/1upkeyboards/pi60/info.json
@@ -74,74 +74,74 @@
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
- { "label": "Esc", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
- { "label": "1", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
- { "label": "2", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
- { "label": "3", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
- { "label": "4", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
- { "label": "5", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
- { "label": "6", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
- { "label": "7", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
- { "label": "8", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
- { "label": "9", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
- { "label": "0", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
- { "label": "-", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
- { "label": "=", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
- { "label": "BS", "matrix": [0, 13], "w": 1, "x": 13, "y": 0 },
- { "label": "~", "matrix": [0, 14], "w": 1, "x": 14, "y": 0 },
+ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
+ { "label": "1", "matrix": [0, 1], "x": 1, "y": 0 },
+ { "label": "2", "matrix": [0, 2], "x": 2, "y": 0 },
+ { "label": "3", "matrix": [0, 3], "x": 3, "y": 0 },
+ { "label": "4", "matrix": [0, 4], "x": 4, "y": 0 },
+ { "label": "5", "matrix": [0, 5], "x": 5, "y": 0 },
+ { "label": "6", "matrix": [0, 6], "x": 6, "y": 0 },
+ { "label": "7", "matrix": [0, 7], "x": 7, "y": 0 },
+ { "label": "8", "matrix": [0, 8], "x": 8, "y": 0 },
+ { "label": "9", "matrix": [0, 9], "x": 9, "y": 0 },
+ { "label": "0", "matrix": [0, 10], "x": 10, "y": 0 },
+ { "label": "-", "matrix": [0, 11], "x": 11, "y": 0 },
+ { "label": "=", "matrix": [0, 12], "x": 12, "y": 0 },
+ { "label": "BS", "matrix": [0, 13], "x": 13, "y": 0 },
+ { "label": "~", "matrix": [0, 14], "x": 14, "y": 0 },
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
- { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
- { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
- { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
- { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
- { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
- { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
- { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
- { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
- { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
- { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
- { "label": "[", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
- { "label": "]", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
+ { "label": "[", "matrix": [1, 11], "x": 11.5, "y": 1 },
+ { "label": "]", "matrix": [1, 12], "x": 12.5, "y": 1 },
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
{ "label": "Caps", "matrix": [2, 15], "w": 1.75, "x": 0, "y": 2 },
- { "label": "A", "matrix":