//This is the Constructor macro which executes once when the application gets loaded

AS3.Setfield(Convert.ToDouble(exec.Readkey ("GP Proto CNC", "X_palp", "0")), 3001);
AS3.Validatefield (3001);
AS3.Setfield(Convert.ToDouble(exec.Readkey ("GP Proto CNC", "Y_palp", "0")), 3002);
AS3.Validatefield (3002);
AS3.Setfield(Convert.ToDouble(exec.Readkey ("GP Proto CNC", "X_UT1", "0")), 3003);
AS3.Validatefield (3003);
AS3.Setfield(Convert.ToDouble(exec.Readkey ("GP Proto CNC", "Y_UT1", "0")), 3004);
AS3.Validatefield (3004);
AS3.Setfield(Convert.ToDouble(exec.Readkey ("GP Proto CNC", "ToolDown", "0")), 3005);
AS3.Validatefield (3005);
AS3.Setfield(Convert.ToDouble(exec.Readkey ("GP Proto CNC", "UTpres", "0")), 3006);
AS3.Validatefield (3006);
AS3.Setfield(Convert.ToDouble(exec.Readkey ("GP Proto CNC", "Zprobe", "0")), 3007);
AS3.Validatefield (3007);



AS3.Setfield (Convert.ToDouble(AS3jog.Getfield(2027)), 3000);
AS3.Validatefield (3000);
AS3.Setfield (Convert.ToDouble(AS3jog.Getfield(913)), 913);
AS3.Validatefield (913);

new Thread(delegate () {
    LoadCurrToolValue ();
	}).Start();

#Events

private void LoadCurrToolValue ()
{
	while (AS3.GetLED (25));
	Thread.Sleep (200);
	
	  
	exec.Setcurrenttool (Convert.ToInt32 (exec.Readkey ("GP Proto CNC", "CurrentTool", "0")));
	exec.Wait (100);
	AS3.Switchbutton (true, 20003);
}
