OpenVoiceOS / ovos-plugin-manager

plugin manager for OpenVoiceOS , STT/TTS/Wakewords that can be used anywhere
Apache License 2.0
12 stars 11 forks source link

More LED Animations #94

Open NeonDaniel opened 1 year ago

NeonDaniel commented 1 year ago

As noted in https://github.com/OpenVoiceOS/ovos-plugin-manager/pull/88, there are several events that should trigger some LED activity. We should pick some default animations to implement for different events:

Current Animations: chase breathe fill refill (fill color, fill black, repeat) bounce (fill color, reverse fill black, repeat) blink

Potential Animations: Comet (Dinkum example), like chase but with fade effects Alternating (alternate even/odd leds) ...

JarbasAl commented 1 year ago

i think we should have 2 blinks, a constant blink and a blink 3 and sleep in between, blink3 is what already exists with minor tweaks

we also want to abstract "speak" animation and expose it to individual plugins, this could be a blink with random sleeps or something

if led support sbrightness, would be nice to have a "decay" animations, all leds going 0 -> 100 -> 0 brightness on a loop. this would be nice for boot/shutdown events

NeonDaniel commented 1 year ago

i think we should have 2 blinks, a constant blink and a blink 3 and sleep in between, blink3 is what already exists with minor tweaks

The blink animation is configurable for number of blinks https://github.com/OpenVoiceOS/ovos-plugin-manager/blob/dev/ovos_plugin_manager/hardware/led/animations.py#L194

Constant blinking would be a good one too; we could handle -1 or 0 as a special case in the existing blink animation or spec a separate one..

we also want to abstract "speak" animation and expose it to individual plugins, this could be a blink with random sleeps or something

I could take the same approach as utterance and let some animation be specified to run on speak? Or would it be better to tie it to audio_output_start/end?

if led support sbrightness, would be nice to have a "decay" animations, all leds going 0 -> 100 -> 0 brightness on a loop. this would be nice for boot/shutdown events

This is the 'breathe' animation https://github.com/OpenVoiceOS/ovos-plugin-manager/blob/dev/ovos_plugin_manager/hardware/led/animations.py#L27 . Currently the default for listening (matches Mycroft Core and Dinkum behavior), so I'd like to pick something else for startup/shutdown

5trongthany commented 1 year ago

Would we be able to incorporate something like a yawn into a startup animation? I feel like that would be a decent way to signify starting up.