diff --git a/firmware/acid-firmware/src/main.rs b/firmware/acid-firmware/src/main.rs index 49549be..ce0c9e0 100644 --- a/firmware/acid-firmware/src/main.rs +++ b/firmware/acid-firmware/src/main.rs @@ -222,7 +222,7 @@ async fn test_bounce_buffers( WIDTH_STORED_PIXELS * BYTES_PER_PIXEL, ROWS_PER_WINDOW, burst_config, - false, + true, ); buf.send().await; error!("TEST BOUNCE BUFFERS SECTION DONE"); @@ -600,8 +600,8 @@ async fn main_task(peripherals: MainPeripherals) { info!("ST7701S-based LCD display initialized!"); - test_bounce_buffers(peripherals.DMA_CH0, peripherals.SPI2, st7701s).await; - return; + // test_bounce_buffers(peripherals.DMA_CH0, peripherals.SPI2, st7701s).await; + // return; // RMK config let vial_config = VialConfig::new(VIAL_KEYBOARD_ID, VIAL_KEYBOARD_DEF, &[(0, 0), (1, 1)]); @@ -687,6 +687,10 @@ async fn main_task(peripherals: MainPeripherals) { peripherals.DMA_CH0, peripherals.SPI2.into(), st7701s.dpi, + BurstConfig { + internal_memory: InternalBurstConfig::Enabled, + external_memory: ExternalBurstConfig::Size32, + }, // The burst config (16/32/64) doesn't seem to affect the alignment of the row size. // // | | ( displayed range ) | @@ -708,7 +712,6 @@ async fn main_task(peripherals: MainPeripherals) { info!("Framebuffer created!"); - // let window_size = [framebuffer.width, framebuffer.height]; let window_size = [framebuffer.height, framebuffer.width]; let framebuffer_ptr = FramebufferPtr(framebuffer.as_target_pixels() as _); diff --git a/firmware/acid-firmware/src/ui/dpi.rs b/firmware/acid-firmware/src/ui/dpi.rs index be38a6e..cf0339e 100644 --- a/firmware/acid-firmware/src/ui/dpi.rs +++ b/firmware/acid-firmware/src/ui/dpi.rs @@ -890,6 +890,7 @@ impl Framebuffer { channel: DMA_CH0<'static>, peripheral_src: AnySpi<'static>, peripheral_dst: Dpi<'static, Blocking>, + burst_config: BurstConfig, front_porch_pixels: u32, width_pixels: u32, height_pixels: u32, @@ -898,10 +899,6 @@ impl Framebuffer { ) -> Self { const BYTES_PER_PIXEL: usize = core::mem::size_of::(); let buffer_size = width_pixels as usize * height_pixels as usize * BYTES_PER_PIXEL; - let burst_config = BurstConfig { - internal_memory: InternalBurstConfig::Enabled, - external_memory: ExternalBurstConfig::Size64, - }; let psram_buffer = Box::leak(allocate_dma_buffer_in( buffer_size, burst_config, diff --git a/firmware/acid-firmware/ui/main.slint b/firmware/acid-firmware/ui/main.slint index c8fa9f3..d929197 100644 --- a/firmware/acid-firmware/ui/main.slint +++ b/firmware/acid-firmware/ui/main.slint @@ -31,7 +31,7 @@ export component AppWindow inherits Window { in property dummy_identicon_symbols: "╔╚╰═█░▒▓☺☻╗╝╯═◈◎◐◑◒◓☀☁☂☃☄★☆☎☏⎈⌂☘☢☣☕⌚⌛⏰⚡⛄⛅☔♔♕♖♗♘♙♚♛♜♝♞♟♨♩♪♫⚐⚑⚔⚖⚙⚠⌘⏎✄✆✈✉✌"; default-font-family: "IBM Plex Mono"; default-font-size: 16pt; - height: 368px; + height: 8px + 240px + 8px; width: 960px; forward-focus: focus-scope; in property app-state: AppState.login; @@ -69,9 +69,9 @@ export component AppWindow inherits Window { } vertical-box := VerticalBox { width: 960px; - height: 368px; + height: 8px + 240px + 8px; padding: 0px; - padding-top: 120px; + padding-top: 8px; padding-bottom: 8px; Rectangle { height: 240px;