Do a static buffer allocation for the Canvas
This commit is contained in:
parent
85e5d0bb5e
commit
aea858dd17
@ -10,16 +10,18 @@
|
||||
|
||||
use alloc::{boxed::Box, vec::Vec};
|
||||
|
||||
pub struct Canvas<'a> {
|
||||
pub buf: &'a mut [u8],
|
||||
static mut BUF: [u8; 163200] = [0; 163200];
|
||||
|
||||
pub struct Canvas {
|
||||
pub buf: &'static mut [u8; 163200],
|
||||
pub width: usize,
|
||||
}
|
||||
|
||||
impl<'a> Canvas<'a> {
|
||||
pub fn new(buf: &'a mut [u8], columns: usize) -> Self {
|
||||
impl Canvas {
|
||||
pub fn new() -> Self {
|
||||
Self {
|
||||
buf,
|
||||
width: columns,
|
||||
buf: unsafe { &mut BUF },
|
||||
width: 170,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -119,15 +119,18 @@ unsafe fn main() -> ! {
|
||||
|
||||
timer.delay_ms(1000);
|
||||
|
||||
/*
|
||||
let mut framebuf = [0; FRAMEBUF];
|
||||
let mut canvas = Canvas::new(&mut framebuf, COLUMNS);
|
||||
*/
|
||||
let mut canvas = Canvas::new();
|
||||
|
||||
loop {
|
||||
{
|
||||
let display = display.acquire();
|
||||
let _ = led.set_high();
|
||||
timer.delay_ms(100);
|
||||
display.send_buf(&canvas.buf);
|
||||
display.send_buf(canvas.buf);
|
||||
let _ = led.set_low();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user