diff --git a/src/main.rs b/src/main.rs
index 47d4b0c212ef58075599deb3fc95537e5e75838a..bf6c009174e2dcb99a757c50b95a776de7265eb2 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -73,27 +73,14 @@ fn main() {
     let mut start: Option<Instant> = None;
     let mut times = Vec::new();
 
-    loop {
-        // wait clear to send
-        port.write_request_to_send(true).expect("Unable to set RTS");
-        while !port.read_clear_to_send().expect("Unable to read CTS") {
-            std::thread::sleep(Duration::from_millis(100));
-            debug!("waiting for CTS");
-        }
-
-        // send packet if there is one
-        if let Some(packet) = packets.wait_next() {
-            if let Some(t) = start {
-                times.push(t.elapsed().as_millis());
-            }
-            start = Some(Instant::now());
-            write_port.write_packet(packet.to_owned());
-            debug!("sent packet ({}/{})", packets.index, packets.packets.len());
-            port.write_request_to_send(false)
-                .expect("Unable to set RTS");
-        } else {
-            break;
+    // send packet if there is one
+    while let Some(packet) = packets.wait_next() {
+        if let Some(t) = start {
+            times.push(t.elapsed().as_millis());
         }
+        start = Some(Instant::now());
+        write_port.write_packet(packet.to_owned());
+        debug!("sent packet ({}/{})", packets.index, packets.packets.len());
 
         // wait ACK
         loop {