EX-CommandStation EXRAIL Documentation
EXRAIL Language
Loading...
Searching...
No Matches
/home/runner/work/CommandStation-EX/CommandStation-EX/EXRAIL2MacroReset.h
Go to the documentation of this file.
1/*
2 * © 2020-2025 Chris Harlow. All rights reserved.
3 * © 2022-2023 Colin Murdoch
4 * © 2023 Harald Barth
5 * © 2025 Morten Nielsen
6 *
7 * This file is part of CommandStation-EX
8 *
9 * This is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation, either version 3 of the License, or
12 * (at your option) any later version.
13 *
14 * It is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with CommandStation. If not, see https://www.gnu.org/licenses/.
21 */
22
23// This file cleans and resets the RMFT2 Macros.
24// It is used between passes to reduce complexity in RMFT2Macros.h
25// DO NOT add an include guard to this file.
26
27// Doxygen comments in this file are intended for the EXRAIL end user.
28
42// Undefine all RMFT macros
43#undef ACTIVATE
44#undef ACTIVATEL
45#undef AFTER
46#undef AFTEROVERLOAD
47#undef ALIAS
48#undef AMBER
49#undef ANOUT
50#undef ASPECT
51#undef AT
52#undef ATGTE
53#undef ATLT
54#undef ATTIMEOUT
55#undef AUTOMATION
56#undef AUTOSTART
57#undef BLINK
58#undef BROADCAST
59#undef CALL
60#undef CLEAR_STASH
61#undef CLEAR_ALL_STASH
62#undef CLOSE
63#undef CONFIGURE_SERVO
64#undef DCC_SIGNAL
65#undef DCCX_SIGNAL
66#undef DCC_TURNTABLE
67#undef DEACTIVATE
68#undef DEACTIVATEL
69#undef DELAY
70#undef DELAYMINS
71#undef DELAYRANDOM
72#undef DONE
73#undef DRIVE
74#undef ELSE
75#undef ENDEXRAIL
76#undef ENDIF
77#undef ENDTASK
78#undef ESTOP
79#undef EXRAIL
80#undef EXTT_TURNTABLE
81#undef FADE
82#undef FOFF
83#undef FOLLOW
84#undef FON
85#undef FORGET
86#undef FTOGGLE
87#undef FREE
88#undef FWD
89#undef GREEN
90#undef HAL
91#undef HAL_IGNORE_DEFAULTS
92#undef IF
93#undef IFAMBER
94#undef IFCLOSED
95#undef IFGREEN
96#undef IFGTE
97#undef IFLOCO
98#undef IFLT
99#undef IFNOT
100#undef IFRANDOM
101#undef IFRED
102#undef IFRESERVE
103#undef IFTHROWN
104#undef IFTIMEOUT
105#undef IFTTPOSITION
106#undef IFRE
107#undef INVERT_DIRECTION
108#undef JMRI_SENSOR
109#undef JOIN
110#undef KILLALL
111#undef LATCH
112#undef LCD
113#undef SCREEN
114#undef LCC
115#undef LCCX
116#undef LCN
117#undef MOVETT
118#undef NEOPIXEL
119#undef NEOPIXEL_OFF
120#undef NEOPIXEL_SIGNAL
121#undef ACON
122#undef ACOF
123#undef ONACON
124#undef ONACOF
125#undef MESSAGE
126#undef ONACTIVATE
127#undef ONACTIVATEL
128#undef ONAMBER
129#undef ONDEACTIVATE
130#undef ONDEACTIVATEL
131#undef ONCLOSE
132#undef ONLCC
133#undef ONTIME
134#undef ONCLOCKTIME
135#undef ONCLOCKMINS
136#undef ONOVERLOAD
137#undef ONGREEN
138#undef ONRED
139#undef ONROTATE
140#undef ONBUTTON
141#undef ONSENSOR
142#undef ONTHROW
143#undef ONCHANGE
144#undef PARSE
145#undef PAUSE
146#undef PICKUP_STASH
147#undef PIN_TURNOUT
148#undef PRINT
149#undef POM
150#undef POWEROFF
151#undef POWERON
152#undef READ_LOCO
153#undef RED
154#undef RESERVE
155#undef RESET
156#undef RESUME
157#undef RETURN
158#undef REV
159#undef ROSTER
160#undef ROTATE
161#undef ROTATE_DCC
162#undef ROUTE
163#undef ROUTE_ACTIVE
164#undef ROUTE_INACTIVE
165#undef ROUTE_HIDDEN
166#undef ROUTE_DISABLED
167#undef ROUTE_CAPTION
168#undef SENDLOCO
169#undef SEQUENCE
170#undef SERIAL
171#undef SERIAL1
172#undef SERIAL2
173#undef SERIAL3
174#undef SERIAL4
175#undef SERIAL5
176#undef SERIAL6
177#undef SERVO
178#undef SERVO2
179#undef SERVO_TURNOUT
180#undef SERVO_SIGNAL
181#undef SET
182#undef SET_TRACK
183#undef SET_POWER
184#undef SETLOCO
185#undef SETFREQ
186#undef SIGNAL
187#undef SIGNALH
188#undef SPEED
189#undef START
190#undef STASH
191#undef STEALTH
192#undef STEALTH_GLOBAL
193#undef STOP
194#undef THROW
195#undef TOGGLE_TURNOUT
196#undef TT_ADDPOSITION
197#undef TURNOUT
198#undef TURNOUTL
199#undef UNJOIN
200#undef UNLATCH
201#undef VIRTUAL_SIGNAL
202#undef VIRTUAL_TURNOUT
203#undef WAITFOR
204#ifndef IO_NO_HAL
205#undef WAITFORTT
206#endif
207#undef WITHROTTLE
208#undef XFOFF
209#undef XFON
210#undef XFTOGGLE
211#undef XREV
212#undef XFWD
213
214#ifndef RMFT2_UNDEF_ONLY
221#define ACTIVATE(addr,subaddr)
227#define ACTIVATEL(longaddr)
234#define AFTER(sensor_id,timer...)
240#define AFTEROVERLOAD(track_id)
247#define ALIAS(name,value...)
253#define AMBER(signal_id)
263#define ANOUT(vpin,value,param1,param2)
269#define AT(sensor_id)
277#define ASPECT(address,value)
284#define ATGTE(sensor_id,value)
291#define ATLT(sensor_id,value)
299#define ATTIMEOUT(sensor_id,timeout_ms)
307#define AUTOMATION(id,description)
312#define AUTOSTART
321#define BLINK(vpin,onDuty,offDuty)
328#define BROADCAST(msg)
336#define CALL(route)
342#define CLEAR_STASH(id)
348#define CLEAR_ALL_STASH(id)
355#define CLOSE(id)
364#define CONFIGURE_SERVO(vpin,pos1,pos2,profile)
372#define DCC_SIGNAL(id,add,subaddr)
381#define DCCX_SIGNAL(id,redAspect,amberAspect,greenAspect)
389#define DCC_TURNTABLE(id,home,description...)
396#define DEACTIVATE(addr,subaddr)
402#define DEACTIVATEL(addr)
408#define DELAY(mindelay)
414#define DELAYMINS(mindelay)
421#define DELAYRANDOM(mindelay,maxdelay)
426#define DONE
432#define DRIVE(analogpin)
437#define ELSE
442#define ENDEXRAIL
449#define ENDIF
455#define ENDTASK
460#define ESTOP
465#define EXRAIL
474#define EXTT_TURNTABLE(id,vpin,home,description...)
482#define FADE(pin,value,ms)
489#define FOFF(func)
495#define FOLLOW(route)
502#define FON(func)
507#define FORGET
514#define FREE(blockid)
520#define FTOGGLE(func)
526#define FWD(speed)
532#define GREEN(signal_id)
539#define HAL(haltype,params...)
544#define HAL_IGNORE_DEFAULTS
550#define IF(sensor_id)
557#define IFAMBER(signal_id)
564#define IFCLOSED(turnout_id)
571#define IFGREEN(signal_id)
579#define IFGTE(sensor_id,value)
586#define IFLOCO(loco_id)
594#define IFLT(sensor_id,value)
601#define IFNOT(sensor_id)
608#define IFRANDOM(percent)
615#define IFRED(signal_id)
622#define IFTHROWN(turnout_id)
629#define IFRESERVE(block)
635#define IFTIMEOUT
643#define IFTTPOSITION(turntable_id,position)
650#define IFRE(sensor_id,value)
655#define INVERT_DIRECTION
662#define JMRI_SENSOR(vpin,count...)
667#define JOIN
672#define KILLALL
678#define LATCH(sensor_id)
684#define LCC(eventid)
691#define LCCX(senderid,eventid)
699#define LCD(row,msg)
708#define SCREEN(display,row,msg)
714#define LCN(msg)
720#define MESSAGE(msg)
728#define MOVETT(id,steps,activity)
738#define NEOPIXEL(id,r,g,b,count...)
748#define NEOPIXEL_SIGNAL(sigid,redcolour,ambercolour,greencolour)
754#define ACON(eventid)
760#define ACOF(eventid)
766#define ONACON(eventid)
772#define ONACOF(eventid)
779#define ONACTIVATE(addr,subaddr)
785#define ONACTIVATEL(linear)
791#define ONAMBER(signal_id)
797#define ONTIME(value)
804#define ONCLOCKTIME(hours,mins)
810#define ONCLOCKMINS(mins)
816#define ONOVERLOAD(track_id)
823#define ONDEACTIVATE(addr,subaddr)
829#define ONDEACTIVATEL(linear)
835#define ONCLOSE(turnout_id)
842#define ONLCC(sender,event)
848#define ONGREEN(signal_id)
854#define ONRED(signal_id)
860#define ONROTATE(turntable_id)
866#define ONTHROW(turnout_id)
872#define ONCHANGE(sensor_id)
878#define ONSENSOR(sensor_id)
884#define ONBUTTON(sensor_id)
890#define PAUSE
899#define PIN_TURNOUT(id,pin,description...)
905#define PRINT(msg)
911#define PARSE(msg)
917#define PICKUP_STASH(id)
924#define POM(cv,value)
929#define POWEROFF
934#define POWERON
939#define READ_LOCO
945#define RED(signal_id)
951#define RESERVE(blockid)
958#define RESET(pin,count...)
964#define RESUME
970#define RETURN
977#define REV(speed)
985#define ROTATE(turntable_id,position,activity)
992#define ROTATE_DCC(turntable_id,position)
1001#define ROSTER(cab,name,funcmap...)
1008#define ROUTE(id,description)
1014#define ROUTE_ACTIVE(id)
1020#define ROUTE_INACTIVE(id)
1026#define ROUTE_HIDDEN(id)
1032#define ROUTE_DISABLED(id)
1039#define ROUTE_CAPTION(id,caption)
1046#define SENDLOCO(cab,route)
1055#define SEQUENCE(id)
1061#define SERIAL(msg)
1067#define SERIAL1(msg)
1073#define SERIAL2(msg)
1079#define SERIAL3(msg)
1085#define SERIAL4(msg)
1091#define SERIAL5(msg)
1097#define SERIAL6(msg)
1105#define SERVO(id,position,profile)
1113#define SERVO2(id,position,duration)
1122#define SERVO_SIGNAL(vpin,redpos,amberpos,greenpos)
1133#define SERVO_TURNOUT(id,pin,activeAngle,inactiveAngle,profile,description...)
1140#define SET(pin,count...)
1147#define SET_TRACK(track,mode)
1154#define SET_POWER(track,onoff)
1160#define SETLOCO(loco)
1166#define SETFREQ(freq)
1175#define SIGNAL(redpin,amberpin,greenpin)
1183#define SIGNALH(redpin,amberpin,greenpin)
1189#define SPEED(speed)
1195#define START(route)
1201#define STASH(id)
1207#define STEALTH(code...)
1213#define STEALTH_GLOBAL(code...)
1218#define STOP
1224#define THROW(id)
1230#define TOGGLE_TURNOUT(id)
1240#define TT_ADDPOSITION(turntable_id,position,value,angle,description...)
1249#define TURNOUT(id,addr,subaddr,description...)
1258#define TURNOUTL(id,addr,description...)
1264#define UNJOIN
1271#define UNLATCH(sensor_id)
1277#define VIRTUAL_SIGNAL(id)
1284#define VIRTUAL_TURNOUT(id,description...)
1290#define WAITFOR(pin)
1291#ifndef IO_NO_HAL
1297#define WAITFORTT(turntable_id)
1298#endif
1304#define WITHROTTLE(msg)
1311#define XFOFF(cab,func)
1318#define XFON(cab,func)
1325#define XFTOGGLE(cab,func)
1332#define XFWD(cab,speed)
1339#define XREV(cab,speed)
1340
1341#endif