Open FFBoard
Open source force feedback firmware
CmdParser.h
Go to the documentation of this file.
1/*
2 * cmdparser.h
3 *
4 * Created on: 31.01.2020
5 * Author: Yannick
6 */
7
8#ifndef CMDPARSER_H_
9#define CMDPARSER_H_
10//#include "main.h"
11#include <string>
12#include <cstring>
13#include "vector"
14#include "ErrorHandler.h"
15//#include "CommandInterface.h"
16#include <optional>
17#include "CommandHandler.h"
18#include "ringbufferwrapper.h"
19
20#define CMDPARSER_MAX_VALID_CAPACITY 2048
21
22class CommandHandler;
24
25class CmdParser {
26public:
27 CmdParser(const uint32_t bufferMaxCapacity = 512);
28 virtual ~CmdParser();
29
30 void clear();
31 bool add(char* Buf, uint32_t *Len);
32 bool parse(std::vector<ParsedCommand>& commands);
33 int32_t bufferCapacity();
34
35 void setClearBufferTimeout(uint32_t timeout);
36
37private:
38 //std::string buffer;
39 //uint32_t reservedBuffer = 100;
40 const uint32_t bufferMaxCapacity;
41
42 uint32_t clearBufferTimeout = 0;
43 uint32_t lastAddTime = 0;
44
46};
47
48#endif /* CMDPARSER_H_ */
RingBufferWrapper ringbuffer
Definition: CmdParser.h:45
int32_t bufferCapacity()
Definition: CmdParser.cpp:75
bool parse(std::vector< ParsedCommand > &commands)
Definition: CmdParser.cpp:85
virtual ~CmdParser()
Definition: CmdParser.cpp:25
CmdParser(const uint32_t bufferMaxCapacity=512)
Definition: CmdParser.cpp:18
void setClearBufferTimeout(uint32_t timeout)
Definition: CmdParser.cpp:71
uint32_t lastAddTime
Definition: CmdParser.h:43
void clear()
Definition: CmdParser.cpp:28
bool add(char *Buf, uint32_t *Len)
Definition: CmdParser.cpp:37
uint32_t clearBufferTimeout
Definition: CmdParser.h:42
const uint32_t bufferMaxCapacity
Definition: CmdParser.h:40