something wrong with transmit throw AC4
This commit is contained in:
parent
ac7c6ba356
commit
aa75967bdf
30
src/main.rs
30
src/main.rs
@ -231,20 +231,24 @@ pub mod uart_transact {
|
||||
if self.type_ == TypeEn::TxRx {
|
||||
self.cmd_writer.log(&self.tx_packet).unwrap();
|
||||
|
||||
// println!("write to port: ({:?})", self.tx_packet.as_bytes());
|
||||
|
||||
match self.port.write(&self.tx_packet.as_bytes()) {
|
||||
// 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()) {
|
||||
Ok(_) => {},
|
||||
Err(e) => eprintln!("Error sending data: {}", e),
|
||||
}
|
||||
|
||||
let mut reader = BufReader::new(&mut self.port);
|
||||
// let mut buffer = [0u8; 4096];
|
||||
// self.port.read(&mut buffer);
|
||||
// let s = std::str::from_utf8(&buffer).unwrap().to_string();
|
||||
|
||||
let mut reader = BufReader::new(&mut self.port);
|
||||
let mut s = String::new();
|
||||
if let Err(err) = reader.read_line(&mut s) {
|
||||
println!("error: {}", err);
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
if s.len() > 0 {
|
||||
self.rx_packet = s.clone();
|
||||
self.data_writer.log(&s).unwrap();
|
||||
@ -321,8 +325,8 @@ fn uart_cmd_interp(cmd: &str) -> String {
|
||||
if args_cnt == 0 { return format!("{}", out); }
|
||||
let cmd_head = &args[0].clone();
|
||||
|
||||
let mut timeout: u64 = 200;
|
||||
let mut port_set = PortSettingsT::new(9600, 8, "None", 1, "None", timeout).unwrap();
|
||||
let mut timeout: u64 = 1000;
|
||||
let mut port_set = PortSettingsT::new(19200, 8, "Even", 1, "None", timeout).unwrap();
|
||||
let mut save_data_flag = true;
|
||||
let mut save_cmd_flag = true;
|
||||
let mut trans_type = "TxRx";
|
||||
@ -354,9 +358,12 @@ fn uart_cmd_interp(cmd: &str) -> String {
|
||||
else {
|
||||
let port_name = &args[1];
|
||||
|
||||
// let mut perf = Perf::new();
|
||||
// perf.start();
|
||||
let mut uart_trans = UartTransact::new(trans_type, port_name,
|
||||
port_set, save_data_flag, save_cmd_flag).unwrap();
|
||||
|
||||
// perf.stop("time for create port: ", "mks");
|
||||
let mut data_out = args[2].clone();
|
||||
data_out.push_str(std::str::from_utf8(b"\x0D\x0A").unwrap()); // CR + LF
|
||||
|
||||
@ -463,7 +470,8 @@ fn tcp_server() {
|
||||
|
||||
fn handle_client(mut stream: TcpStream) {
|
||||
loop {
|
||||
let mut perf = Perf::new();
|
||||
// let mut perf = Perf::new();
|
||||
// perf.start();
|
||||
let mut reader = BufReader::new(&stream);
|
||||
let mut rx_data = String::new();
|
||||
if let Err(msg) = reader.read_line(&mut rx_data) {
|
||||
@ -472,9 +480,6 @@ fn handle_client(mut stream: TcpStream) {
|
||||
}
|
||||
|
||||
// println!("rx_data: ({})", rx_data.trim());
|
||||
|
||||
perf.start();
|
||||
|
||||
if rx_data.starts_with("send") ||
|
||||
rx_data.starts_with("help") ||
|
||||
rx_data.starts_with("set_port") ||
|
||||
@ -482,6 +487,7 @@ fn handle_client(mut stream: TcpStream) {
|
||||
let reply = uart_cmd_interp(&rx_data.trim());
|
||||
|
||||
// reply.push('\n');
|
||||
println!("rx_uart: ({})", reply.trim());
|
||||
if let Err(msg) = stream.write_all(reply.as_bytes()) {
|
||||
println!("error: failed attempt to send data to client: {}", msg);
|
||||
return;
|
||||
@ -507,11 +513,9 @@ fn handle_client(mut stream: TcpStream) {
|
||||
if let Err(msg) = stream.write_all(data.as_bytes()) {
|
||||
println!("error: failed attempt to send data to client: {}", msg);
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
perf.stop("speed: ", "mks");
|
||||
// perf.stop("", "mks");
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user