-----------------------------------------------------------------------
-- Adapted from X_360 Lua by DazTheGas - Last Updated 07/12/16 SDK 3233
-- Updated by MsIvie/Wreckermech - 05/30/2020
--   EStop done in different script so not dependent on Left Trigger being engaged
--
-- NOTE:  Copy and paste text into a LUA Script screen to install
----------------------------------------------------------------------------------
---------------Declares

local mInst = mc.mcGetInstance()
local Xenabled = 0
local ESState = false

-- EStop
	EStop_Panel = wx.wxPanel(wx.NULL, wx.wxID_ANY, wx.wxDefaultPosition, wx.wxDefaultSize)
	EStop_Timer = wx.wxTimer(EStop_Panel)
	EStop_Timer:Start(50)
	

---------------Functions

function GetXin(xinput)
	local hreg = mc.mcRegGetHandle(mInst, string.format("mcX360_LUA/%s", xinput))
	return mc.mcRegGetValueLong(hreg)
end

---------------Event Timers
EStop_Panel:Connect(wx.wxEVT_TIMER, function(event)
		if GetXin("Btn_B") == 1 and ESState == false then
			local EStop = mc.mcSignalGetState (mc.mcSignalGetHandle (mInst, mc.ISIG_EMERGENCY))
			if (EStop == 1) then
				mc.mcSignalSetState (mc.mcSignalGetHandle(mInst, mc.ISIG_EMERGENCY), 0)
			else
				mc.mcSignalSetState (mc.mcSignalGetHandle (mInst, mc.ISIG_EMERGENCY), 1)
			end
			ESState = true
		end
		if GetXin("Btn_B") == 0 and ESState == true then
			ESState = false
		end
end)