Browse Source

Clean up APA102 config and add DD mapping (#20159)

pull/20013/head
Ryan 1 year ago
committed by GitHub
parent
commit
65a80f411f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 106 additions and 53 deletions
  1. +3
    -0
      data/mappings/info_config.hjson
  2. +13
    -0
      data/schemas/keyboard.jsonschema
  3. +2
    -2
      docs/feature_rgb_matrix.md
  4. +3
    -2
      docs/feature_rgblight.md
  5. +13
    -13
      drivers/led/apa102.c
  6. +0
    -2
      keyboards/handwired/onekey/blackpill_f401/config.h
  7. +4
    -0
      keyboards/handwired/onekey/blackpill_f401/info.json
  8. +0
    -2
      keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h
  9. +4
    -0
      keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json
  10. +0
    -2
      keyboards/handwired/onekey/blackpill_f411/config.h
  11. +4
    -0
      keyboards/handwired/onekey/blackpill_f411/info.json
  12. +0
    -2
      keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
  13. +4
    -0
      keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json
  14. +0
    -2
      keyboards/handwired/onekey/bluepill/config.h
  15. +4
    -0
      keyboards/handwired/onekey/bluepill/info.json
  16. +0
    -2
      keyboards/handwired/onekey/bluepill_f103c6/config.h
  17. +4
    -0
      keyboards/handwired/onekey/bluepill_f103c6/info.json
  18. +0
    -2
      keyboards/handwired/onekey/bluepill_uf2boot/config.h
  19. +4
    -0
      keyboards/handwired/onekey/bluepill_uf2boot/info.json
  20. +0
    -3
      keyboards/handwired/onekey/elite_c/config.h
  21. +4
    -0
      keyboards/handwired/onekey/elite_c/info.json
  22. +0
    -1
      keyboards/handwired/onekey/evb_wb32f3g71/config.h
  23. +4
    -0
      keyboards/handwired/onekey/evb_wb32f3g71/info.json
  24. +0
    -1
      keyboards/handwired/onekey/evb_wb32fq95/config.h
  25. +4
    -0
      keyboards/handwired/onekey/evb_wb32fq95/info.json
  26. +0
    -2
      keyboards/handwired/onekey/nucleo_f446re/config.h
  27. +4
    -0
      keyboards/handwired/onekey/nucleo_f446re/info.json
  28. +0
    -2
      keyboards/handwired/onekey/nucleo_l432kc/config.h
  29. +4
    -0
      keyboards/handwired/onekey/nucleo_l432kc/info.json
  30. +0
    -3
      keyboards/handwired/onekey/promicro/config.h
  31. +4
    -0
      keyboards/handwired/onekey/promicro/info.json
  32. +0
    -2
      keyboards/handwired/onekey/proton_c/config.h
  33. +4
    -0
      keyboards/handwired/onekey/proton_c/info.json
  34. +0
    -2
      keyboards/handwired/onekey/sipeed_longan_nano/config.h
  35. +4
    -0
      keyboards/handwired/onekey/sipeed_longan_nano/info.json
  36. +0
    -2
      keyboards/handwired/onekey/stm32f0_disco/config.h
  37. +4
    -0
      keyboards/handwired/onekey/stm32f0_disco/info.json
  38. +0
    -2
      keyboards/handwired/onekey/teensy_2/config.h
  39. +4
    -0
      keyboards/handwired/onekey/teensy_2/info.json
  40. +0
    -2
      keyboards/handwired/onekey/teensy_2pp/config.h
  41. +4
    -0
      keyboards/handwired/onekey/teensy_2pp/info.json

+ 3
- 0
data/mappings/info_config.hjson View File

@ -10,6 +10,9 @@
// deprecated: Default `false`. Set to `true` to turn on warning when a value exists
// invalid: Default `false`. Set to `true` to generate errors when a value exists
// replace_with: use with a key marked deprecated or invalid to designate a replacement
"APA102_DI_PIN": {"info_key": "apa102.data_pin"},
"APA102_CI_PIN": {"info_key": "apa102.clock_pin"},
"APA102_DEFAULT_BRIGHTNESS": {"info_key": "apa102.default_brightness", "value_type": "int"},
"AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
"BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
"BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"},


+ 13
- 0
data/schemas/keyboard.jsonschema View File

@ -96,6 +96,19 @@
"unknown"
]
},
"apa102": {
"type": "object",
"additionalProperties": false,
"properties": {
"data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"default_brightness": {
"type": "integer",
"minimum": 0,
"maximum": 31
}
}
},
"audio": {
"type": "object",
"additionalProperties": false,


+ 2
- 2
docs/feature_rgb_matrix.md View File

@ -383,9 +383,9 @@ Configure the hardware via your `config.h`:
```c
// The pin connected to the data pin of the LEDs
#define RGB_DI_PIN D7
#define APA102_DI_PIN D7
// The pin connected to the clock pin of the LEDs
#define RGB_CI_PIN D6
#define APA102_CI_PIN D6
// The number of LEDs connected
#define RGB_MATRIX_LED_COUNT 70
```


+ 3
- 2
docs/feature_rgblight.md View File

@ -35,8 +35,9 @@ At minimum you must define the data pin your LED strip is connected to, and the
|Define |Description |
|---------------|---------------------------------------------------------------------------------------------------------|
|`RGB_DI_PIN` |The pin connected to the data pin of the LEDs |
|`RGB_CI_PIN` |The pin connected to the clock pin of the LEDs (APA102 only) |
|`RGB_DI_PIN` |The pin connected to the data pin of the LEDs (WS2812) |
|`APA102_DI_PIN`|The pin connected to the data pin of the LEDs (APA102) |
|`APA102_CI_PIN`|The pin connected to the clock pin of the LEDs (APA102) |
|`RGBLED_NUM` |The number of LEDs connected |
|`RGBLED_SPLIT` |(Optional) For split keyboards, the number of LEDs connected on each half directly wired to `RGB_DI_PIN` |


+ 13
- 13
drivers/led/apa102.c View File

@ -27,7 +27,7 @@
# if defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(GD32VF103)
# define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) // This calculates how many loops of 4 nops to run to delay 100 ns
# else
# error("APA102_NOPS configuration required")
# error APA102_NOPS configuration required
# define APA102_NOPS 0 // this just pleases the compile so the above error is easier to spot
# endif
# endif
@ -43,14 +43,14 @@
} \
} while (0)
#define APA102_SEND_BIT(byte, bit) \
do { \
writePin(RGB_DI_PIN, (byte >> bit) & 1); \
io_wait; \
writePinHigh(RGB_CI_PIN); \
io_wait; \
writePinLow(RGB_CI_PIN); \
io_wait; \
#define APA102_SEND_BIT(byte, bit) \
do { \
writePin(APA102_DI_PIN, (byte >> bit) & 1); \
io_wait; \
writePinHigh(APA102_CI_PIN); \
io_wait; \
writePinLow(APA102_CI_PIN); \
io_wait; \
} while (0)
uint8_t apa102_led_brightness = APA102_DEFAULT_BRIGHTNESS;
@ -77,11 +77,11 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) {
}
void static apa102_init(void) {
setPinOutput(RGB_DI_PIN);
setPinOutput(RGB_CI_PIN);
setPinOutput(APA102_DI_PIN);
setPinOutput(APA102_CI_PIN);
writePinLow(RGB_DI_PIN);
writePinLow(RGB_CI_PIN);
writePinLow(APA102_DI_PIN);
writePinLow(APA102_CI_PIN);
}
void apa102_set_brightness(uint8_t brightness) {


+ 0
- 2
keyboards/handwired/onekey/blackpill_f401/config.h View File

@ -23,8 +23,6 @@
#define ADC_PIN A0
#define RGB_CI_PIN A2
#define SOLENOID_PIN B12
#define SOLENOID_PINS { B12, B13, B14, B15 }
#define SOLENOID_PINS_ACTIVE_STATE { high, high, low }

+ 4
- 0
keyboards/handwired/onekey/blackpill_f401/info.json View File

@ -10,5 +10,9 @@
},
"rgblight": {
"pin": "A1"
},
"apa102": {
"data_pin": "A1",
"clock_pin": "A2"
}
}

+ 0
- 2
keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h View File

@ -23,8 +23,6 @@
#define ADC_PIN A0
#define RGB_CI_PIN A2
#define SOLENOID_PIN B12
#define SOLENOID_PINS { B12, B13, B14, B15 }
#define SOLENOID_PINS_ACTIVE_STATE { high, high, low }

+ 4
- 0
keyboards/handwired/onekey/blackpill_f401_tinyuf2/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "A1"
},
"apa102": {
"data_pin": "A1",
"clock_pin": "A2"
}
}

+ 0
- 2
keyboards/handwired/onekey/blackpill_f411/config.h View File

@ -23,8 +23,6 @@
#define ADC_PIN A0
#define RGB_CI_PIN A2
#define SOLENOID_PIN B12
#define SOLENOID_PINS { B12, B13, B14, B15 }
#define SOLENOID_PINS_ACTIVE_STATE { high, high, low }

+ 4
- 0
keyboards/handwired/onekey/blackpill_f411/info.json View File

@ -10,5 +10,9 @@
},
"rgblight": {
"pin": "A1"
},
"apa102": {
"data_pin": "A1",
"clock_pin": "A2"
}
}

+ 0
- 2
keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h View File

@ -23,8 +23,6 @@
#define ADC_PIN A0
#define RGB_CI_PIN A2
#define SOLENOID_PIN B12
#define SOLENOID_PINS { B12, B13, B14, B15 }
#define SOLENOID_PINS_ACTIVE_STATE { high, high, low }

+ 4
- 0
keyboards/handwired/onekey/blackpill_f411_tinyuf2/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "A1"
},
"apa102": {
"data_pin": "A1",
"clock_pin": "A2"
}
}

+ 0
- 2
keyboards/handwired/onekey/bluepill/config.h View File

@ -21,5 +21,3 @@
#define BACKLIGHT_PWM_CHANNEL 1
#define ADC_PIN A0
#define RGB_CI_PIN A2

+ 4
- 0
keyboards/handwired/onekey/bluepill/info.json View File

@ -10,5 +10,9 @@
},
"rgblight": {
"pin": "A1"
},
"apa102": {
"data_pin": "A1",
"clock_pin": "A2"
}
}

+ 0
- 2
keyboards/handwired/onekey/bluepill_f103c6/config.h View File

@ -22,8 +22,6 @@
#define ADC_PIN A0
#define RGB_CI_PIN A2
// This code does not fit into the really small flash of STM32F103x6 together
// with CONSOLE_ENABLE=yes, and the debugging console is probably more
// important for the "onekey" testing firmware. In a real firmware you may be


+ 4
- 0
keyboards/handwired/onekey/bluepill_f103c6/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "A1"
},
"apa102": {
"data_pin": "A1",
"clock_pin": "A2"
}
}

+ 0
- 2
keyboards/handwired/onekey/bluepill_uf2boot/config.h View File

@ -21,5 +21,3 @@
#define BACKLIGHT_PWM_CHANNEL 1
#define ADC_PIN A0
#define RGB_CI_PIN A2

+ 4
- 0
keyboards/handwired/onekey/bluepill_uf2boot/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "A1"
},
"apa102": {
"data_pin": "A1",
"clock_pin": "A2"
}
}

+ 0
- 3
keyboards/handwired/onekey/elite_c/config.h View File

@ -16,9 +16,6 @@
#pragma once
#define RGB_CI_PIN B1
#define ADC_PIN F6
#define QMK_WAITING_TEST_BUSY_PIN F6


+ 4
- 0
keyboards/handwired/onekey/elite_c/info.json View File

@ -10,5 +10,9 @@
},
"rgblight": {
"pin": "F6"
},
"apa102": {
"data_pin": "F6",
"clock_pin": "B1"
}
}

+ 0
- 1
keyboards/handwired/onekey/evb_wb32f3g71/config.h View File

@ -11,7 +11,6 @@
#define BACKLIGHT_PAL_MODE 2
#define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4)))
#define RGB_CI_PIN B8
#define SOLENOID_PIN B12
#define SOLENOID_PINS { B12, B13, B14, B15 }


+ 4
- 0
keyboards/handwired/onekey/evb_wb32f3g71/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "A0"
},
"apa102": {
"data_pin": "A0",
"clock_pin": "B8"
}
}

+ 0
- 1
keyboards/handwired/onekey/evb_wb32fq95/config.h View File

@ -11,7 +11,6 @@
#define BACKLIGHT_PAL_MODE 2
#define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4)))
#define RGB_CI_PIN B8
#define SOLENOID_PIN B12
#define SOLENOID_PINS { B12, B13, B14, B15 }


+ 4
- 0
keyboards/handwired/onekey/evb_wb32fq95/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "A0"
},
"apa102": {
"data_pin": "A0",
"clock_pin": "B8"
}
}

+ 0
- 2
keyboards/handwired/onekey/nucleo_f446re/config.h View File

@ -7,8 +7,6 @@
#define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE 2
#define RGB_CI_PIN B13
#define ADC_PIN A0
#define SOLENOID_PINS { B12, B13, B14, B15 }


+ 4
- 0
keyboards/handwired/onekey/nucleo_f446re/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "A0"
},
"apa102": {
"data_pin": "A0",
"clock_pin": "B13"
}
}

+ 0
- 2
keyboards/handwired/onekey/nucleo_l432kc/config.h View File

@ -7,6 +7,4 @@
#define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE 2
#define RGB_CI_PIN B13
#define ADC_PIN A0

+ 4
- 0
keyboards/handwired/onekey/nucleo_l432kc/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "A0"
},
"apa102": {
"data_pin": "A0",
"clock_pin": "B13"
}
}

+ 0
- 3
keyboards/handwired/onekey/promicro/config.h View File

@ -16,9 +16,6 @@
#pragma once
#define RGB_CI_PIN B1
#define ADC_PIN F6
#define QMK_WAITING_TEST_BUSY_PIN F6


+ 4
- 0
keyboards/handwired/onekey/promicro/info.json View File

@ -10,5 +10,9 @@
},
"rgblight": {
"pin": "F6"
},
"apa102": {
"data_pin": "F6",
"clock_pin": "B1"
}
}

+ 0
- 2
keyboards/handwired/onekey/proton_c/config.h View File

@ -21,6 +21,4 @@
#define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE 2
#define RGB_CI_PIN B13
#define ADC_PIN A0

+ 4
- 0
keyboards/handwired/onekey/proton_c/info.json View File

@ -10,5 +10,9 @@
},
"rgblight": {
"pin": "A0"
},
"apa102": {
"data_pin": "A0",
"clock_pin": "B13"
}
}

+ 0
- 2
keyboards/handwired/onekey/sipeed_longan_nano/config.h View File

@ -20,8 +20,6 @@
#define BACKLIGHT_PWM_DRIVER PWMD5 /* GD32 numbering scheme starts from 0, TIMER4 on GD32 boards is TIMER5 on STM32 boards. */
#define BACKLIGHT_PWM_CHANNEL 2 /* GD32 numbering scheme starts from 0, Channel 1 on GD32 boards is Channel 2 on STM32 boards. */
#define RGB_CI_PIN B13
#define ADC_PIN A0
#define I2C1_CLOCK_SPEED 1000000 /* GD32VF103 supports fast mode plus. */


+ 4
- 0
keyboards/handwired/onekey/sipeed_longan_nano/info.json View File

@ -12,5 +12,9 @@
},
"rgblight": {
"pin": "A2"
},
"apa102": {
"data_pin": "A2",
"clock_pin": "B13"
}
}

+ 0
- 2
keyboards/handwired/onekey/stm32f0_disco/config.h View File

@ -22,5 +22,3 @@
#define BACKLIGHT_PAL_MODE 0
#define ADC_PIN A0
#define RGB_CI_PIN B13

+ 4
- 0
keyboards/handwired/onekey/stm32f0_disco/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "B15"
},
"apa102": {
"data_pin": "B15",
"clock_pin": "B13"
}
}

+ 0
- 2
keyboards/handwired/onekey/teensy_2/config.h View File

@ -19,7 +19,5 @@
#define ADC_PIN F6
#define RGB_CI_PIN F7
#define QMK_WAITING_TEST_BUSY_PIN F6
#define QMK_WAITING_TEST_YIELD_PIN F7

+ 4
- 0
keyboards/handwired/onekey/teensy_2/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "F6"
},
"apa102": {
"data_pin": "F6",
"clock_pin": "F7"
}
}

+ 0
- 2
keyboards/handwired/onekey/teensy_2pp/config.h View File

@ -19,7 +19,5 @@
#define ADC_PIN F6
#define RGB_CI_PIN F7
#define QMK_WAITING_TEST_BUSY_PIN F6
#define QMK_WAITING_TEST_YIELD_PIN F7

+ 4
- 0
keyboards/handwired/onekey/teensy_2pp/info.json View File

@ -11,5 +11,9 @@
},
"rgblight": {
"pin": "F6"
},
"apa102": {
"data_pin": "F6",
"clock_pin": "F7"
}
}

Loading…
Cancel
Save