Stairs/src/modes/base.h

32 lines
564 B
C++

#ifndef __BaseMode
#define __BaseMode
#include <stdint.h>
#include <Stream.h>
#include "../config.h"
#include "../mode.h"
template <class T>
class BaseMode : public IMode
{
protected:
T parameters;
public:
virtual void read(uint8_t* data)
{
_d("Reading parameters, size ");
_dln(sizeof(T));
memcpy(&this->parameters, data, sizeof(T));
}
virtual void write(Stream* stream)
{
_d("Writing parameters, size ");
_dln(sizeof(T));
stream->write((uint8_t*)&this->parameters, sizeof(T));
}
};
#endif