Newer
Older
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
#pragma once
#include <Arduino.h>
#include "syringe.h"
class Cli
{
private:
Syringe& syringe;
String _currentInput;
String _temp;
int _currentWordIndex;
int _previousWordLength;
void resetNextWord ();
const char* findNextWord ();
void copyNextToTemp ();
bool kw (const __FlashStringHelper* keyWord, const char* input);
bool kw (const __FlashStringHelper* keyWord);
void syntax ();
void syntaxFull ();
void syntax (const __FlashStringHelper* cmd);
void syntax (const char* cmd);
public:
Cli (Syringe& syringe, int bufferLen = 32): syringe(syringe)
{
_currentInput.reserve(bufferLen);
_temp.reserve(bufferLen);
resetNextWord();
}
void loop (Stream& input);
};