diff options
author | MajorKoos <MajorKoos@users.noreply.github.com> | 2021-02-27 21:57:04 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-28 16:57:04 +1100 |
commit | b2a0e98a6018ad019533d98c0c9c8501cba933bc (patch) | |
tree | 46ef53bba774f433507fa57606cd892b98f7d5e1 /keyboards/oddforge/vea/vea.c | |
parent | 74372424ae4c5be0b9f43d59306467ed775f6042 (diff) |
OddForge VE.A (#11875)
* VEA Support
* Update LEDs to use QMK methods
* Enable Backlight
* Update Vendor ID
* Updates to enable split RGB
* Update readme
* Update to split RGB
* remove unnecessary reference
* Knight animation starts at the back
* remove hardcoded variable
Co-authored-by: Major Koos <MajorKoos@noreply.users.github.com>
Diffstat (limited to 'keyboards/oddforge/vea/vea.c')
-rw-r--r-- | keyboards/oddforge/vea/vea.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/keyboards/oddforge/vea/vea.c b/keyboards/oddforge/vea/vea.c new file mode 100644 index 0000000000..220083e403 --- /dev/null +++ b/keyboards/oddforge/vea/vea.c @@ -0,0 +1,33 @@ +/* +Copyright 2021 MajorKoos <github.com/majorkoos> + +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 +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ +#include "vea.h" + +void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds) { vea_setleds(start_led, num_leds); } + +void vea_rgb_init(void) { i2c_init(); } + +// Setleds for standard RGB +void vea_setleds(LED_TYPE *ledarray, uint16_t leds) { + static bool s_init = false; + if (!s_init) { + vea_rgb_init(); + s_init = true; + } + + i2c_transmit(WS2812_ADDRESS, (uint8_t *)ledarray, sizeof(LED_TYPE) * (leds >> 1), WS2812_TIMEOUT); + i2c_transmit(WS2812_ADDRESS_SPLIT, (uint8_t *)ledarray+(sizeof(LED_TYPE) * (leds >> 1)), sizeof(LED_TYPE) * (leds - (leds >> 1)), WS2812_TIMEOUT); +}; |