This repository has been archived on 2025-03-06. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
machines-backup/shredder/asterix-pp/firmware/serial.h
T

47 lines
1.1 KiB
C++

#ifndef PPSERIAL_H
#define PPSERIAL_H
#include <Streaming.h>
#include "Addon.h"
// Message struct: << id,verb,flags,version,payload >>
// Example :<<1;2;0;1;Power:on:1>>
class PPSerial : public Addon
{
public:
PPSerial(Stream &_stream) : stream(_stream),
Addon("Serial", SERIAL_BRIDGE),
msg(new Message(0, 0, 0, 0))
{
flags = 0;
}
struct Message
{
public:
int id;
uchar verb;
int flags;
uchar version;
char *payload;
millis_t ts;
Message(int _id, int _verb, int _flags, int _version) : id(_id),
verb(_verb),
flags(_flags),
version(_version) {}
};
short loop();
Message *read();
Message *msg;
Message *parse(const char *string);
Vector<Message *> messages;
void readMessages();
short setup();
protected:
Stream &stream;
};
#endif