tcMenu
Toggle main menu visibility
Loading...
Searching...
No Matches
src
RemoteTypes.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018 https://www.thecoderscorner.com (Dave Cherry).
3
* This product is licensed under an Apache license, see the LICENSE file in the top-level directory.
4
*/
9
10
#ifndef _TCMENU_REMOTETYPES_H_
11
#define _TCMENU_REMOTETYPES_H_
12
17
#ifndef MAX_VALUE_LEN
18
#define MAX_VALUE_LEN 40
19
#elif MAX_VALUE_LEN < 40
20
#error "MAX_VALUE_LEN must be > 40"
21
#endif
22
23
enum
AckResponseStatus {
24
// warnings
25
ACK_VALUE_RANGE = -1 ,
26
// success
27
ACK_SUCCESS = 0,
28
//errors
29
ACK_ID_NOT_FOUND = 1, ACK_CREDENTIALS_INVALID = 2,
30
31
// unknown error, always last
32
ACK_UNKNOWN = 10000
33
// unknown error, always last
34
};
35
39
#define msgFieldToWord(a,b) ( (((uint16_t)(a))<<8U) | ((uint16_t)(b)) )
40
41
/*
42
* Definitions for an unknown field key or part thereof.
43
*/
44
#define UNKNOWN_FIELD_PART 0x00
45
49
#define UNKNOWN_MSG_TYPE 0x0000
50
52
#define MSG_PAIR msgFieldToWord('P','R')
54
#define MSG_ACKNOWLEDGEMENT msgFieldToWord('A','K')
56
#define MSG_JOIN msgFieldToWord('N','J')
58
#define MSG_HEARTBEAT msgFieldToWord('H','B')
60
#define MSG_BOOTSTRAP msgFieldToWord('B','S')
62
#define MSG_BOOT_ANALOG msgFieldToWord('B','A')
64
#define MSG_BOOT_ACTION msgFieldToWord('B', 'C')
66
#define MSG_BOOT_SUBMENU msgFieldToWord('B', 'M')
68
#define MSG_BOOT_ENUM msgFieldToWord('B', 'E')
70
#define MSG_BOOT_BOOL msgFieldToWord('B', 'B')
72
#define MSG_BOOT_TEXT msgFieldToWord('B','T')
74
#define MSG_BOOT_LARGENUM msgFieldToWord('B', 'N')
76
#define MSG_BOOT_FLOAT msgFieldToWord('B','F')
78
#define MSG_BOOT_RGB_COLOR msgFieldToWord('B', 'K')
80
#define MSG_BOOT_SCROLL_CHOICE msgFieldToWord('B', 'Z')
82
#define MSG_BOOT_LIST msgFieldToWord('B','L')
84
#define MSG_CHANGE_INT msgFieldToWord('V', 'C')
86
#define MSG_DIALOG msgFieldToWord('D', 'M')
87
88
#define FIELD_MSG_NAME msgFieldToWord('N', 'M')
89
#define FIELD_VERSION msgFieldToWord('V', 'E')
90
#define FIELD_PLATFORM msgFieldToWord('P', 'F')
91
#define FIELD_BOOT_TYPE msgFieldToWord('B', 'T')
92
#define FIELD_HB_INTERVAL msgFieldToWord('H', 'I')
93
#define FIELD_HB_MILLISEC msgFieldToWord('H', 'M')
94
#define FIELD_HB_MODE msgFieldToWord('H', 'R')
95
#define FIELD_ID msgFieldToWord('I', 'D')
96
#define FIELD_EEPROM msgFieldToWord('I', 'E')
97
#define FIELD_READONLY msgFieldToWord('R', 'O')
98
#define FIELD_VISIBLE msgFieldToWord('V', 'I')
99
#define FIELD_PARENT msgFieldToWord('P', 'I')
100
#define FIELD_ANALOG_MAX msgFieldToWord('A', 'M')
101
#define FIELD_ANALOG_OFF msgFieldToWord('A', 'O')
102
#define FIELD_ANALOG_DIV msgFieldToWord('A', 'D')
103
#define FIELD_ANALOG_STEP msgFieldToWord('A', 'S')
104
#define FIELD_ANALOG_UNIT msgFieldToWord('A', 'U')
105
#define FIELD_CURRENT_VAL msgFieldToWord('V', 'C')
106
#define FIELD_BOOL_NAMING msgFieldToWord('B', 'N')
107
#define FIELD_NO_CHOICES msgFieldToWord('N', 'C')
108
#define FIELD_CHANGE_TYPE msgFieldToWord('T', 'C')
109
#define FIELD_MAX_LEN msgFieldToWord('M', 'L')
110
#define FIELD_REMOTE_NO msgFieldToWord('R', 'N')
111
#define FIELD_FLOAT_DP msgFieldToWord('F', 'D')
112
#define FIELD_UUID msgFieldToWord('U', 'U')
113
#define FIELD_SERIAL_NO msgFieldToWord('U', 'S')
114
#define FIELD_CORRELATION msgFieldToWord('I', 'C')
115
#define FIELD_ACK_STATUS msgFieldToWord('S', 'T')
116
#define FIELD_HEADER msgFieldToWord('H', 'F')
117
#define FIELD_BUTTON1 msgFieldToWord('B', '1')
118
#define FIELD_BUTTON2 msgFieldToWord('B', '2')
119
#define FIELD_BUFFER msgFieldToWord('B', 'U')
120
#define FIELD_MODE msgFieldToWord('M', 'O')
121
#define FIELD_EDIT_MODE msgFieldToWord('E', 'M')
122
#define FIELD_ALPHA msgFieldToWord('R', 'A')
123
#define FIELD_WIDTH msgFieldToWord('W', 'I')
124
125
#define FIELD_PREPEND_CHOICE 'C'
126
#define FIELD_PREPEND_NAMECHOICE 'c'
127
132
enum
ChangeType
: uint8_t {
133
CHANGE_DELTA = 0, CHANGE_ABSOLUTE = 1, CHANGE_LIST = 2, CHANGE_LIST_RESPONSE = 3
134
};
135
139
enum
ApiPlatform
: uint8_t {
140
PLATFORM_ARDUINO_8BIT = 0,
141
PLATFORM_JAVA_API = 1,
142
PLATFORM_ARDUINO_32BIT = 2,
143
PLATFORM_DOTNET = 3
144
};
145
149
enum
HeartbeatMode
: uint8_t {
151
HBMODE_NORMAL
= 0,
153
HBMODE_STARTCONNECT
= 1,
155
HBMODE_ENDCONNECT
= 2
156
};
157
158
#endif
/* _TCMENU_REMOTETYPES_H_ */
HeartbeatMode
HeartbeatMode
Definition
RemoteTypes.h:149
HBMODE_STARTCONNECT
@ HBMODE_STARTCONNECT
Definition
RemoteTypes.h:153
HBMODE_NORMAL
@ HBMODE_NORMAL
Definition
RemoteTypes.h:151
HBMODE_ENDCONNECT
@ HBMODE_ENDCONNECT
Definition
RemoteTypes.h:155
ApiPlatform
ApiPlatform
Definition
RemoteTypes.h:139
ChangeType
ChangeType
Definition
RemoteTypes.h:132