Watch
0
0
Fork
You've already forked esp32-c_its-companion
0

Adapt to new screen, add more GNSS and timing info

This commit is contained in:
Jannik Beyerstedt 2026-08-01 21:31:04 +02:00
commit 1a5012dec5
4 changed files with 299 additions and 68 deletions

View file

@ -154,8 +154,8 @@ async fn main(spawner: Spawner) -> ! {
let mut spi_buffer = [0_u8; 512];
#[cfg(feature = "screen")]
let mut screen = {
// 172*320px in landscape orientation
let (display, width, height) = screen::make_small_display(
// 240*280px in portrait orientation
let (display, size) = screen::make_large_display(
peripherals.GPIO8,
peripherals.GPIO10,
peripherals.GPIO7,
@ -167,7 +167,7 @@ async fn main(spawner: Spawner) -> ! {
)
.expect("Fatal error building screen");
let mut screen = screen::Handler::new(display, width, height);
let mut screen = screen::Handler::new(display, size);
let _ = screen
.update(screen::ScreenState::Initial)
@ -381,6 +381,15 @@ async fn main(spawner: Spawner) -> ! {
}
Err(err) => warn!("{err}"),
}
// update GNSS HB on screen
let _ = screen.update_gnss(pvt);
}
ublox::proto27::PacketRef::AckNak(nak) => {
error!("UBX: {nak:?}");
}
ublox::proto27::PacketRef::AckAck(ack) => {
info!("UBX: {ack:?}");
}
_ => {
println!("UBX: {packet_ref:?}");
@ -460,8 +469,9 @@ async fn main(spawner: Spawner) -> ! {
if let applogic::GlosaOutput::Locked(data) = &glosa_data {
for sig in &data.signal_groups {
let duration_str = sig
.end_sec
.map(|v| alloc::format!("for {v} s"))
.timing
.as_ref()
.map(|v| alloc::format!("for {} s", v.min_end_sec))
.unwrap_or_default();
println!("GLOSA: {} {} {duration_str}", sig.maneuver, sig.phase);
}