#ifndef FREERTOSSTREAMBUF_HPP #define FREERTOSSTREAMBUF_HPP #include #include #include "murax.h" // Klasa dziedzicząca z std::streambuf, przesyłająca dane do putchar class FreeRTOSStreamBuf : public std::streambuf { protected: // Ta funkcja jest wywoływana, gdy bufor jest pełny lub napotkano std::endl virtual int overflow(int c) override { if (c != EOF) { //putchar(c); // Wysyłanie znaku do putchar uart_write(UART,c); } return c; } }; // Funkcja konfiguracyjna przekierowująca std::cout do FreeRTOSStreamBuf void redirectCoutToPutchar() { static FreeRTOSStreamBuf freertos_streambuf; // Globalny obiekt bufora std::cout.rdbuf(&freertos_streambuf); // Ustawienie bufora jako wyjściowego dla std::cout } #endif // FREERTOSSTREAMBUF_HPP