-
-
Notifications
You must be signed in to change notification settings - Fork 160
Expand file tree
/
Copy pathFFBoardMainCommandThread.h
More file actions
70 lines (51 loc) · 1.64 KB
/
FFBoardMainCommandThread.h
File metadata and controls
70 lines (51 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*
* FFBoardMainCommandThread.h
*
* Created on: Feb 13, 2021
* Author: Yannick
*/
#ifndef USEREXTENSIONS_SRC_FFBOARDMAINCOMMANDTHREAD_H_
#define USEREXTENSIONS_SRC_FFBOARDMAINCOMMANDTHREAD_H_
#include <CmdParser.h>
#include "cppmain.h"
#include <string>
#include "ChoosableClass.h"
#include "CommandHandler.h"
#include <vector>
#include "ErrorHandler.h"
#include "thread.hpp"
#include "FFBoardMain.h"
#include "semaphore.hpp"
#include "CommandInterface.h"
#ifdef HW_ESP32SX
#define FFBOARDMAINCOMMANDTHREAD_MEM 4096
#define FFBOARDMAINCOMMANDTHREAD_PRIO 32*25/56
#else
#define FFBOARDMAINCOMMANDTHREAD_MEM 700
#define FFBOARDMAINCOMMANDTHREAD_PRIO 32
#endif
class FFBoardMain;
//class CommandInterface;
class FFBoardMainCommandThread : public cpp_freertos::Thread
{
public:
FFBoardMainCommandThread(FFBoardMain* mainclass);
virtual ~FFBoardMainCommandThread();
// const ClassIdentifier getInfo();
// static ClassIdentifier info;
const ClassType getClassType(){return ClassType::Internal;};
bool addBuf(char* Buf, uint32_t *Len,bool clearReply);
void Run();
static void wakeUp();
//FFBoardMain* main;
std::string cmd_reply;
std::vector<CommandResult> results; // Stores the results until the next batch to pass back to the interface
std::vector<ParsedCommand> commands;
bool clearReply = true;
static Error cmdNotFoundError;
static Error cmdExecError;
protected:
virtual void executeCommands(std::vector<ParsedCommand>& commands,CommandInterface* commandInterface);
//static cpp_freertos::BinarySemaphore threadSem; // Blocks this thread. more efficient than suspending/waking
};
#endif /* USEREXTENSIONS_SRC_FFBOARDMAINCOMMANDTHREAD_H_ */