firmware for my Touchscreen E-Paper Input Module for Framework Laptop 16
0

Configure Feed

Select the types of activity you want to include in your feed.

1use crate::syscall; 2use crate::syscall::SyscallNumber; 3 4#[repr(usize)] 5#[derive(Copy, Clone, Debug, Eq, PartialEq, strum::FromRepr)] 6#[cfg_attr(feature = "defmt", derive(defmt::Format))] 7pub enum FlashSyscall { 8 Erase = 0, 9 Program = 1, 10 EraseAndProgram = 2, 11 InvalidateCache = 3, 12} 13 14pub unsafe fn erase(start_addr: u32, len: u32) { 15 syscall!( 16 SyscallNumber::Flash, 17 in FlashSyscall::Erase, 18 in start_addr, 19 in len, 20 ); 21} 22 23pub unsafe fn program(start_addr: u32, data: &[u8]) { 24 syscall!( 25 SyscallNumber::Flash, 26 in FlashSyscall::Program, 27 in start_addr, 28 in data.len(), 29 in data.as_ptr(), 30 ); 31} 32 33pub unsafe fn erase_and_program(start_addr: u32, data: &[u8]) { 34 syscall!( 35 SyscallNumber::Flash, 36 in FlashSyscall::EraseAndProgram, 37 in start_addr, 38 in data.len(), 39 in data.as_ptr(), 40 ); 41} 42 43pub unsafe fn invalidate_cache() { 44 syscall!( 45 SyscallNumber::Flash, 46 in FlashSyscall::InvalidateCache, 47 ); 48}