Remove occurence of tokio in current main
This commit is contained in:
parent
d84ed407ac
commit
6c6ab0e2d7
4 changed files with 27 additions and 57 deletions
red
|
@ -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"] }
|
||||
|
||||
|
|
|
@ -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
|
||||
///
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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");
|
||||
|
|
Loading…
Add table
Reference in a new issue