quantum/rgblight.c change code order: move rgblight_update_sync()

This commit is contained in:
mtei 2019-03-10 13:57:06 +09:00
parent 793c7886a1
commit 97aff04a1d

View File

@ -34,6 +34,17 @@
#include "velocikey.h"
#endif
#ifdef RGBLIGHT_SPLIT
/* for split keyboard */
#define RGBLIGHT_SPLIT_SET_CHANGE_MODE rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_MODE
#define RGBLIGHT_SPLIT_SET_CHANGE_HSVS rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_HSVS
#define RGBLIGHT_SPLIT_SET_CHANGE_TIMER_ENABLE rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_TIMER
#else
#define RGBLIGHT_SPLIT_SET_CHANGE_MODE
#define RGBLIGHT_SPLIT_SET_CHANGE_HSVS
#define RGBLIGHT_SPLIT_SET_CHANGE_TIMER_ENABLE
#endif
#define _RGBM_SINGLE_STATIC(sym) RGBLIGHT_MODE_ ## sym,
#define _RGBM_SINGLE_DYNAMIC(sym)
#define _RGBM_MULTI_STATIC(sym) RGBLIGHT_MODE_ ## sym,
@ -153,45 +164,6 @@ void rgblight_check_config(void) {
}
#ifdef RGBLIGHT_SPLIT
/* for split keyboard */
#define RGBLIGHT_SPLIT_SET_CHANGE_MODE rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_MODE
#define RGBLIGHT_SPLIT_SET_CHANGE_HSVS rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_HSVS
#define RGBLIGHT_SPLIT_SET_CHANGE_TIMER_ENABLE rgblight_status.change_flags |= RGBLIGHT_STATUS_CHANGE_TIMER
/* for split keyboard slave side */
void rgblight_update_sync(rgblight_config_t *config, rgblight_status_t *status, bool write_to_eeprom) {
if( status->change_flags & RGBLIGHT_STATUS_CHANGE_MODE ) {
if (config->enable) {
rgblight_config.enable = 1; // == rgblight_enable_noeeprom();
rgblight_mode_noeeprom(config->mode);
} else {
rgblight_disable_noeeprom();
}
}
if( status->change_flags & RGBLIGHT_STATUS_CHANGE_HSVS ) {
rgblight_sethsv_eeprom_helper(config->hue, config->sat, config->val,
false);
// rgblight_config.speed = config->speed; // NEED???
}
#ifdef RGBLIGHT_USE_TIMER
if( status->change_flags & RGBLIGHT_STATUS_CHANGE_TIMER ) {
if (status->timer_enabled) {
rgblight_timer_enable();
} else {
rgblight_timer_disable();
}
}
#endif
}
#else
#define RGBLIGHT_SPLIT_SET_CHANGE_MODE
#define RGBLIGHT_SPLIT_SET_CHANGE_HSVS
#define RGBLIGHT_SPLIT_SET_CHANGE_TIMER_ENABLE
#endif
uint32_t eeconfig_read_rgblight(void) {
#if defined(__AVR__) || defined(STM32_EEPROM_ENABLE) || defined(PROTOCOL_ARM_ATSAM) || defined(EEPROM_SIZE)
return eeprom_read_dword(EECONFIG_RGBLIGHT);
@ -731,6 +703,33 @@ void rgblight_set(void) {
}
#endif
#ifdef RGBLIGHT_SPLIT
/* for split keyboard slave side */
void rgblight_update_sync(rgblight_config_t *config, rgblight_status_t *status, bool write_to_eeprom) {
if( status->change_flags & RGBLIGHT_STATUS_CHANGE_MODE ) {
if (config->enable) {
rgblight_config.enable = 1; // == rgblight_enable_noeeprom();
rgblight_mode_noeeprom(config->mode);
} else {
rgblight_disable_noeeprom();
}
}
if( status->change_flags & RGBLIGHT_STATUS_CHANGE_HSVS ) {
rgblight_sethsv_eeprom_helper(config->hue, config->sat, config->val, false);
// rgblight_config.speed = config->speed; // NEED???
}
#ifdef RGBLIGHT_USE_TIMER
if( status->change_flags & RGBLIGHT_STATUS_CHANGE_TIMER ) {
if (status->timer_enabled) {
rgblight_timer_enable();
} else {
rgblight_timer_disable();
}
}
#endif
}
#endif
#ifdef RGBLIGHT_USE_TIMER
// Animation timer -- AVR Timer3