aboutsummaryrefslogtreecommitdiff
path: root/src/keywords.h
blob: 1cf39e13c35d8c24e241ae4108cb0b7755f450fa (plain)
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/*---------------------------------------------------------------------kewords.h
 * Copyright 2012-2018 Donald Delmar Davis, Suspect Devices. All Rights Reserved
 *
 * !!!!!!!!!!!! ..... This may or may not be free software ..... !!!!!!!!!!!!!!!
 *
 * This file is autogenerated and while created by and needed for several open
 * source modules the vocabulary is specific to the project and the routines
 * referenced will be liscenced on a per project basis
 *----------------------------------------------------------------------------*/

/*----------------------------- Monitor keywords--------------------------------
* The idea here is to create an automation freindly monitor protocol and debug
* interfacse. Because this needs to be efficient (and flexible) I have chosen a
* very simple interface which will access and may manipulate the devices public
* variables.
*
* Basic Syntax for the monitor is
* XXX[?!:] <variable stuff> <CR>
* where:
* XXX is a 3 letter command or variable.
* ! execute command or store value
* ? request a value
* : value sent as a response or an update.
* simple example
* (reboot device)
* RST!
* (set red led value)
* RED!255
* RED:255
* (request pressure sensor, recieve sensor value
*  note: unsolicited temperature sensor update )
* PS1?
* PS1:1240.2
* TS1:150.5
*
*/
#ifndef keywords_h
#define keywords_h


#define HELPTEXT \
"SYN[!  ]sync (hello)    "\
"ACK[ : ]acknowlege(yes) "\
"NAK[ : ]negative (no)   "\
"SWV[ :?]Software Vers.  "\
"HWV[ :?]Hardware Vers.  "\
"GIT[ :?]GIT Repo Vers.  "\
"MEM[ :?]Avaliable Mem.  "\
"SSN[ :?]Unit Serial No. "\
"HLP[ :?]help            "\
"FTL[!: ]Fatal Error     "\
"ALT[!: ]Alert           "\
"WAR[!: ]Warning         "\
"INF[!: ]Info            "\
"DBG[!: ]Debugging Info  "\
"LOG[!: ]Log             "\
"STC[!:?]State Change    "\
"DVL[!:?]Display Level   "\
"LVL[!:?]Log Level       "\
"RST[!  ]Reboot          "\
"BLD[!  ]Reboot to loader"\
"STP[!:?]Sim/Chk  E-Stop "\
"CMD[!:?]Command Mode    "\
"NOW[!:?]Time as an int  "\
"TIM[!:?]Time for humans "\
"MLD[!:?]Enable Multiline"\
"SOD[!: ]Start Multiline "\
"EOD[!: ]End Multiline   "\
"RED[!: ]Led (0-255)     "\
"AMT[ :?]Ambient Temp    "\
"AMH[ :?]Ambient Humidity"\
"PX1[ :?]Proximity Sense "\
"AD1[ :?]Analog Input 1  "\
"AD2[ :?]Analog Input 2  "\
"AD3[ :?]Analog Input 3  "\
"AD4[ :?]Analog Input 4  "\
"AD5[ :?]Analog Input 5  "\
"AD6[ :?]Analog Input 6  "\
"AD7[ :?]Analog Input 7  "\
"AD8[ :?]Analog Input 8  "\
"DI1[ :?]Digital Input 1 "\
"DI2[ :?]Digital Input 2 "\
"DI3[ :?]Digital Input 3 "\
"DI4[ :?]Digital Input 4 "\
"DI5[ :?]Digital Input 5 "\
"DI6[ :?]Digital Input 6 "\
"DI7[ :?]Digital Input 7 "\
"DI8[ :?]Digital Input 8 "\
"DO1[!:?]Digital Output 1"\
"DO2[!:?]Digital Output 2"\
"DO3[!:?]Digital Output 3"\
"DO4[!:?]Digital Output 4"\
"DO5[!:?]Digital Output 5"\
"DO6[!:?]Digital Output 6"\
"DO7[!:?]Digital Output 7"\
"DO8[!:?]Digital Output 8"\
"TMS[!:?]Timer Set       "\
"TMR[!:?]Timer Run(ing)  "\
"TRM[!:?]Time Remaining  "\
"NOP[!: ]Not implemented "


#define KEYWORDS \
"SYN" "ACK" "NAK" "SWV" "HWV" "GIT" "MEM" "SSN" "HLP" "FTL" "ALT" "WAR" "INF" \
"DBG" "LOG" "STC" "DVL" "LVL" "RST" "BLD" "STP" "CMD" "NOW" "TIM" "MLD" "SOD" \
"EOD" "RED" "AMT" "AMH" "PX1" "AD1" "AD2" "AD3" "AD4" "AD5" "AD6" "AD7" "AD8" \
"DI1" "DI2" "DI3" "DI4" "DI5" "DI6" "DI7" "DI8" "DO1" "DO2" "DO3" "DO4" "DO5" \
"DO6" "DO7" "DO8" "TMS" "TMR" "TRM" "NOP"


enum keywordIndex {
_SYN_,_ACK_,_NAK_,_SWV_,_HWV_,_GIT_,_MEM_,_SSN_,_HLP_,_FTL_,_ALT_,_WAR_,_INF_,
_DBG_,_LOG_,_STC_,_DVL_,_LVL_,_RST_,_BLD_,_STP_,_CMD_,_NOW_,_TIM_,_MLD_,_SOD_,
_EOD_,_RED_,_AMT_,_AMH_,_PX1_,_AD1_,_AD2_,_AD3_,_AD4_,_AD5_,_AD6_,_AD7_,_AD8_,
_DI1_,_DI2_,_DI3_,_DI4_,_DI5_,_DI6_,_DI7_,_DI8_,_DO1_,_DO2_,_DO3_,_DO4_,_DO5_,
_DO6_,_DO7_,_DO8_,_TMS_,_TMR_,_TRM_,_NOP_};

// use enum to determine the size of the keyword arrays.
#define NKEYWORDS  _NOP_ + 1

#endif