Plaquette
 
Loading...
Searching...
No Matches
StreamOut.h
1/*
2 * SteamOut.cpp
3 *
4 * (c) 2015 Sofian Audry :: info(@)sofianaudry(.)com
5 * (c) 2015 Thomas O Fredericks :: tof(@)t-o-f(.)info
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef STREAM_OUT_H_
22#define STREAM_OUT_H_
23
24#include "PqCore.h"
25
26namespace pq {
27
29class StreamOut : public AnalogSource {
30public:
36
42 StreamOut(Stream& stream, Engine& engine = Engine::primary());
43
45 virtual float mapTo(float toLow, float toHigh) { return mapFrom01(get(), toLow, toHigh); }
46
52 virtual float put(float value);
53
58 virtual void precision(uint8_t digits);
59
60protected:
61 // Number of digits of precision.
62 uint8_t _digits;
63
64 // The stream.
65 Stream* _stream;
66};
67
68}
69
70#endif
An analog analog source that contains a value constrained to a finite range (typically in [0,...
Definition PqCore.h:444
virtual float get()
Returns value in [0, 1].
Definition PqCore.h:452
The main Plaquette static class containing all the units.
Definition PqCore.h:60
static Engine & primary()
Returns the main instance of Plaquette.
Definition PqCore.cpp:31
Stream/serial output. Number of digits of precision is configurable.
Definition StreamOut.h:29
virtual float mapTo(float toLow, float toHigh)
Maps value to new range.
Definition StreamOut.h:45
virtual void precision(uint8_t digits)
Sets precision of the output.
Definition StreamOut.cpp:44
virtual float put(float value)
Pushes value into the unit.
Definition StreamOut.cpp:33
Engine * engine() const
Returns the engine that owns this unit.
Definition PqCore.h:382