summaryrefslogtreecommitdiff
path: root/src/app.rs
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2019-01-12 01:23:12 +0100
committerXaviDCR92 <xavi.dcr@gmail.com>2019-01-12 01:23:12 +0100
commit35e37535556d7d2cce3bb04a9f6bff810ebefccc (patch)
tree749a665ca052622e974a7b180c4ab8c607a6d706 /src/app.rs
parentdec723669aa2a5e54ab675d93bd980a56f1be0c2 (diff)
downloadrspsxserial-35e37535556d7d2cce3bb04a9f6bff810ebefccc.tar.gz
Sending a PSX-EXE is now totally implemented.
Diffstat (limited to 'src/app.rs')
-rw-r--r--src/app.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/app.rs b/src/app.rs
index 1b14410..a0df9e7 100644
--- a/src/app.rs
+++ b/src/app.rs
@@ -68,16 +68,22 @@ fn serial_comm(addr : Option<&String>, port_name : &String, baud_rate : Option<&
let mut state = TransferState::FirstContact;
let mut prev_state = state;
+ let mut sent_bytes = 0 as usize;
+
+ let exe_data = transfer::get_exe_data(&folder).unwrap();
loop {
state = match state {
TransferState::FirstContact => transfer::first_contact(&mut port),
TransferState::WaitAck => {
- state = transfer::wait_ack(&mut port, prev_state);
+ state = transfer::wait_ack_default(&mut port, prev_state);
prev_state = state;
state
},
- TransferState::SendHeader => transfer::send_header(&mut port, folder),
+ TransferState::SendHeader => transfer::send_header(&mut port, &exe_data),
+ TransferState::SendExeSize => transfer::send_exe_size(&mut port, &exe_data),
+ TransferState::CleaningRAM => transfer::wait_ack_default(&mut port, prev_state),
+ TransferState::SendExeData => transfer::send_exe_data(&mut port, &mut sent_bytes, &exe_data),
TransferState::Finished => break
};
}