Skip to content

Commit 277aae6

Browse files
Make atomscreen recovery
1 parent a7e384b commit 277aae6

29 files changed

Lines changed: 7075 additions & 39 deletions

Cargo.lock

Lines changed: 11 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,13 @@ optional_struct = "0"
2020
pc = ["slint/accessibility", "slint/backend-default", "slint/renderer-femtovg"]
2121

2222
[target.'cfg(unix)'.dependencies]
23-
evdev = "0"
24-
linuxfb = "0"
25-
memmap = "0"
23+
driver = { path = "./driver" }
2624

2725
[build-dependencies]
2826
slint-build = "1.12.1"
2927

3028
[workspace]
31-
members = ["moonraker-rs"]
29+
members = ["driver","moonraker-rs"]
3230

3331
[workspace.metadata.cross.target.armv7-unknown-linux-musleabihf]
3432
image = "cross-armv7:latest"

driver/Cargo.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[package]
2+
name = "driver"
3+
version = "0.1.0"
4+
edition = "2024"
5+
6+
[dependencies]
7+
slint = {version = "1", default-features = false, features = ["renderer-software", "compat-1-2", "std"]}
8+
9+
[target.'cfg(unix)'.dependencies]
10+
evdev = "0"
11+
linuxfb = "0"
12+
memmap = "0"

src/hardware/evdev_mt_touch_platform.rs renamed to driver/src/framebuffer/evdev_mt_touch_platform.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use slint::{
66
LogicalPosition,
77
};
88

9-
use crate::hardware::TouchPlatform;
9+
use crate::framebuffer::framebuffer_platform::TouchPlatform;
1010

1111
pub struct EvdevMtTouchPlatform {
1212
touch_device: RefCell<evdev::Device>,

src/hardware/framebuffer_platform.rs renamed to driver/src/framebuffer/framebuffer_platform.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use std::{
1919
time::{Duration, Instant},
2020
};
2121

22-
use crate::hardware::EvdevMtTouchPlatform;
22+
use crate::framebuffer::evdev_mt_touch_platform::EvdevMtTouchPlatform;
2323

2424
trait FramebufferHandler
2525
{
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
use evdev::Device;
2+
use linuxfb::Framebuffer;
3+
use slint::platform::Platform;
4+
5+
use crate::framebuffer::framebuffer_platform::FramebufferPlatform;
6+
7+
pub fn init_framebuffer(fb_path: String, event_path: Option<String>, double_buffering: bool) -> Box<dyn Platform + 'static> {
8+
let fb = Framebuffer::new(fb_path).expect("Failed to initialise framebuffer");
9+
10+
let touch_device = match event_path {
11+
Some(path) => Some(Device::open(&path).expect("Failed to open touch event device")),
12+
None => None,
13+
};
14+
15+
Box::new(FramebufferPlatform::new(fb, touch_device, double_buffering))
16+
}

driver/src/framebuffer/mod.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
mod evdev_mt_touch_platform;
2+
mod framebuffer_platform;
3+
mod init_framebuffer;
4+
5+
pub use init_framebuffer::init_framebuffer;

driver/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
mod framebuffer;
2+
3+
pub use framebuffer::*;

recovery/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/target

recovery/AdwaitaSans-Regular.ttf

859 KB
Binary file not shown.

0 commit comments

Comments
 (0)