From 0e32df329fd420793bf8317052de8ccaa41bee90 Mon Sep 17 00:00:00 2001 From: Samuel Sadok Date: Mon, 14 May 2018 16:25:31 -0700 Subject: [PATCH] fix compilation when using stdout protocol --- Firmware/communication/communication.cpp | 4 ++-- Firmware/communication/interface_uart.cpp | 1 + Firmware/communication/interface_uart.h | 3 +++ Firmware/communication/interface_usb.cpp | 1 + Firmware/communication/interface_usb.h | 3 +++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Firmware/communication/communication.cpp b/Firmware/communication/communication.cpp index 1c4accfd..d1a8e487 100644 --- a/Firmware/communication/communication.cpp +++ b/Firmware/communication/communication.cpp @@ -182,10 +182,10 @@ int _write(int file, const char* data, int len); // @brief This is what printf calls internally int _write(int file, const char* data, int len) { #ifdef USB_PROTOCOL_STDOUT - usb_stream_output.process_bytes((const uint8_t *)data, len); + usb_stream_output_ptr->process_bytes((const uint8_t *)data, len); #endif #ifdef UART_PROTOCOL_STDOUT - uart4_stream_output.process_bytes((const uint8_t *)data, len); + uart4_stream_output_ptr->process_bytes((const uint8_t *)data, len); #endif return len; } diff --git a/Firmware/communication/interface_uart.cpp b/Firmware/communication/interface_uart.cpp index 90d976aa..58b4f57d 100644 --- a/Firmware/communication/interface_uart.cpp +++ b/Firmware/communication/interface_uart.cpp @@ -48,6 +48,7 @@ public: private: uint8_t tx_buf_[UART_TX_BUFFER_SIZE]; } uart4_stream_output; +StreamSink* uart4_stream_output_ptr = &uart4_stream_output; PacketToStreamConverter uart4_packet_output(uart4_stream_output); BidirectionalPacketBasedChannel uart4_channel(uart4_packet_output); diff --git a/Firmware/communication/interface_uart.h b/Firmware/communication/interface_uart.h index b5f1ed72..8ad71c19 100644 --- a/Firmware/communication/interface_uart.h +++ b/Firmware/communication/interface_uart.h @@ -2,6 +2,9 @@ #define __INTERFACE_UART_HPP #ifdef __cplusplus +#include "protocol.hpp" +extern StreamSink* uart4_stream_output_ptr; + extern "C" { #endif diff --git a/Firmware/communication/interface_usb.cpp b/Firmware/communication/interface_usb.cpp index b044cdd6..5687e186 100644 --- a/Firmware/communication/interface_usb.cpp +++ b/Firmware/communication/interface_usb.cpp @@ -67,6 +67,7 @@ public: private: PacketSink& output_; } usb_stream_output(usb_packet_output); +StreamSink* usb_stream_output_ptr = &usb_stream_output; #if defined(USB_PROTOCOL_NATIVE) BidirectionalPacketBasedChannel usb_channel(usb_packet_output); diff --git a/Firmware/communication/interface_usb.h b/Firmware/communication/interface_usb.h index a56bca36..9038d822 100644 --- a/Firmware/communication/interface_usb.h +++ b/Firmware/communication/interface_usb.h @@ -2,6 +2,9 @@ #define __INTERFACE_USB_HPP #ifdef __cplusplus +#include "protocol.hpp" +extern StreamSink* usb_stream_output_ptr; + extern "C" { #endif