summaryrefslogtreecommitdiff
path: root/src/app.rs
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2019-01-08 01:09:26 +0100
committerXaviDCR92 <xavi.dcr@gmail.com>2019-01-08 01:09:26 +0100
commit5ce9fef2f59b2cad13a8460784f056db890700de (patch)
tree2477e0104899f1c90f265077b7470bc9ef5ecfcd /src/app.rs
parent4e0853f81708dad75c4fc259dd9b318bf0a46bd3 (diff)
downloadrspsxserial-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.rs13
1 files changed, 9 insertions, 4 deletions
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<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
};