1
0
Fork 0

Backlighting for JJ40 and underglow initialisation code (#2260)

* Cleanup Mechmini keymap. Once the custom RGB function is defined, there is no need to manually handle RGB code.

* Change default to KEYMAP_MIT, not KEYMAP_OFFSET

* Add custom RGB code for JJ40

* Reset Mechmini advertised power draw to 500. Will have to test actual maximum power draw later.

* RGB working on JJ40.

* Fix: saturation increase/decrease flipped

* Add new directory for my custom keymap with RGB keycodes

* Swap LAlt and LGUI

* Update JJ40 max power draw with measured value

* Update: fun40 rules.mk to enable underglow; earlier failed Travis CI

* Fix: init RGB LEDs on boot. Also added HHKB-like keymap for XD60.

* Super rudimentary backlight test, init RGB LEDs on boot

* Backlighting works - stays on for now

* Toggling working

* Now can override backlight.c functions. Problem was functions in backlight.c weren't called before due to a lack of matrix_scan_quantum() in matrix.c

* Timers not working

* Delete global.h

* Cleanup

* Compiles

* Good sign: LEDs stop working again

* Handle timer1 overflow

* Progress: fix: forgot to init

* Backlighting fully working now except breathing.

* Revert keymap to original keycodes

* Update XD60 keymap README

* Update JJ40 keymap with backlight toggles

* Breathing working just fine.

* Update references

* Add backlight_set() call

* Cleanup code to disable backlight

* Fix: does not compile

* Fix: missing call to rgblight_task.

* Testing with BACKLIGHT_BREATHING

* Cleanup

* Cleanup comments

* More commenting cleanup.

* Do not enable BACKLIGHT_BREATHING by default
This commit is contained in:
Kenneth Aloysius 2018-01-19 08:02:32 +11:00 committed by Jack Humbert
parent 5b22ddf526
commit 365b863578
18 changed files with 528 additions and 64 deletions

View file

@ -138,13 +138,13 @@ void reset_keyboard(void) {
clear_keyboard();
#if defined(MIDI_ENABLE) && defined(MIDI_BASIC)
process_midi_all_notes_off();
#endif
#endif
#if defined(AUDIO_ENABLE)
music_all_notes_off();
uint16_t timer_start = timer_read();
PLAY_SONG(goodbye_song);
shutdown_user();
while(timer_elapsed(timer_start) < 250)
while(timer_elapsed(timer_start) < 250)
wait_ms(1);
stop_all_notes();
#else
@ -885,6 +885,7 @@ void backlight_set(uint8_t level) {}
uint8_t backlight_tick = 0;
#ifndef BACKLIGHT_CUSTOM_DRIVER
void backlight_task(void) {
if ((0xFFFF >> ((BACKLIGHT_LEVELS - get_backlight_level()) * ((BACKLIGHT_LEVELS + 1) / 2))) & (1 << backlight_tick)) {
#if BACKLIGHT_ON_STATE == 0
@ -905,9 +906,12 @@ void backlight_task(void) {
}
backlight_tick = backlight_tick + 1 % 16;
}
#endif
#ifdef BACKLIGHT_BREATHING
#error "Backlight breathing only available with hardware PWM. Please disable."
#ifndef BACKLIGHT_CUSTOM_DRIVER
#error "Backlight breathing only available with hardware PWM. Please disable."
#endif
#endif
#else // pwm through timer
@ -935,6 +939,7 @@ static inline void set_pwm(uint16_t val) {
OCR1x = val;
}
#ifndef BACKLIGHT_CUSTOM_DRIVER
__attribute__ ((weak))
void backlight_set(uint8_t level) {
if (level > BACKLIGHT_LEVELS)
@ -952,6 +957,7 @@ void backlight_set(uint8_t level) {
}
void backlight_task(void) {}
#endif // BACKLIGHT_CUSTOM_DRIVER
#ifdef BACKLIGHT_BREATHING