Open FFBoard
Open source force feedback firmware
Loading...
Searching...
No Matches
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#ifndef CMDPARSER_MAX_VALID_CAPACITY
21#define CMDPARSER_MAX_VALID_CAPACITY 2048
22#endif
23
24class CommandHandler;
26
27class CmdParser {
28public:
29 CmdParser(const uint32_t bufferMaxCapacity = 512);
30 virtual ~CmdParser();
31
32 void clear();
33 bool add(char* Buf, uint32_t *Len);
34 bool parse(std::vector<ParsedCommand>& commands);
35 int32_t bufferCapacity();
36
37 void setClearBufferTimeout(uint32_t timeout);
38
39private:
40 //std::string buffer;
41 //uint32_t reservedBuffer = 100;
42 const uint32_t bufferMaxCapacity;
43
44 uint32_t clearBufferTimeout = 0;
45 uint32_t lastAddTime = 0;
46
48};
49
50#endif /* CMDPARSER_H_ */
RingBufferWrapper ringbuffer
Definition CmdParser.h:47
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:45
void clear()
Definition CmdParser.cpp:28
bool add(char *Buf, uint32_t *Len)
Definition CmdParser.cpp:37
uint32_t clearBufferTimeout
Definition CmdParser.h:44
const uint32_t bufferMaxCapacity
Definition CmdParser.h:42