Merge branch 'support-rm2fb' of https://github.com/danshick/reStream into danshick-support-rm2fb

This commit is contained in:
Rien Maertens
2021-01-28 23:24:58 +01:00
3 changed files with 40 additions and 17 deletions

View File

@ -8,6 +8,7 @@ use lz_fear::CompressionSettings;
use std::default::Default;
use std::fs::File;
use std::path::Path;
use std::io::{BufRead, BufReader, Read, Seek, SeekFrom, Write};
use std::net::{TcpStream, TcpListener};
use std::process::Command;
@ -31,20 +32,23 @@ fn main() -> Result<()> {
let ref opts: Opts = Opts::parse();
let version = remarkable_version()?;
let height = 1872;
let streamer = if version == "reMarkable 1.0\n" {
let width = 1408;
let height = 1872;
let bytes_per_pixel = 2;
ReStreamer::init("/dev/fb0", 0, width, height, bytes_per_pixel)?
} else if version == "reMarkable 2.0\n" {
let width = 1404;
let height = 1872;
let bytes_per_pixel = 1;
let pid = xochitl_pid()?;
let offset = rm2_fb_offset(pid)?;
let mem = format!("/proc/{}/mem", pid);
ReStreamer::init(&mem, offset, width, height, bytes_per_pixel)?
if Path::new("/dev/shm/swtfb.01").exists() {
let bytes_per_pixel = 2;
ReStreamer::init("/dev/shm/swtfb.01", 0, width, height, bytes_per_pixel)?
} else {
let bytes_per_pixel = 1;
let pid = xochitl_pid()?;
let offset = rm2_fb_offset(pid)?;
let mem = format!("/proc/{}/mem", pid);
ReStreamer::init(&mem, offset, width, height, bytes_per_pixel)?
}
} else {
Err(anyhow!(
"Unknown reMarkable version: {}\nPlease open a feature request to support your device.",