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.Hardware; using Tango.PMR.Printing; using Tango.PMR.Stubs; using Tango.Stubs; public void OnExecute(StubManager stubManager) { Thread.Sleep(10); HardwareMotor Dispenser7Motor = new HardwareMotor(); Dispenser7Motor.HardwareMotorType = Tango.PMR.Hardware.HardwareMotorType.MotoDispenser7; Dispenser7Motor.MinFrequency = 0; Dispenser7Motor.MaxFrequency = 100000; Dispenser7Motor.SetMicroStep = 1; Dispenser7Motor.MicroStep = 16; Dispenser7Motor.MaxChangeSlope = 0x7ff; Dispenser7Motor.HighLengthMicroSecond = 0; Dispenser7Motor.SpeedMaster = false; Dispenser7Motor.PulsePerRound = 200; Dispenser7Motor.PulleyRadius = 0.8; Dispenser7Motor.ConfigWord = 0x1CA0; Dispenser7Motor.DirectionThreadWize = false; Dispenser7Motor.KvalHold = 0x08; Dispenser7Motor.KvalRun = 0x20; Dispenser7Motor.KvalAcc = 0x20; Dispenser7Motor.KvalDec = 0x3ff; Dispenser7Motor.OverCurrentThreshold = 0xF; Dispenser7Motor.StallThreshold = 0x7F; Dispenser7Motor.ThermalCompensationFactor = 0; Dispenser7Motor.LowSpeedOptimization = false; Dispenser7Motor.StSlp = 0x7; Dispenser7Motor.IntSpd = 0x22C5; Dispenser7Motor.FnSlpAcc = 0x15; Dispenser7Motor.FnSlpDec = 0x15; Dispenser7Motor.FsSpd = 0x3ff; UploadHardwareConfigurationRequest uploadHardwareConfigurationRequest = new UploadHardwareConfigurationRequest(); HardwareConfiguration hardwareConfiguration = new HardwareConfiguration(); hardwareConfiguration.Motors.Add(Dispenser7Motor); stubManager.WriteLine("data.data length = " + hardwareConfiguration.CalculateSize()); uploadHardwareConfigurationRequest.HardwareConfiguration = hardwareConfiguration; var response = stubManager.Run(uploadHardwareConfigurationRequest); /*Thread.Sleep(5000);*/ var response3 = stubManager.Run("StubValveRequest" ,6, 10, false); var response4 = stubManager.Run("StubMotorRunRequest" ,12, false, 1200); Thread.Sleep(1000); //open valve toward the midtank, stop dispenser 7 //var response3 = stubManager.Run("StubValveRequest" ,6, 10, false); //var response2 = stubManager.Run("StubMotorStopRequest" ,12,2); }