TinyRobotics
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MultiOutput Class Reference

Utility class for writing output to multiple Print streams simultaneously. More...

#include <MultiOutput.h>

Inheritance diagram for MultiOutput:
Inheritance graph
[legend]
Collaboration diagram for MultiOutput:
Collaboration graph
[legend]

Public Member Functions

 MultiOutput ()=default
 Defines a MultiOutput with no final output: Define your outputs with add()
 
template<typename... Prints>
 MultiOutput (Prints &... outputs)
 Construct MultiOutput with a variable number of Print objects.
 
void add (Print &print)
 
void flush ()
 
size_t write (const uint8_t *data, size_t len) override
 
size_t write (uint8_t ch) override
 
void clear ()
 Removes all output components.
 

Protected Member Functions

void setOutput (Print &out)
 support for Pipleline
 
void addOutputs ()
 
template<typename First , typename... Rest>
void addOutputs (First &first, Rest &... rest)
 

Protected Attributes

std::vector< Print * > vector
 

Detailed Description

Utility class for writing output to multiple Print streams simultaneously.

MultiOutput allows you to broadcast print output to several Print targets (e.g., Serial, file, network) at once. It implements the Print interface, so it can be used anywhere a Print object is expected.

Example usage:

multi.addOutput(Serial);
multi.addOutput(myFile);
multi.println("Hello, world!"); // Prints to both Serial and file
Utility class for writing output to multiple Print streams simultaneously.
Definition: MultiOutput.h:29

This is useful for logging, debugging, or mirroring output to multiple destinations in embedded systems.

Constructor & Destructor Documentation

◆ MultiOutput()

MultiOutput ( Prints &...  outputs)
inline

Construct MultiOutput with a variable number of Print objects.

Example usage:

MultiOutput multi(Serial, myFile);
Parameters
outputsVariable number of Print references.

The documentation for this class was generated from the following file: