ESP
0.1
The Example-based Sensor Predictions (ESP) system tries to bring machine learning to the maker community.
|
Input stream for reading analog data from an Arduino running Firmata. To use an FirmataStream in your application, pass it to useInputStream() in your setup() function. More...
#include <istream.h>
Public Member Functions | |
FirmataStream (uint32_t port) | |
virtual bool | start () final |
virtual void | stop () final |
virtual int | getNumInputDimensions () final |
void | useAnalogPin (int i) |
Public Member Functions inherited from InputStream | |
InputStream () | |
virtual | ~InputStream ()=default |
virtual int | getNumOutputDimensions () |
void | useNormalizer (normalizeFunc f) |
void | useNormalizer (vectorNormalizeFunc f) |
void | onDataReadyEvent (onDataReadyCallback callback) |
template<typename T1 , typename arg , class T > | |
void | onDataReadyEvent (T1 *owner, void(T::*listenerMethod)(arg)) |
void | setLabelsForAllDimensions (const vector< string > labels) |
void | setLabelsForAllDimensions (std::initializer_list< string > list) |
const vector< string > & | getLabels () const |
Public Member Functions inherited from Stream | |
Stream () | |
void | toggle () |
bool | hasStarted () |
Additional Inherited Members | |
Public Types inherited from InputStream | |
using | normalizeFunc = std::function< double(double)> |
using | vectorNormalizeFunc = std::function< vector< double >(vector< double >)> |
typedef std::function< void(GRT::MatrixDouble)> | onDataReadyCallback |
Protected Member Functions inherited from InputStream | |
vector< double > | normalize (vector< double >) |
Protected Attributes inherited from InputStream | |
vector< string > | InputStream_labels_ |
onDataReadyCallback | data_ready_callback_ |
normalizeFunc | normalizer_ |
vectorNormalizeFunc | vectorNormalizer_ |
Protected Attributes inherited from Stream | |
std::atomic_bool | has_started_ |
Input stream for reading analog data from an Arduino running Firmata. To use an FirmataStream in your application, pass it to useInputStream() in your setup() function.
FirmataStream::FirmataStream | ( | uint32_t | port | ) |
Create a FirmataStream instance. Assumes the Arduino is communicating at 57600 baud.
port | the index of the (USB) serial port to use. |
|
finalvirtual |
Get the number of dimensions of the data that's provided by the input stream (before it's run through the normalizer, if any).
Implements InputStream.
|
finalvirtual |
Start the stream.
Reimplemented from Stream.
|
finalvirtual |
Reimplemented from Stream.
void FirmataStream::useAnalogPin | ( | int | i | ) |
Include readings from the specified analog pin in the data reported by this FirmataStream. Data will be ordered according to the sequence of calls to this function (i.e. readings from the pin passed to the first call to useAnalogPin() will appear first in the data provided by the FirmataStream).
i | an analog pin to read from |