using System; using System.Text; using System.Linq; using System.Drawing; using System.Diagnostics; using System.Windows.Forms; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Tango.PMR.Stubs; using Tango.Stubs; /*** Dryer Motors ***/ const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_00 = 0x60000240 ; const Int32 F1_MOTO_DRYER_LOADARM_A1_TX_01 = 0x60000242 ; const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_00 = 0x60000244 ; const Int32 F1_MOTO_DRYER_LOADARM_A1_RX_01 = 0x60000246 ; const Int32 x_ABS_POS = 0x01; const Int32 x_EL_POS = 0x02; const Int32 x_MARK = 0x03; const Int32 x_SPEED = 0x04; const Int32 x_GET_PARAM = 0x20; const Int32 x_MOVE_PARAM = 0x40; public void OnExecute(StubManager stubManager) { // Request ---- // UInt32 : Address // UInt32 : Value // Response ---- // String : Status // UInt32 : StatusWord stubManager.Run("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_01,0); stubManager.Run("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_00,(x_GET_PARAM | x_ABS_POS)<<8); var response = stubManager.Run("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_00); response = stubManager.Run("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_01); stubManager.Run("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_01,0); stubManager.Run("StubFpgaWriteRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_TX_00,0); response = stubManager.Run("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_00); response = stubManager.Run("StubFpgaReadRegRequest" ,F1_MOTO_DRYER_LOADARM_A1_RX_01); }