summaryrefslogtreecommitdiff
path: root/loader/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'loader/src/main.rs')
-rw-r--r--loader/src/main.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/loader/src/main.rs b/loader/src/main.rs
new file mode 100644
index 0000000..9ac920b
--- /dev/null
+++ b/loader/src/main.rs
@@ -0,0 +1,38 @@
+use embedded_graphics_framebuffer::FrameBufferDisplay;
+use embedded_graphics::{
+ pixelcolor::{Rgb888, RgbColor},
+ prelude::*,
+ primitives::{Circle, PrimitiveStyle},
+};
+use std::io;
+use embedded_graphics::mono_font::ascii::FONT_10X20;
+use embedded_graphics::mono_font::MonoTextStyle;
+use embedded_graphics::text::Text;
+use framebuffer::{Framebuffer, KdMode};
+use ctrlc;
+
+fn int_handler() {
+ return;
+}
+
+fn main() {
+ Framebuffer::set_kd_mode(KdMode::Graphics).unwrap();
+
+ ctrlc::set_handler(int_handler)
+ .expect("Error setting Ctrl-C handler");
+
+ let mut display = FrameBufferDisplay::new();
+ Circle::new(Point::new(((display.size().width / 2) - (96 / 2)) as i32, ((display.size().height / 2) - (96 / 2)) as i32), 96)
+ .into_styled(PrimitiveStyle::with_stroke(Rgb888::WHITE, 1))
+ .draw(&mut display).expect("Failed to draw");
+
+ let style = MonoTextStyle::new(&FONT_10X20, Rgb888::WHITE);
+
+ let text = "Starting up...";
+ Text::new(text, Point::new(((display.size().width / 2) - (((text.len() as u32) * 10) / 2)) as i32, (display.size().height - 64) as i32), style).draw(&mut display).expect("Failed to draw");
+
+ display.flush().unwrap();
+
+ io::stdin().read_line(&mut String::new()).unwrap();
+ Framebuffer::set_kd_mode(KdMode::Text).unwrap();
+} \ No newline at end of file