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; //Reg Name Functionlity/Contents D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 /*** LTFU and RTFU Limit switches ***/ const Int32 F1_LS_01_Direct = 0x020 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv F1_LS_DH_CLEAN_DOWN F1_LS_DH_CLEAN_LEFT F1_LS_DH_CLEAN_RIGHT F1_LS_DH_CLEAN_UP F1_LS_DH_LID_CLEANING F1_LS_DH_LID_CLOSED F1_LS_DH_LID_OPEN F1_LS_DH_SPARE2 F1_LS_DRYER_LID_CLOSED F1_LS_DRYER_LID_OPEN F1_LS_DRYER_SPARE1 F1_LS_DRYER_SPARE2 F1_LS_DRYER_SPARE3 F1_LS_DRYER_SPARE4 const Int32 F1_LS_02_Direct = 0x030 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv F1_LS_LDANCER1_DOWN F1_LS_LDANCER1_UP F1_LS_LDANCER2_DOWN F1_LS_LDANCER2_UP F1_LS_LLOADMOTOR_DOWN F1_LS_LLOADMOTOR_UP F1_LS_LOADARM_LEFT F1_LS_LOADARM_RIGHT F1_LS_LPIVOT_DOWN F1_LS_LPIVOT_UP F1_LS_LSPARE1 F1_LS_LSPARE2 F1_LS_PIVOT_SPARE1 F1_LS_PIVOT_SPARE2 const Int32 F1_LS_03_Direct = 0x040 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F1_SW_SPOOL_EXISTS F1_SW_SPARE F1_LS_RDANCER_DOWN F1_LS_RDANCER_UP F1_LS_RLOADMOTOR_DOWN F1_LS_RLOADMOTOR_UP F1_LS_RLOADRAM_DOWN F1_LS_RLOADRAM_UP F1_LS_RSPARE1 F1_LS_RSPARE2 F1_LS_SCREW_LEFT F1_LS_SCREW_RIGHT /*** Dispenser switches ***/ const Int32 F2_LS_01_Direct = 0x020 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_2 F2_LS_DISPENSER_25_2 F2_LS_DISPENSER_75_2 F2_LS_DISPENSER_DOWN_2 F2_LS_DISPENSER_50_2 F2_LS_DISPENSER_SPARE_2 F2_LS_DISPENSER_UP_1 F2_LS_DISPENSER_25_1 F2_LS_DISPENSER_75_1 F2_LS_DISPENSER_DOWN_1 F2_LS_DISPENSER_50_1 F2_LS_DISPENSER_SPARE_1 const Int32 F2_LS_02_Direct = 0x030 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_4 F2_LS_DISPENSER_25_4 F2_LS_DISPENSER_75_4 F2_LS_DISPENSER_DOWN_4 F2_LS_DISPENSER_50_4 F2_LS_DISPENSER_SPARE_4 F2_LS_DISPENSER_UP_3 F2_LS_DISPENSER_25_3 F2_LS_DISPENSER_75_3 F2_LS_DISPENSER_DOWN_3 F2_LS_DISPENSER_50_3 F2_LS_DISPENSER_SPARE_3 const Int32 F2_LS_03_Direct = 0x040 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_6 F2_LS_DISPENSER_25_6 F2_LS_DISPENSER_75_6 F2_LS_DISPENSER_DOWN_6 F2_LS_DISPENSER_50_6 F2_LS_DISPENSER_SPARE_6 F2_LS_DISPENSER_UP_5 F2_LS_DISPENSER_25_5 F2_LS_DISPENSER_75_5 F2_LS_DISPENSER_DOWN_5 F2_LS_DISPENSER_50_5 F2_LS_DISPENSER_SPARE_5 const Int32 F2_LS_04_Direct = 0x080 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv F2_LS_DISPENSER_UP_8 F2_LS_DISPENSER_25_8 F2_LS_DISPENSER_75_8 F2_LS_DISPENSER_DOWN_8 F2_LS_DISPENSER_50_8 F2_LS_DISPENSER_SPARE_8 F2_LS_DISPENSER_UP_7 F2_LS_DISPENSER_25_7 F2_LS_DISPENSER_75_7 F2_LS_DISPENSER_DOWN_7 F2_LS_DISPENSER_50_7 F2_LS_DISPENSER_SPARE_7 const Int32 F3_LS_01_Direct = 0x080 ; // Reads the direct values that are currently being sent to the fpga. rsv rsv rsv rsv rsv rsv rsv rsv F3_LS_SPARE1_1 F3_LS_SPARE1_2 F3_LS_SPARE1_3 F3_LS_SPARE1_4 F3_LS_SPARE2_1 F3_LS_SPARE2_2 F3_LS_SPARE2_3 F3_LS_SPARE2_4 string[] F1_LS_01_Bits = { "F1_LS_DRYER_SPARE4", "F1_LS_DRYER_SPARE3", "F1_LS_DRYER_SPARE2", "F1_LS_DRYER_SPARE1", "F1_LS_DRYER_LID_OPEN", "F1_LS_DRYER_LID_CLOSED", "F1_LS_DH_SPARE2", "F1_LS_DH_LID_OPEN", "F1_LS_DH_LID_CLOSED", "F1_LS_DH_LID_CLEANING", "F1_LS_DH_CLEAN_UP", "F1_LS_DH_CLEAN_RIGHT", "F1_LS_DH_CLEAN_LEFT", "F1_LS_DH_CLEAN_DOWN", "rsv", "rsv"}; string[] F1_LS_02_Bits = { "F1_LS_PIVOT_SPARE2", "F1_LS_PIVOT_SPARE1", "F1_LS_LSPARE2", "F1_LS_LSPARE1", "F1_LS_LPIVOT_UP", "F1_LS_LPIVOT_DOWN", "F1_LS_LOADARM_RIGHT", "F1_LS_LOADARM_LEFT", "F1_LS_LLOADMOTOR_UP", "F1_LS_LLOADMOTOR_DOWN", "F1_LS_LDANCER2_UP", "F1_LS_LDANCER2_DOWN", "F1_LS_LDANCER1_UP", "F1_LS_LDANCER1_DOWN", "rsv", "rsv"}; string[] F1_LS_03_Bits = { "F1_LS_SCREW_RIGHT", "F1_LS_SCREW_LEFT", "F1_LS_RSPARE2", "F1_LS_RSPARE1", "F1_LS_RLOADRAM_UP", "F1_LS_RLOADRAM_DOWN", "F1_LS_RLOADMOTOR_UP", "F1_LS_RLOADMOTOR_DOWN", "F1_LS_RDANCER_UP", "F1_LS_RDANCER_DOWN", "F1_SW_SPARE", "F1_SW_SPOOL_EXISTS", "rsv", "rsv", "rsv", "rsv"}; string[] F2_LS_01_Bits = { "F2_LS_DISPENSER_SPARE_1", "F2_LS_DISPENSER_50_1", "F2_LS_DISPENSER_DOWN_1", "F2_LS_DISPENSER_75_1", "F2_LS_DISPENSER_25_1", "F2_LS_DISPENSER_UP_1", "F2_LS_DISPENSER_SPARE_2", "F2_LS_DISPENSER_50_2", "F2_LS_DISPENSER_DOWN_2", "F2_LS_DISPENSER_75_2", "F2_LS_DISPENSER_25_2", "F2_LS_DISPENSER_UP_2", "rsv", "rsv", "rsv", "rsv"}; string[] F2_LS_02_Bits = { "F2_LS_DISPENSER_SPARE_3", "F2_LS_DISPENSER_50_3", "F2_LS_DISPENSER_DOWN_3", "F2_LS_DISPENSER_75_3", "F2_LS_DISPENSER_25_3", "F2_LS_DISPENSER_UP_3", "F2_LS_DISPENSER_SPARE_4", "F2_LS_DISPENSER_50_4", "F2_LS_DISPENSER_DOWN_4", "F2_LS_DISPENSER_75_4", "F2_LS_DISPENSER_25_4", "F2_LS_DISPENSER_UP_4", "rsv", "rsv", "rsv", "rsv"}; string[] F2_LS_03_Bits = { "F2_LS_DISPENSER_SPARE_5", "F2_LS_DISPENSER_50_5", "F2_LS_DISPENSER_DOWN_5", "F2_LS_DISPENSER_75_5", "F2_LS_DISPENSER_25_5", "F2_LS_DISPENSER_UP_5", "F2_LS_DISPENSER_SPARE_6", "F2_LS_DISPENSER_50_6", "F2_LS_DISPENSER_DOWN_6", "F2_LS_DISPENSER_75_6 ", "F2_LS_DISPENSER_25_6 ", "F2_LS_DISPENSER_UP_6 ", "rsv", "rsv", "rsv", "rsv"}; string[] F2_LS_04_Bits = { "F2_LS_DISPENSER_SPARE_7", "F2_LS_DISPENSER_50_7", "F2_LS_DISPENSER_DOWN_7", "F2_LS_DISPENSER_75_7", "F2_LS_DISPENSER_25_7", "F2_LS_DISPENSER_UP_7", "F2_LS_DISPENSER_SPARE_8", "F2_LS_DISPENSER_50_8", "F2_LS_DISPENSER_DOWN_8", "F2_LS_DISPENSER_75_8", "F2_LS_DISPENSER_25_8", "F2_LS_DISPENSER_UP_8", "rsv", "rsv", "rsv", "rsv"}; string[] F3_LS_01_Bits = { "F3_LS_SPARE2_4", "F3_LS_SPARE2_3", "F3_LS_SPARE2_2", "F3_LS_SPARE2_1", "F3_LS_SPARE1_4", "F3_LS_SPARE1_3", "F3_LS_SPARE1_2", "F3_LS_SPARE1_1", "rsv", "rsv", "rsv", "rsv", "rsv", "rsv", "rsv", "rsv"};