TinyRobotics
Loading...
Searching...
No Matches
Stream.h
1#pragma once
2
3#include "Print.h"
4
5namespace tinyrobotics_arduino {
6
7/**
8 * @brief Arduino-compatible Stream base class stub for native builds.
9 *
10 * This class mimics the Arduino Stream class, providing a minimal interface for
11 * input/output streams in a desktop/native environment. It derives from Print and
12 * adds methods such as available(), read(), peek(), flush(), and readBytes().
13 *
14 * Use this as a base for implementing Serial, file, or memory streams when porting
15 * Arduino code to standard C++ platforms.
16 */
17
18class Stream : public Print {
19 public:
20 virtual int available() { return 0; }
21 virtual int read() { return -1; }
22 virtual int peek() { return -1; }
23 virtual void flush() {}
24 // Arduino-style readBytes stub
25 virtual size_t readBytes(char* buffer, size_t len) {
26 for (size_t i = 0; i < len; ++i) buffer[i] = 0;
27 return len;
28 }
29};
30
31} // namespace tinyrobotics_arduino
Arduino-compatible Print base class stub for native builds.
Definition: Print.h:21
Arduino-compatible Stream base class stub for native builds.
Definition: Stream.h:18