Remove occurence of tokio in current main

This commit is contained in:
zaubentrucker 2025-02-20 20:52:32 +01:00
parent d84ed407ac
commit 6c6ab0e2d7
4 changed files with 27 additions and 57 deletions

View file

@ -6,7 +6,6 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
bytes = "1.2.1"
euclid = "0.22.7"
futures = "0.3.24"
gilrs = "0.10.1"
@ -15,6 +14,4 @@ lazy_static = "1.4.0"
regex = "1.6.0"
serialport = "4.6.1"
tokio = { version = "1.21.0", features = ["full"] }
tokio-serial = "5.4.3"
tokio-util = { version = "0.7.4", features = ["codec"] }

View file

@ -1,12 +1,8 @@
use std::ops::DerefMut;
use crate::gamepad::Gamepad;
use crate::printer::Printer;
use euclid::{vec3, Vector3D};
use futures::never::Never;
use std::sync::{Arc, Mutex};
use std::time::Duration;
use tokio::io::{AsyncRead, AsyncWrite};
use tokio::time::sleep;
/// Time that a single movement command should take
///

View file

@ -2,11 +2,9 @@
use futures::never::Never;
use red::gamepad::Gamepad;
use red::printer::Printer;
use red::jogger;
use std::path::Path;
use std::sync::{Arc, Mutex};
use tokio_serial::SerialPortInfo;
use red::printer::Printer;
use std::path::{Path};
fn main() -> Never {
jog()
@ -14,23 +12,30 @@ fn main() -> Never {
fn jog() -> Never {
let mut gamepad = Gamepad::new().expect("Failed to open gamepad");
println!("Entering App");
let serial_ports = tokio_serial::available_ports()
.expect("Could not list serial ports")
.into_iter()
.filter(|port| port.port_name.contains("ttyUSB"))
.collect::<Vec<SerialPortInfo>>();
let port = match serial_ports.len() {
1 => serial_ports.to_owned().pop().unwrap(),
0 => panic!("No USB serial port found! Is the green board disconnected or turned off?"),
_ => panic!("There are multiple USB serial ports and we have no way to check which one is the Marlin board!")
};
let port_path = Path::new("/dev").join(Path::new(&port.port_name).file_name().unwrap());
println!("Found serial port: {:?}", &port_path);
let printer = Printer::connect_to_path(&port_path.as_os_str().to_string_lossy()).unwrap();
let dev_dir = std::fs::read_dir(Path::new("/dev")).expect("Failed to open device directory");
let mut usb_tty_ports: Vec<String> = dev_dir
.filter_map(|entry| {
entry
.ok()
.and_then(|entry| entry.path().to_str().map(|s| s.to_string()))
.filter(|path| path.contains("ttyUSB"))
})
.collect();
if usb_tty_ports.len() > 1 {
eprintln!("Found more than one ttyUSB port! Picking the first one...")
}
let port_path = usb_tty_ports.pop().expect("No USB serial port found!");
eprintln!("Found serial port: {:?}", &port_path);
let printer = Printer::connect_to_path(
&port_path
)
.unwrap();
jogger::jog(&mut gamepad, printer)
}
@ -41,32 +46,4 @@ fn print_gamepad_events() -> Never {
println!("speed setpoint: {:?}", gamepad.speed_set_point(&events));
std::thread::sleep(std::time::Duration::from_millis(500));
}
}
fn look_for_printer() -> Never {
println!("Entering App");
let serial_ports = tokio_serial::available_ports()
.expect("Could not list serial ports")
.into_iter()
.filter(|port| port.port_name.contains("ttyUSB"))
.collect::<Vec<SerialPortInfo>>();
let port = match serial_ports.len() {
1 => serial_ports.to_owned().pop().unwrap(),
0 => panic!("No USB serial port found! Is the green board disconnected or turned off?"),
_ => panic!("There are multiple USB serial ports and we have no way to check which one is the Marlin board!")
};
let port_path = Path::new("/dev").join(Path::new(&port.port_name).file_name().unwrap());
println!("Found serial port: {:?}", &port_path);
let mut printer = Printer::connect_to_path(&port_path.as_os_str().to_string_lossy()).unwrap();
printer
.move_relative(10., 0., 0., None)
.expect("Could not move printer head");
println!("{:?}", printer.printer_state());
printer
.move_relative(-10., 0., 0., None)
.expect("Could not move printer head");
loop {
println!("{:?}", printer.printer_state());
std::thread::sleep(std::time::Duration::from_millis(1000));
}
}
}

View file

@ -482,7 +482,7 @@ impl Printer {
}
pub fn connect_to_path(port_path: &str) -> Result<Self, PrinterError> {
let mut port = serialport::new(port_path, BAUD_RATE)
let port = serialport::new(port_path, BAUD_RATE)
.timeout(Duration::from_millis(100))
.open_native()
.expect("Unable to open serial port");