mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
Cleanup and settings fixes
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
#include "SK6805.h"
|
||||
#include <furi_hal.h>
|
||||
|
||||
#define TAG "SK6805"
|
||||
|
||||
/* Настройки */
|
||||
#define SK6805_LED_PIN &led_pin //Порт подключения светодиодов
|
||||
|
||||
@@ -52,6 +54,7 @@ void SK6805_set_led_color(uint8_t led_index, uint8_t r, uint8_t g, uint8_t b) {
|
||||
led_buffer[led_index][0] = g;
|
||||
led_buffer[led_index][1] = r;
|
||||
led_buffer[led_index][2] = b;
|
||||
FURI_LOG_T(TAG, "led: %d, r: %d, g: %d, b: %d", led_index, r, g, b);
|
||||
}
|
||||
|
||||
void SK6805_update(void) {
|
||||
|
||||
@@ -138,10 +138,10 @@ RgbColor rgb_backlight_get_color(uint8_t index) {
|
||||
}
|
||||
|
||||
void rgb_backlight_set_rainbow_mode(RGBBacklightRainbowMode rainbow_mode) {
|
||||
if(rainbow_mode >= RGBBacklightRainbowModeCount) return;
|
||||
if(!rgb_state.settings_loaded) {
|
||||
rgb_backlight_load_settings();
|
||||
}
|
||||
if(rainbow_mode > (RGBBacklightRainbowModeCount - 1)) rainbow_mode = 0;
|
||||
rgb_settings.rainbow_mode = rainbow_mode;
|
||||
rgb_backlight_reconfigure(rgb_state.enabled);
|
||||
}
|
||||
@@ -168,6 +168,7 @@ uint8_t rgb_backlight_get_rainbow_speed() {
|
||||
}
|
||||
|
||||
void rgb_backlight_set_rainbow_interval(uint32_t rainbow_interval) {
|
||||
if(rainbow_interval < 100) return;
|
||||
if(!rgb_state.settings_loaded) {
|
||||
rgb_backlight_load_settings();
|
||||
}
|
||||
@@ -222,15 +223,12 @@ void rgb_backlight_update(uint8_t brightness, bool tick) {
|
||||
}
|
||||
|
||||
HsvColor hsv = rgb_state.rainbow_hsv;
|
||||
FURI_LOG_I("RgbBacklight", "hsv %d %d %d", hsv.h, hsv.s, hsv.v);
|
||||
RgbColor rgb = hsv2rgb(hsv);
|
||||
FURI_LOG_I("RgbBacklight", "rgb %d %d %d", rgb.r, rgb.g, rgb.b);
|
||||
|
||||
for(uint8_t i = 0; i < SK6805_get_led_count(); i++) {
|
||||
if(i && rgb_settings.rainbow_mode == RGBBacklightRainbowModeWave) {
|
||||
hsv.h += (50 * i);
|
||||
rgb = hsv2rgb(hsv);
|
||||
FURI_LOG_I("RgbBacklight", "rgb %d %d %d", rgb.r, rgb.g, rgb.b);
|
||||
}
|
||||
SK6805_set_led_color(i, rgb.r, rgb.g, rgb.b);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user