transmit-receive data working correct now. Fix bug with port set settings
This commit is contained in:
parent
aa75967bdf
commit
45f145ca2f
23
src/main.rs
23
src/main.rs
@ -204,15 +204,22 @@ pub mod uart_transact {
|
||||
filename = format!("../log/commands_{}.log", Perf::cur_time("%Y%m%d"));
|
||||
let cmd_writer = Logger::new(filename.clone(), save_data_flag)?;
|
||||
|
||||
let port = serialport::new(port_name, port_settings.baud_rate)
|
||||
.timeout(Duration::from_millis(port_settings.timeout_msec)).open().unwrap();
|
||||
let mut port = Self::set_port_settings(port_name,
|
||||
port_settings.clone()).unwrap();
|
||||
|
||||
let tx_packet = String::new();
|
||||
let rx_packet = String::new();
|
||||
|
||||
Ok( Self { type_, port_name: port_name.to_string(), port_settings, save_data_flag, save_cmd_flag,
|
||||
data_writer, cmd_writer,
|
||||
port, tx_packet, rx_packet,
|
||||
Ok( Self { type_,
|
||||
port_name: port_name.to_string(),
|
||||
port_settings,
|
||||
save_data_flag,
|
||||
save_cmd_flag,
|
||||
data_writer,
|
||||
cmd_writer,
|
||||
port,
|
||||
tx_packet,
|
||||
rx_packet,
|
||||
})
|
||||
}
|
||||
|
||||
@ -231,13 +238,13 @@ pub mod uart_transact {
|
||||
if self.type_ == TypeEn::TxRx {
|
||||
self.cmd_writer.log(&self.tx_packet).unwrap();
|
||||
|
||||
// self.tx_packet.push_str(std::str::from_utf8(b"\x0D\x0A").unwrap()); // CR + LF
|
||||
println!("write to port: ({:?})", self.tx_packet.as_bytes());
|
||||
match self.port.write_all(&self.tx_packet.as_bytes()) {
|
||||
match self.port.write(&self.tx_packet.as_bytes()) {
|
||||
Ok(_) => {},
|
||||
Err(e) => eprintln!("Error sending data: {}", e),
|
||||
}
|
||||
|
||||
self.port.flush().unwrap();
|
||||
|
||||
// let mut buffer = [0u8; 4096];
|
||||
// self.port.read(&mut buffer);
|
||||
// let s = std::str::from_utf8(&buffer).unwrap().to_string();
|
||||
|
Loading…
x
Reference in New Issue
Block a user