Move settings load
This commit is contained in:
parent
74fd4fc997
commit
c5c21022a2
3 changed files with 36 additions and 18 deletions
|
@ -55,4 +55,5 @@ target_sources_ifdef(CONFIG_ZMK_BLE app PRIVATE src/hog.c)
|
|||
target_sources_ifdef(CONFIG_ZMK_RGB_UNDERGLOW app PRIVATE src/rgb_underglow.c)
|
||||
target_sources(app PRIVATE src/endpoints.c)
|
||||
target_sources(app PRIVATE src/hid_listener.c)
|
||||
target_sources(app PRIVATE src/settings.c)
|
||||
target_sources(app PRIVATE src/main.c)
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include <logging/log.h>
|
||||
|
||||
#include <drivers/led_strip.h>
|
||||
#include <device.h>
|
||||
|
||||
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
|
||||
|
||||
|
@ -106,6 +105,16 @@ static struct led_rgb hsb_to_rgb(struct led_hsb hsb)
|
|||
return rgb;
|
||||
}
|
||||
|
||||
static void zmk_rgb_underglow_off()
|
||||
{
|
||||
for (int i=0; i<STRIP_NUM_PIXELS; i++)
|
||||
{
|
||||
pixels[i] = (struct led_rgb){ r: 0, g: 0, b: 0};
|
||||
}
|
||||
|
||||
led_strip_update_rgb(led_strip, pixels, STRIP_NUM_PIXELS);
|
||||
}
|
||||
|
||||
static void zmk_rgb_underglow_effect_solid()
|
||||
{
|
||||
for (int i=0; i<STRIP_NUM_PIXELS; i++)
|
||||
|
@ -199,6 +208,15 @@ K_WORK_DEFINE(underglow_work, zmk_rgb_underglow_tick);
|
|||
|
||||
static void zmk_rgb_underglow_tick_handler(struct k_timer *timer)
|
||||
{
|
||||
if (!state.on)
|
||||
{
|
||||
zmk_rgb_underglow_off();
|
||||
|
||||
k_timer_stop(timer);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
k_work_submit(&underglow_work);
|
||||
}
|
||||
|
||||
|
@ -221,20 +239,12 @@ static int zmk_rgb_underglow_init(struct device *_arg)
|
|||
animation_speed: CONFIG_ZMK_RGB_UNDERGLOW_SPD_START,
|
||||
current_effect: CONFIG_ZMK_RGB_UNDERGLOW_EFF_START,
|
||||
animation_step: 0,
|
||||
#ifdef CONFIG_ZMK_RGB_UNDERGLOW_ON_START
|
||||
on: true
|
||||
#else
|
||||
on: false
|
||||
#endif
|
||||
on: IS_ENABLED(CONFIG_ZMK_RGB_UNDERGLOW_ON_START)
|
||||
};
|
||||
|
||||
settings_subsys_init();
|
||||
settings_register(&rgb_conf);
|
||||
settings_load();
|
||||
|
||||
if (state.on) {
|
||||
k_timer_start(&underglow_tick, K_NO_WAIT, K_MSEC(50));
|
||||
}
|
||||
k_timer_start(&underglow_tick, K_NO_WAIT, K_MSEC(50));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -274,13 +284,7 @@ int zmk_rgb_underglow_toggle()
|
|||
state.animation_step = 0;
|
||||
k_timer_start(&underglow_tick, K_NO_WAIT, K_MSEC(50));
|
||||
} else {
|
||||
|
||||
for (int i=0; i<STRIP_NUM_PIXELS; i++)
|
||||
{
|
||||
pixels[i] = (struct led_rgb){ r: 0, g: 0, b: 0};
|
||||
}
|
||||
|
||||
led_strip_update_rgb(led_strip, pixels, STRIP_NUM_PIXELS);
|
||||
zmk_rgb_underglow_off();
|
||||
|
||||
k_timer_stop(&underglow_tick);
|
||||
}
|
||||
|
|
13
app/src/settings.c
Normal file
13
app/src/settings.c
Normal file
|
@ -0,0 +1,13 @@
|
|||
#include <device.h>
|
||||
#include <init.h>
|
||||
#include <kernel.h>
|
||||
#include <settings/settings.h>
|
||||
|
||||
static int zmk_settings_init(struct device *_arg)
|
||||
{
|
||||
return settings_load();
|
||||
}
|
||||
|
||||
SYS_INIT(zmk_settings_init,
|
||||
APPLICATION,
|
||||
CONFIG_APPLICATION_INIT_PRIORITY);
|
Loading…
Reference in a new issue