Use anyhow in main
This commit is contained in:
parent
3bb08f22c8
commit
62c4e16445
24
src/main.rs
24
src/main.rs
@ -120,7 +120,7 @@ async fn main() -> Result<()>{
|
|||||||
match &command {
|
match &command {
|
||||||
Commands::ListDevices => {
|
Commands::ListDevices => {
|
||||||
println!("{}", tokio_serial::available_ports()
|
println!("{}", tokio_serial::available_ports()
|
||||||
.unwrap()
|
.context("Failed to list available ports")?
|
||||||
.iter()
|
.iter()
|
||||||
.map(|serialport| serialport.port_name.clone())
|
.map(|serialport| serialport.port_name.clone())
|
||||||
.fold(String::new(), |a, b| a + &b + &String::from("\n")));
|
.fold(String::new(), |a, b| a + &b + &String::from("\n")));
|
||||||
@ -130,18 +130,18 @@ async fn main() -> Result<()>{
|
|||||||
DeviceCommands::State => {
|
DeviceCommands::State => {
|
||||||
let request_current_state_packet = RequestCurrentStateCommand {};
|
let request_current_state_packet = RequestCurrentStateCommand {};
|
||||||
|
|
||||||
let mut serial_interface = serial::SerialInterface::new(path, *baud_rate).expect("Couldn't init serial interface");
|
let mut serial_interface = serial::SerialInterface::new(path, *baud_rate).context("Couldn't init serial interface")?;
|
||||||
|
|
||||||
serial_interface.send(&request_current_state_packet).expect("Failed to send improv packet");
|
serial_interface.send(&request_current_state_packet).context("Failed to send improv packet")?;
|
||||||
|
|
||||||
let result_bytes = serial_interface.recv_bytes().expect("Couldn't receive any improv packet");
|
let result_bytes = serial_interface.recv_bytes().context("Couldn't receive any improv packet")?;
|
||||||
let raw_packet = RawPacket::try_from_bytes(&result_bytes).unwrap();
|
let raw_packet = RawPacket::try_from_bytes(&result_bytes).context("Failed to deserialize packet")?;
|
||||||
|
|
||||||
if let ImprovPacket::CurrentStateResponse(current_state_response) = ImprovPacket::try_from_raw_packet(&raw_packet).unwrap() {
|
if let ImprovPacket::CurrentStateResponse(current_state_response) = ImprovPacket::try_from_raw_packet(&raw_packet).context("Failed to read packet")? {
|
||||||
println!("Current state: {}", ¤t_state_response.current_state);
|
println!("Current state: {}", ¤t_state_response.current_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let ImprovPacket::ErrorState(error_state) = ImprovPacket::try_from_raw_packet(&raw_packet).unwrap() {
|
if let ImprovPacket::ErrorState(error_state) = ImprovPacket::try_from_raw_packet(&raw_packet).context("Failed to read packet")? {
|
||||||
println!("Error state: {}", &error_state.error_state);
|
println!("Error state: {}", &error_state.error_state);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -151,14 +151,14 @@ async fn main() -> Result<()>{
|
|||||||
DeviceCommands::Info => {
|
DeviceCommands::Info => {
|
||||||
let request_device_information_packet = RequestDeviceInformationPacket {};
|
let request_device_information_packet = RequestDeviceInformationPacket {};
|
||||||
|
|
||||||
let mut serial_interface = serial::SerialInterface::new(path, *baud_rate).expect("Couldn't init serial interface");
|
let mut serial_interface = serial::SerialInterface::new(path, *baud_rate).context("Couldn't init serial interface")?;
|
||||||
|
|
||||||
serial_interface.send(&request_device_information_packet).expect("Failed to send improv packet");
|
serial_interface.send(&request_device_information_packet).context("Failed to send improv packet")?;
|
||||||
|
|
||||||
let result_bytes = serial_interface.recv_bytes().expect("Couldn't receive any improv packet");
|
let result_bytes = serial_interface.recv_bytes().context("Couldn't receive any improv packet")?;
|
||||||
let raw_packet = RawPacket::try_from_bytes(&result_bytes).unwrap();
|
let raw_packet = RawPacket::try_from_bytes(&result_bytes).context("Failed to deserialize packet")?;
|
||||||
|
|
||||||
if let ImprovPacket::RPCResult(rpc_result) = ImprovPacket::try_from_raw_packet(&raw_packet).unwrap() {
|
if let ImprovPacket::RPCResult(rpc_result) = ImprovPacket::try_from_raw_packet(&raw_packet).context("Failed to read packet")? {
|
||||||
for r in rpc_result.results {
|
for r in rpc_result.results {
|
||||||
println!("{}", &r);
|
println!("{}", &r);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user