Add RNG and buttons

master
D4VID 4 months ago
parent 1b16980ed7
commit 82e28a2a76

@ -68,3 +68,31 @@ impl NumberDisplay {
}
}
pub struct RNG {}
impl RNG {
#[inline]
pub fn next() -> u32 {
return unsafe { read_volatile(RANDOM_NUMBER_POINTER) };
}
#[inline]
pub fn next_range(min: u32, max: u32) -> u32 {
return RNG::next() % (max - min) + min;
}
}
pub struct Buttons {}
impl Buttons {
pub const RIGHT_RIGHT: u8 = 0b00000001;
pub const RIGHT_DOWN : u8 = 0b00000010;
pub const RIGHT_LEFT : u8 = 0b00000100;
pub const RIGHT_UP : u8 = 0b00001000;
pub const LEFT_RIGHT : u8 = 0b00010000;
pub const LEFT_DOWN : u8 = 0b00100000;
pub const LEFT_LEFT : u8 = 0b01000000;
pub const LEFT_UP : u8 = 0b10000000;
#[inline]
pub fn read() -> u8 {
return unsafe { read_volatile(BUTTONS_POINTER) };
}
}

Loading…
Cancel
Save