diff options
| author | XaviDCR92 <xavi.dcr@gmail.com> | 2019-01-08 01:09:26 +0100 |
|---|---|---|
| committer | XaviDCR92 <xavi.dcr@gmail.com> | 2019-01-08 01:09:26 +0100 |
| commit | 5ce9fef2f59b2cad13a8460784f056db890700de (patch) | |
| tree | 2477e0104899f1c90f265077b7470bc9ef5ecfcd /src/app.rs | |
| parent | 4e0853f81708dad75c4fc259dd9b318bf0a46bd3 (diff) | |
| download | rspsxserial-5ce9fef2f59b2cad13a8460784f056db890700de.tar.gz | |
ACK from the device is received.
Fixed serial configuration as "no parity".
Added command-line argument "--cdimg-folder", used to retrieve data.
Diffstat (limited to 'src/app.rs')
| -rw-r--r-- | src/app.rs | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -27,7 +27,10 @@ pub fn app(arg_hash: HashMap<String, String>) -> 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 }; |
