imporve wavefom effect

This commit is contained in:
Wizmo2
2022-11-25 13:51:04 -05:00
parent c88680adab
commit 3f4bba2443
3 changed files with 18 additions and 13 deletions

View File

@@ -239,7 +239,7 @@ void led_vu_progress_bar(int pct, int bright) {
* gain - brightness (0-100), rate - color change speed (0-100)
* comet - alternate display mode
*/
void led_vu_spin_dial(int gain, int rate, bool comet)
void led_vu_spin_dial(int gain, int rate, int speed, bool comet)
{
if (!led_display) return;
@@ -270,18 +270,20 @@ void led_vu_spin_dial(int gain, int rate, bool comet)
uint8_t gp = g * gain / LED_VU_MAX;
uint8_t bp = b * gain / LED_VU_MAX;
// set led color_
led_strip_set_pixel_rgb(led_display, led_pos, rp, gp, bp);
// set led color
speed++;
if (comet) {
led_strip_clear(led_display);
led_strip_set_pixel_rgb(led_display, led_addr(led_pos-1), rp/2, gp/2, bp/2);
led_strip_set_pixel_rgb(led_display, led_addr(led_pos-2), rp/4, gp/4, bp/4);
led_strip_set_pixel_rgb(led_display, led_addr(led_pos-3), rp/8, gp/8, bp/8);
led_strip_set_pixel_rgb(led_display, led_addr(led_pos-4), 0, 0, 0);
//led_strip_set_pixel_rgb(led_display, led_addr(led_pos-4), 0, 0, 0);
}
for (int i = 0; i < speed; i++) {
led_strip_set_pixel_rgb(led_display, led_pos, rp, gp, bp);
led_pos = led_addr(++led_pos);
}
// next led
led_pos = led_addr(++led_pos);
led_strip_show(led_display);
}

View File

@@ -23,7 +23,7 @@ extern struct led_strip_t* led_display;
uint16_t led_vu_string_length();
void led_vu_progress_bar(int pct, int bright);
void led_vu_display(int vu_l, int vu_r, int bright, bool comet);
void led_vu_spin_dial(int gain, int rate, bool comet);
void led_vu_spin_dial(int gain, int rate, int speed, bool comet);
void led_vu_spectrum(uint8_t* data, int bright, int length, int style);
void led_vu_color_all(uint8_t r, uint8_t g, uint8_t b);
void led_vu_data(uint8_t* data, uint16_t offset, uint16_t length);