From 5ce9fef2f59b2cad13a8460784f056db890700de Mon Sep 17 00:00:00 2001 From: XaviDCR92 Date: Tue, 8 Jan 2019 01:09:26 +0100 Subject: ACK from the device is received. Fixed serial configuration as "no parity". Added command-line argument "--cdimg-folder", used to retrieve data. --- src/app.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/app.rs') diff --git a/src/app.rs b/src/app.rs index e0aa3f1..2686ec1 100644 --- a/src/app.rs +++ b/src/app.rs @@ -27,7 +27,10 @@ pub fn app(arg_hash: HashMap) -> Result<()> { // but don't process it yet. let baud_rate = arg_hash.get(&String::from(cmdline::BAUDRATE_ARG)); - serial_comm(addr, port_name, baud_rate)?; + // Extract folder where CD-ROM file system is mounted. + let folder = arg_hash.get(&String::from(cmdline::CDIMG_FOLDER)).expect("Invalid given folder"); + + serial_comm(addr, port_name, baud_rate, folder)?; Ok(()) } @@ -57,7 +60,7 @@ fn setup_tcp(tcp_addr : &String) -> Result<()> { Ok(()) } -fn serial_comm(addr : Option<&String>, port_name : &String, baud_rate : Option<&String>) -> Result<()> { +fn serial_comm(addr : Option<&String>, port_name : &String, baud_rate : Option<&String>, folder : &String) -> Result<()> { use transfer; use transfer::TransferState; @@ -74,7 +77,9 @@ fn serial_comm(addr : Option<&String>, port_name : &String, baud_rate : Option<& prev_state = state; state }, - _ => TransferState::Finished + TransferState::SendHeader => transfer::send_header(&mut port, folder), + _ => TransferState::Finished, + TransferState::Finished => break, }; } @@ -122,7 +127,7 @@ fn serial_init(addr : Option<&String>, port_name : &String, baud_rate : Option<& serial::PortSettings { baud_rate: baud, char_size: serial::Bits8, - parity: serial::ParityOdd, + parity: serial::ParityNone, stop_bits: serial::Stop1, flow_control: serial::FlowNone }; -- cgit v1.2.3