summaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
Diffstat (limited to 'loader')
-rw-r--r--loader/Cargo.toml12
-rw-r--r--loader/src/main.rs38
2 files changed, 50 insertions, 0 deletions
diff --git a/loader/Cargo.toml b/loader/Cargo.toml
new file mode 100644
index 0000000..ceb2655
--- /dev/null
+++ b/loader/Cargo.toml
@@ -0,0 +1,12 @@
+[package]
+name = "loader"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+framebuffer = "0.3.1"
+embedded-graphics = "0.7.1"
+embedded_graphics_framebuffer = "0.1.1"
+ctrlc = "3.4.2" \ No newline at end of file
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