mirror of
https://github.com/whowechina/iidx_pico.git
synced 2025-02-12 00:53:00 +01:00
TT theme setup
This commit is contained in:
parent
8f04b6e049
commit
13f9e8ff2b
@ -105,14 +105,12 @@ static void core0_loop()
|
|||||||
uint16_t angle = turntable_read() >> 4;
|
uint16_t angle = turntable_read() >> 4;
|
||||||
if (setup_run(buttons, angle)) {
|
if (setup_run(buttons, angle)) {
|
||||||
rgb_force_display(setup_led_button, setup_led_tt);
|
rgb_force_display(setup_led_button, setup_led_tt);
|
||||||
report_usb_hid();
|
} else {
|
||||||
continue;
|
hid_report.buttons = buttons;
|
||||||
|
rgb_set_button_light(buttons);
|
||||||
|
save_loop();
|
||||||
}
|
}
|
||||||
|
|
||||||
hid_report.buttons = buttons;
|
|
||||||
report_usb_hid();
|
report_usb_hid();
|
||||||
rgb_set_button_light(buttons);
|
|
||||||
save_loop();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ uint32_t rgb_max_level = 255;
|
|||||||
static void trap() {}
|
static void trap() {}
|
||||||
static tt_effect_t effects[10] = { {trap, trap, trap, trap, 0} };
|
static tt_effect_t effects[10] = { {trap, trap, trap, trap, 0} };
|
||||||
static size_t effect_num = 0;
|
static size_t effect_num = 0;
|
||||||
static size_t current_effect = 0;
|
static unsigned current_effect = 0;
|
||||||
|
|
||||||
#define _MAP_LED(x) _MAKE_MAPPER(x)
|
#define _MAP_LED(x) _MAKE_MAPPER(x)
|
||||||
#define _MAKE_MAPPER(x) MAP_LED_##x
|
#define _MAKE_MAPPER(x) MAP_LED_##x
|
||||||
@ -97,6 +97,8 @@ void set_effect(uint32_t index)
|
|||||||
if (index < effect_num) {
|
if (index < effect_num) {
|
||||||
current_effect = index;
|
current_effect = index;
|
||||||
effects[current_effect].init(effects[current_effect].context);
|
effects[current_effect].init(effects[current_effect].context);
|
||||||
|
} else {
|
||||||
|
current_effect = effect_num;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -256,7 +258,6 @@ void rgb_init()
|
|||||||
ws2812_program_init(pio0, 0, pio0_offset, BUTTON_RGB_PIN, 800000, false);
|
ws2812_program_init(pio0, 0, pio0_offset, BUTTON_RGB_PIN, 800000, false);
|
||||||
|
|
||||||
/* We don't start the tt LED program yet */
|
/* We don't start the tt LED program yet */
|
||||||
set_effect(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void follow_mode_change()
|
static void follow_mode_change()
|
||||||
@ -276,6 +277,7 @@ static void follow_mode_change()
|
|||||||
void rgb_update()
|
void rgb_update()
|
||||||
{
|
{
|
||||||
follow_mode_change();
|
follow_mode_change();
|
||||||
|
set_effect(iidx_cfg->tt_led.effect);
|
||||||
if (time_us_64() > force_expire_time) {
|
if (time_us_64() > force_expire_time) {
|
||||||
effect_update();
|
effect_update();
|
||||||
button_lights_update();
|
button_lights_update();
|
||||||
@ -289,4 +291,5 @@ void rgb_reg_tt_effect(tt_effect_t effect)
|
|||||||
{
|
{
|
||||||
effects[effect_num] = effect;
|
effects[effect_num] = effect;
|
||||||
effect_num++;
|
effect_num++;
|
||||||
|
effects[effect_num] = (tt_effect_t) { trap, trap, trap, trap, 0 };
|
||||||
}
|
}
|
||||||
|
@ -541,7 +541,7 @@ static void key_theme_key_change()
|
|||||||
check_exit();
|
check_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void key_them_loop()
|
static void key_theme_loop()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 11; i++) {
|
for (int i = 0; i < 11; i++) {
|
||||||
if (blink_slow) {
|
if (blink_slow) {
|
||||||
@ -552,6 +552,24 @@ static void key_them_loop()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void tt_theme_key_change()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 7; i++) {
|
||||||
|
if (JUST_PRESSED(KEY_1 << i)) {
|
||||||
|
iidx_cfg->tt_led.effect = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
check_exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void tt_theme_loop()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 7; i++) {
|
||||||
|
setup_led_button[i] = iidx_cfg->tt_led.effect == i ? SILVER : 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
mode_func key_change;
|
mode_func key_change;
|
||||||
mode_func rotate;
|
mode_func rotate;
|
||||||
@ -561,8 +579,8 @@ static struct {
|
|||||||
[MODE_NONE] = { nop, nop, none_loop, nop},
|
[MODE_NONE] = { nop, nop, none_loop, nop},
|
||||||
[MODE_TURNTABLE] = { tt_key_change, tt_rotate, tt_loop, tt_enter},
|
[MODE_TURNTABLE] = { tt_key_change, tt_rotate, tt_loop, tt_enter},
|
||||||
[MODE_ANALOG] = { analog_key_change, analog_rotate, analog_loop, analog_enter},
|
[MODE_ANALOG] = { analog_key_change, analog_rotate, analog_loop, analog_enter},
|
||||||
[MODE_TT_THEME] = { nop, nop, check_exit, nop},
|
[MODE_TT_THEME] = { tt_theme_key_change, nop, tt_theme_loop, nop},
|
||||||
[MODE_KEY_THEME] = { key_theme_key_change, nop, key_them_loop, nop},
|
[MODE_KEY_THEME] = { key_theme_key_change, nop, key_theme_loop, nop},
|
||||||
[MODE_KEY_OFF] = { key_change, key_rotate, key_loop, key_enter},
|
[MODE_KEY_OFF] = { key_change, key_rotate, key_loop, key_enter},
|
||||||
[MODE_KEY_ON] = { key_change, key_rotate, key_loop, key_enter},
|
[MODE_KEY_ON] = { key_change, key_rotate, key_loop, key_enter},
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user