''========================================================================================
''	DROs
''========================================================================================

''
'	The following should be cut/pasted into macro files and used as #defines
''

''
'	 Miscellaneous system DRO and LED Definitions
''

MachXAxisDRO = 			0	' X Axis DRO 
MachYAxisDRO = 			1	' Y Axis DRO
MachZAxisDRO = 			2	' Z Axis DRO
MachXAxisOEMDRO = 		0	' X Axis OEM DRO 
MachYAxisOEMDRO = 		1	' Y Axis OEM DRO
MachZAxisOEMDRO = 		2	' Z Axis OEM DRO
MachXAxisMachineOEMDRO = 	83	' X Axis Machine Coordinate OEM DRO 
MachYAxisMachineOEMDRO = 	84	' Y Axis Machine Coordinate OEM DRO 
MachZAxisMachineOEMDRO = 	85	' Z Axis Machine Coordinate OEM DRO 
MachFeedrateDRO = 		818	' OEM code for feedrate DRO
MachXTouchDRO = 		2000	' OEM code for DRO that holds X touch position
MachYTouchDRO = 		2001 	' OEM code for DRO that holds Y touch position
MachZTouchDRO = 		2002 	' OEM code for DRO that holds Y touch position

MachAbsoluteModeLED = 		48	' Absolute Coordinate Mode LED
MachIncrementalModeLED = 	49	' Incremental Coordinate Mode LED
MachProbeLED = 			825	' OEM code for probe input LED


''
'	 Miscellaneous Useful Definitions
''

XAxis =                         0       ' Symbol for argument passing
YAxis =                         1       ' Symbol for argument passing
ZAxis =                         2       ' Symbol for argument passing
Plus =                          1       ' Symbol for argument passing
Minus =                         -1      ' Symbol for argument passing
Success =                       0       ' Success Return Value
Failure =                       -1      ' Failure Return Value
Busy =                          1       ' Busy, for waiting for macros to complete
NotBusy =                       0       ' Not Busy, for waiting for macros to complete


''
'	 My User DRO and LED Definitions
''

''
' Touch Macro DROs
''

ProbeDiameterDRO =		1000	' Touch probe diameter
TouchPlateThicknessDRO = 	1001	' Z Touch plate thickness
ViseWidthDRO =			1100	' Vise width, for vise alignment macros
ProbeBackOffDistanceDRO =	1101	' Back-off distance, after probing in X/Y
ProbeDistanceDRO =		1102	' Max. Distance to move when probing
ProbeFeedRateDRO = 		1103	' Feedrate to use when probing
ZProbeBackOffDistanceDRO = 	1104	' Back-off distance, after probing in Z

''
' Macro Helper DROs
''

ReturnValueDRO = 		1107	' Used for macro return codes
MacroBusySemaphoreDRO =		1108	' Busy flag, used by macros.  Must be zeroed by top-level macros
LastHighLevelMacroDRO =		1109	' Number of last high-level macro executed - used for ShuttlePro mapping

''
' The next two DROs are used by the ShuttlePro, to map which macro executes when the two macro buttons are used
''
ShuttleProMacro1DRO =		1198	' DRO used for mapping Macro1 button in M998 macro
ShuttleProMacro2DRO =		1199	' DRO used for mapping Macro1 button in M998 macro


''========================================================================================
''	LEDs
''========================================================================================

''
' ShuttlePro Macro 1 Mapping LEDs
''
XPlusEdgeFindLED1 = 		1100	' X+ Edge Finder Macro Mapped to Shuttle Pro Macro1
XMinusEdgeFindLED1 = 		1101	' X- Edge Finder Macro Mapped to Shuttle Pro Macro1
YPlusEdgeFindLED1 = 		1102	' Y+ Edge Finder Macro Mapped to Shuttle Pro Macro1
YMinusEdgeFindLED1 = 		1103	' Y- Edge Finder Macro Mapped to Shuttle Pro Macro1
ZMinusEdgeFindLED1 = 		1104	' Z- Edge Find/Tool Length Setting Macro Mapped to Shuttle Pro Macro1

LFCornerFindLED1 = 		1105	' LF Corner Finder Macro Mapped to Shuttle Pro Macro1
RFCornerFindLED1 = 		1106	' RF Corner Finder Macro Mapped to Shuttle Pro Macro1
LRCornerFindLED1 = 		1107	' LR Corner Finder Macro Mapped to Shuttle Pro Macro1
RRCornerFindLED1 = 		1108	' RR Corner Finder Macro Mapped to Shuttle Pro Macro1

LFViseAlignLED1 = 		1109	' LF Vise Align Macro Mapped to Shuttle Pro Macro1
RFViseAlignLED1 = 		1110	' RF Vise Align Macro Mapped to Shuttle Pro Macro1
LRViseAlignLED1 = 		1111	' LR Vise Align Macro Mapped to Shuttle Pro Macro1
RRViseAlignLED1 = 		1112	' RR Vise Align Macro Mapped to Shuttle Pro Macro1

XMidPointFindLED1 = 		1113	' X Axis Mid-Point Finder Macro Mapped to Shuttle Pro Macro1
YMidPointFindLED1 = 		1114	' Y Axis Mid-Point Finder Macro Mapped to Shuttle Pro Macro1

CenterFindLED1 =		1115	' Center Finder Macro Mapped to Shuttle Pro Macro1


''
' ShuttlePro Macro 2 Mapping LEDs
''
XPlusEdgeFindLED2 = 		1120	' X+ Edge Finder Macro Mapped to Shuttle Pro Macro2
XMinusEdgeFindLED2 = 		1121	' X- Edge Finder Macro Mapped to Shuttle Pro Macro2
YPlusEdgeFindLED2 = 		1122	' Y+ Edge Finder Macro Mapped to Shuttle Pro Macro2
YMinusEdgeFindLED2 = 		1123	' Y- Edge Finder Macro Mapped to Shuttle Pro Macro2
ZMinusEdgeFindLED2 = 		1124	' Z- Edge Find/Tool Length Setting Macro Mapped to Shuttle Pro Macro2

LFCornerFindLED2 = 		1125	' LF Corner Finder Macro Mapped to Shuttle Pro Macro2
RFCornerFindLED2 = 		1126	' RF Corner Finder Macro Mapped to Shuttle Pro Macro2
LRCornerFindLED2 = 		1127	' LR Corner Finder Macro Mapped to Shuttle Pro Macro2
RRCornerFindLED2 = 		1128	' RR Corner Finder Macro Mapped to Shuttle Pro Macro2

XPlusViseAlignLED2 = 		1129	' X Plus Vise Align Macro Mapped to Shuttle Pro Macro2
XMinusViseAlignLED2 = 		1130	' X Minus Vise Align Macro Mapped to Shuttle Pro Macro2
YPlusViseAlignLED2 = 		1131	' Y Plus Vise Align Macro Mapped to Shuttle Pro Macro2
TMinusViseAlignLED2 = 		1132	' Y Minus Vise Align Macro Mapped to Shuttle Pro Macro2

XMidPointFindLED2 = 		1133	' X Axis Mid-Point Finder Macro Mapped to Shuttle Pro Macro2
YMidPointFindLED2 = 		1134	' Y Axis Mid-Point Finder Macro Mapped to Shuttle Pro Macro2

CenterFindLED2 =		1135	' Center Finder Macro Mapped to Shuttle Pro Macro2


''========================================================================================
''	Macros
''========================================================================================

''
'	Primitive Macros
'
'	These require parameters, so cannot be called directly by buttons
''
EdgeFindMacro =			"M900"	' Edge finder - requires MacroParameter1DRO & MacroParameter2DRO
CornerFindMacro =		"M901"	' Corner finder - requires MacroParameter1DRO & MacroParameter2DRO
ViseAlignMacro =		"M902"	' Vice alignment macro - requires MacroParameter1DRO & MacroParameter2DRO
MidPointFindMacro =		"M903"	' Mid-Point Finder - requires MacroParameter1DRO

''
'	Low-Level Macros
'
'	These generally call only Primitive macros.
'	These should not be called directly by buttons, as they do not initialize
'	the Busy semaphore.
''
XPlusEdgeFindMacro =		"M910"	' X axis Plus edge finder macro
XMinusEdgeFindMacro =		"M911"	' X axis Minus edge finder macro
YPlusEdgeFindMacro =		"M912"	' Y axis Plus edge finder macro
YMinusEdgeFindMacro =		"M913"	' Y axis Minus edge finder macro
ZMinusEdgeFindMacro =		"M914"	' Z axis Minus edge (tool length) finder macro
LFCornerFindMacro =		"M915"	' Left front corner finder macro
RFCornerFindMacro =		"M916"	' Right front corner finder macro
LRCornerFindMacro =		"M917"	' Left rear corner finder macro
RRCornerFindMacro =		"M918"	' Right rear corner finder macro
LFViseAlignMacro = 		"M919"	' Left front corner vise alignment macro
RFViseAlignMacro = 		"M920"	' Right front corner vise alignment macro
LRViseAlignMacro = 		"M921"	' Left rear corner vise alignment macro
RRViseAlignMacro = 		"M922"	' Right rear corner vise alignment macro
XMidPointFindMacro = 		"M923"	' X Axis mid-point finder macro
YMidPointFindMacro = 		"M924"	' Y Axis mid-point finder macro
CenterFindMacro = 		"M925"	' Center finder macro


''
'	High-Level Macros
'
'	These generally call only Primitive and Low-Level macros, and
'	all can be called directly by buttons.  These are generally just
'	wrappers for lower-level macros that intialize the Busy semaphore.
''
Button_XPlusEdgeFindMacro =	"M950"	' Button-callable X axis Plus edge finder macro
Button_XMinusEdgeFindMacro =	"M951"	' Button-callable X axis Minus edge finder macro
Button_YPlusEdgeFindMacro =	"M952"	' Button-callable Y axis Plus edge finder macro
Button_YMinusEdgeFindMacro =	"M953"	' Button-callable Y axis Minus edge finder macro
Button_ZMinusEdgeFindMacro =	"M954"	' Button-callable Z axis Minus edge (tool length) finder macro
Button_LFCornerFindMacro =	"M955"	' Button-callable Left front corner finder macro
Button_RFCornerFindMacro =	"M956"	' Button-callable Right front corner finder macro
Button_LRCornerFindMacro =	"M957"	' Button-callable Left rear corner finder macro
Button_RRCornerFindMacro =	"M958"	' Button-callable Right rear corner finder macro
Button_LFViseAlignMacro = 	"M959"	' Button-callable Left front corner vise alignment macro
Button_RFViseAlignMacro = 	"M960"	' Button-callable Right front corner vise alignment macro
Button_LRViseAlignMacro = 	"M961"	' Button-callable Left rear corner vise alignment macro
Button_RRViseAlignMacro = 	"M962"	' Button-callable Right rear corner vise alignment macro
Button_XMidPointFindMacro = 	"M963"	' Button-callable X Axis mid-point finder macro
Button_YMidPointFindMacro = 	"M964"	' Button-callable Y Axis mid-point finder macro
Button_CenterFindMacro = 	"M965"	' Button-callable Center finder macro

''
' The following macro primitives are used for on-the-fly mapping of Shuttle Pro button macros
''

M998	- ShuttlePro Macro 1 Button Mapping Macro
M999  	- ShuttlePro Macro 2 Button Mapping Macro

