tasks: more Fract8 update
This commit is contained in:
@@ -54,10 +54,10 @@ impl<S: Debug + Surface<Uniforms = Uniforms, CoordinateSpace = SegmentSpace, Pix
|
||||
}
|
||||
|
||||
pub async fn flash_notification_color(&mut self, color: Rgb<u8>) {
|
||||
let fade_in = Animation::default().from(0).to(255).duration(Duration::from_millis(30));
|
||||
let pulse_out = Animation::default().from(255).to(60).duration(Duration::from_millis(100));
|
||||
let pulse_in = Animation::default().from(0).to(255).duration(Duration::from_millis(100));
|
||||
let fade_out = Animation::default().from(255).to(0).duration(Duration::from_secs(2));
|
||||
let fade_in = Animation::default().from(Fract8::MIN).to(Fract8::MAX).duration(Duration::from_millis(30));
|
||||
let pulse_out = Animation::default().from(Fract8::MAX).to(Fract8::from_raw(60)).duration(Duration::from_millis(100));
|
||||
let pulse_in = Animation::default().from(Fract8::MIN).to(Fract8::MAX).duration(Duration::from_millis(100));
|
||||
let fade_out = Animation::default().from(Fract8::MAX).to(Fract8::MIN).duration(Duration::from_secs(2));
|
||||
info!("Flashing notification {color}");
|
||||
|
||||
self.notification.set_visible(true);
|
||||
@@ -95,10 +95,10 @@ impl<S: Debug + Surface<Uniforms = Uniforms, CoordinateSpace = SegmentSpace, Pix
|
||||
info!("Activating scene {next_scene:?}");
|
||||
match next_scene {
|
||||
Scene::Ready => {
|
||||
let tail = Animation::default().duration(Duration::from_millis(300)).to(96);
|
||||
let panels = Animation::default().duration(Duration::from_millis(300)).to(128);
|
||||
let bg = Animation::default().duration(Duration::from_millis(300)).to(32);
|
||||
let motion = Animation::default().duration(Duration::from_secs(1)).to(0);
|
||||
let tail = Animation::default().duration(Duration::from_millis(300)).to(Fract8::from_raw(96));
|
||||
let panels = Animation::default().duration(Duration::from_millis(300)).to(Fract8::from_raw(128));
|
||||
let bg = Animation::default().duration(Duration::from_millis(300)).to(Fract8::from_raw(32));
|
||||
let motion = Animation::default().duration(Duration::from_secs(1)).to(Fract8::MIN);
|
||||
embassy_futures::join::join4(
|
||||
tail.apply(&mut self.tail),
|
||||
panels.apply(&mut self.panels),
|
||||
@@ -110,8 +110,8 @@ impl<S: Debug + Surface<Uniforms = Uniforms, CoordinateSpace = SegmentSpace, Pix
|
||||
Scene::Idle => {
|
||||
// FIXME: The safety UI task should handle setting the display brightness to 50% here
|
||||
self.background.set_shader(Thinking::default());
|
||||
let fg_fade = Animation::default().duration(Duration::from_millis(300)).to(0);
|
||||
let bg_fade = Animation::default().duration(Duration::from_millis(300)).to(128);
|
||||
let fg_fade = Animation::default().duration(Duration::from_millis(300)).to(Fract8::MIN);
|
||||
let bg_fade = Animation::default().duration(Duration::from_millis(300)).to(Fract8::from_raw(128));
|
||||
|
||||
// FIXME: The scenes shouldn't be touching the brake/headlights at all here. In fact, they should be dealt with in a whole separate task from the main UI, maybe running on the motion prediction executor
|
||||
embassy_futures::join::join4(
|
||||
@@ -180,7 +180,7 @@ impl<S: Debug + Surface<Uniforms = Uniforms, CoordinateSpace = SegmentSpace, Pix
|
||||
self.as_slice().set_rect(rect);
|
||||
}
|
||||
|
||||
fn set_opacity(&mut self, opacity: u8) {
|
||||
fn set_opacity(&mut self, opacity: Fract8) {
|
||||
self.as_slice().set_opacity(opacity);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user