From 1433983409e847a99c7565ce7cbfc01985a951b1 Mon Sep 17 00:00:00 2001
From: Alberto Nidasio <alberto.nidasio@skywarder.eu>
Date: Sun, 15 May 2022 21:56:06 +0200
Subject: [PATCH] [SerialTranceiver] Updated transceiver with new USART driver

---
 src/shared/drivers/usart/USART.cpp                |  2 +-
 .../radio/SerialTransceiver/SerialTransceiver.h   | 15 +++++++++------
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/shared/drivers/usart/USART.cpp b/src/shared/drivers/usart/USART.cpp
index 65e675a44..f60758e2d 100644
--- a/src/shared/drivers/usart/USART.cpp
+++ b/src/shared/drivers/usart/USART.cpp
@@ -514,7 +514,7 @@ int USART::write(void *buffer, size_t nBytes)
     // TODO: Use the send complete interrupt in order not to have a busy while
     // loop waiting
     const char *buf = reinterpret_cast<const char *>(buffer);
-    size_t i        = 0;
+    size_t i;
     for (i = 0; i < nBytes; i++)
     {
         while ((usart->SR & USART_SR_TXE) == 0)
diff --git a/src/shared/radio/SerialTransceiver/SerialTransceiver.h b/src/shared/radio/SerialTransceiver/SerialTransceiver.h
index 6d4917469..f5e0ae00b 100644
--- a/src/shared/radio/SerialTransceiver/SerialTransceiver.h
+++ b/src/shared/radio/SerialTransceiver/SerialTransceiver.h
@@ -22,6 +22,7 @@
 
 #pragma once
 
+#include <drivers/usart/USART.h>
 #include <radio/Transceiver.h>
 
 #include <iostream>
@@ -33,19 +34,21 @@ namespace Boardcore
 class SerialTransceiver : public Transceiver
 {
 public:
+    SerialTransceiver(USARTInterface& usart) : usart(usart) {}
+
     bool send(uint8_t* packet, size_t packetLength)
     {
-        for (size_t i = 0; i < packetLength; i++)
-            std::cout << packet[i];
-        std::cout << "\n";
+        usart.write(packet, packetLength);
         return true;
     }
 
     ssize_t receive(uint8_t* packet, size_t packetLength)
     {
-        std::cin.read(reinterpret_cast<char*>(packet), packetLength);
-        return packetLength;
+        return usart.read(packet, packetLength);
     }
+
+private:
+    USARTInterface& usart;
 };
 
-}  // namespace Boardcore
\ No newline at end of file
+}  // namespace Boardcore
-- 
GitLab