aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection/stubs/SystemTestAdvanced1.cs
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-07-04 15:57:56 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-07-04 15:57:56 +0300
commitfdf45caba5c70e4a368ab5fc62398ac3cccc697c (patch)
treec60b9c924b085ff8af3f614af22b852dd3b7c22a /Software/Stubs Collection/stubs/SystemTestAdvanced1.cs
parent1246a201b4600899b4e11243ffb9ff300674750d (diff)
downloadTango-fdf45caba5c70e4a368ab5fc62398ac3cccc697c.tar.gz
Tango-fdf45caba5c70e4a368ab5fc62398ac3cccc697c.zip
Stubs collection
Diffstat (limited to 'Software/Stubs Collection/stubs/SystemTestAdvanced1.cs')
-rw-r--r--Software/Stubs Collection/stubs/SystemTestAdvanced1.cs559
1 files changed, 559 insertions, 0 deletions
diff --git a/Software/Stubs Collection/stubs/SystemTestAdvanced1.cs b/Software/Stubs Collection/stubs/SystemTestAdvanced1.cs
new file mode 100644
index 000000000..adf20472e
--- /dev/null
+++ b/Software/Stubs Collection/stubs/SystemTestAdvanced1.cs
@@ -0,0 +1,559 @@
+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.UI;
+
+public void OnExecute(StubManager stubManager)
+{
+//SystemResetRequest systemResetRequest = new SystemResetRequest();
+//var response1 = stubManager.Run<SystemResetResponse>(systemResetRequest);
+// stubManager.Run("StubGPIOWriteBitRequest" ,"P", 4, true);//ON
+ Thread.Sleep(10);
+// stubManager.Run("StubGPIOWriteBitRequest" ,"P", 4, false);//OFF
+ Thread.Sleep(10);
+// stubManager.Run("StubGPIOWriteBitRequest" ,"P", 4, true);//ON
+/*UploadProcessParametersRequest uploadProcessParametersRequest = new UploadProcessParametersRequest();
+
+ProcessParameters processParameters = new ProcessParameters();
+processParameters.DyeingSpeed = 10;
+processParameters.MixerTemp = 0;
+processParameters.DryerBufferLength = 0;
+processParameters.MinInkUptake = 0;
+processParameters.HeadZone1Temp = 0;
+processParameters.DryerZone1Temp = 100;
+processParameters.FeederTension = 0;
+processParameters.DryerZone2Temp = 100;
+processParameters.HeadZone2Temp = 0;
+processParameters.PullerTension = 0;
+processParameters.HeadZone3Temp = 0;
+processParameters.DryerZone3Temp = 0;
+processParameters.WinderTension = 0;
+processParameters.HeadAirFlow = 0;
+processParameters.DryerAirFlow = 0;
+processParameters.TableIndex = 0;
+
+uploadProcessParametersRequest.ProcessParameters = processParameters;
+var response1 = stubManager.Run<UploadProcessParametersResponse>(uploadProcessParametersRequest);
+*/
+
+UploadHardwareConfigurationRequest uploadHardwareConfigurationRequest = new UploadHardwareConfigurationRequest();
+
+HardwareConfiguration hardwareConfiguration = new HardwareConfiguration();
+
+
+HardwarePidControl hardwarePidControl1 = new HardwarePidControl();
+hardwarePidControl1.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorFeeder;
+hardwarePidControl1.OutputProportionalPowerLimit = 80;
+hardwarePidControl1.OutputProportionalBand = 5;
+hardwarePidControl1.IntegralTime = 5;
+hardwarePidControl1.DerivativeTime = 0;
+hardwarePidControl1.SensorCorrectionAdjustment = 0;
+hardwarePidControl1.SensorMinValue = 0;
+hardwarePidControl1.SensorMaxValue = 0;
+hardwarePidControl1.SetPointRampRateorSoftStartRamp = 0;
+hardwarePidControl1.SetPointControlOutputRate = 4;
+hardwarePidControl1.ControlOutputType = 0;
+hardwarePidControl1.SsrControlOutputType = 0;
+hardwarePidControl1.OutputOnOffHysteresisValue = 0;
+hardwarePidControl1.ProcessVariableSamplingRate = 1000;
+hardwarePidControl1.PvInputFilterFactorMode = 4;
+hardwarePidControl1.OutputProportionalCycleTime = 0;
+hardwarePidControl1.AcHeatersHalfCycleTime = 0;
+hardwarePidControl1.ProportionalGain = 11.0;
+hardwareConfiguration.PidControls.Add(hardwarePidControl1);
+
+
+HardwarePidControl hardwarePidControl2 = new HardwarePidControl();
+hardwarePidControl2.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorPooler;
+hardwarePidControl2.OutputProportionalPowerLimit = 80;
+hardwarePidControl2.OutputProportionalBand = 5;
+hardwarePidControl2.IntegralTime = 5;
+hardwarePidControl2.DerivativeTime = 0;
+hardwarePidControl2.SensorCorrectionAdjustment = 0;
+hardwarePidControl2.SensorMinValue = 0;
+hardwarePidControl2.SensorMaxValue = 0;
+hardwarePidControl2.SetPointRampRateorSoftStartRamp = 0;
+hardwarePidControl2.SetPointControlOutputRate = 4;
+hardwarePidControl2.ControlOutputType = 0;
+hardwarePidControl2.SsrControlOutputType = 0;
+hardwarePidControl2.OutputOnOffHysteresisValue = 0;
+hardwarePidControl2.ProcessVariableSamplingRate = 1000;
+hardwarePidControl2.PvInputFilterFactorMode = 4;
+hardwarePidControl2.OutputProportionalCycleTime = 0;
+hardwarePidControl2.AcHeatersHalfCycleTime = 0;
+hardwarePidControl2.ProportionalGain = 11.0;
+hardwareConfiguration.PidControls.Add(hardwarePidControl2);
+
+
+HardwarePidControl hardwarePidControl3 = new HardwarePidControl();
+hardwarePidControl3.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MotorWinder;
+hardwarePidControl3.OutputProportionalPowerLimit = 80;
+hardwarePidControl3.OutputProportionalBand = 5;
+hardwarePidControl3.IntegralTime = 5;
+hardwarePidControl3.DerivativeTime = 0;
+hardwarePidControl3.SensorCorrectionAdjustment = 0;
+hardwarePidControl3.SensorMinValue = 0;
+hardwarePidControl3.SensorMaxValue = 0;
+hardwarePidControl3.SetPointRampRateorSoftStartRamp = 0;
+hardwarePidControl3.SetPointControlOutputRate = 4;
+hardwarePidControl3.ControlOutputType = 0;
+hardwarePidControl3.SsrControlOutputType = 0;
+hardwarePidControl3.OutputOnOffHysteresisValue = 0;
+hardwarePidControl3.ProcessVariableSamplingRate = 1000;
+hardwarePidControl3.PvInputFilterFactorMode = 4;
+hardwarePidControl3.OutputProportionalCycleTime = 0;
+hardwarePidControl3.AcHeatersHalfCycleTime = 0;
+hardwarePidControl3.ProportionalGain = 11.0;
+hardwareConfiguration.PidControls.Add(hardwarePidControl3);
+ HardwarePidControl Pid1 = new HardwarePidControl();
+ HardwarePidControl Pid2 = new HardwarePidControl();
+//Pid1.has_hardwarepidcontroltype = true;
+/*Pid1.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.DryerHeater1000W;
+ // Pid1.has_outputproportionalpowerlimit = true;
+ Pid1.OutputProportionalPowerLimit = 50;
+ // Pid1.has_outputproportionalband = true;
+ Pid1.OutputProportionalBand = 3;
+ // Pid1.has_kp = true;
+ Pid1.SensorCorrectionAdjustment = 2.0;
+ //Pid1.has_ki = true;
+ Pid1.IntegralTime = 0.01;
+Pid1.OutputProportionalPowerLimit = 80;
+Pid1.OutputProportionalBand = 5;
+Pid1.IntegralTime = 5;
+Pid1.DerivativeTime = 0;
+Pid1.SensorCorrectionAdjustment = 0;
+Pid1.SensorMinValue = 0;
+Pid1.SensorMaxValue = 0;
+Pid1.SetPointRampRateorSoftStartRamp = 0;
+Pid1.SetPointControlOutputRate = 4;
+Pid1.ControlOutputType = 0;
+Pid1.SsrControlOutputType = 0;
+Pid1.OutputOnOffHysteresisValue = 0;
+Pid1.ProcessVariableSamplingRate = 1000;
+Pid1.PvInputFilterFactorMode = 4;
+Pid1.OutputProportionalCycleTime = 0;
+Pid1.AcHeatersHalfCycleTime = 0;
+Pid1.ProportionalGain = 500.0;
+//hardwareConfiguration.PidControls.Add(Pid1);
+
+ //Pid2.has_hardwarepidcontroltype = true;
+Pid2.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.DryerHeater200W1;
+ // Pid2.has_outputproportionalpowerlimit = true;
+ Pid2.OutputProportionalPowerLimit = 40;
+ // Pid2.has_outputproportionalband = true;
+ Pid2.OutputProportionalBand = 3;
+ // Pid2.has_kp = true;
+ Pid2.SensorCorrectionAdjustment = 0.5;
+ //Pid2.has_ki = true;
+ Pid2.IntegralTime = 0.1;
+Pid2.OutputProportionalPowerLimit = 80;
+Pid2.OutputProportionalBand = 5;
+Pid2.IntegralTime = 5;
+Pid2.DerivativeTime = 0;
+Pid2.SensorCorrectionAdjustment = 0;
+Pid2.SensorMinValue = 0;
+Pid2.SensorMaxValue = 0;
+Pid2.SetPointRampRateorSoftStartRamp = 0;
+Pid2.SetPointControlOutputRate = 4;
+Pid2.ControlOutputType = 0;
+Pid2.SsrControlOutputType = 0;
+Pid2.OutputOnOffHysteresisValue = 0;
+Pid2.ProcessVariableSamplingRate = 1000;
+Pid2.PvInputFilterFactorMode = 4;
+Pid2.OutputProportionalCycleTime = 0;
+Pid2.AcHeatersHalfCycleTime = 0;
+Pid2.ProportionalGain = 500.0;
+//hardwareConfiguration.PidControls.Add(Pid2);
+*/
+/*
+ HardwarePidControl Pid3 = new HardwarePidControl();
+ HardwarePidControl Pid4 = new HardwarePidControl();
+//Pid3.has_hardwarepidcontroltype = true;
+Pid3.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.HeadHeaterZ1;
+ // Pid1.has_outputproportionalpowerlimit = true;
+ Pid3.OutputProportionalPowerLimit = 50;
+ // Pid1.has_outputproportionalband = true;
+ Pid3.OutputProportionalBand = 3;
+ // Pid1.has_kp = true;
+ Pid3.SensorCorrectionAdjustment = 2.0;
+ //Pid1.has_ki = true;
+ Pid3.IntegralTime = 0.01;
+Pid3.OutputProportionalPowerLimit = 80;
+Pid3.OutputProportionalBand = 5;
+Pid3.IntegralTime = 5;
+Pid3.DerivativeTime = 0;
+Pid3.SensorCorrectionAdjustment = 0;
+Pid3.SensorMinValue = 0;
+Pid3.SensorMaxValue = 0;
+Pid3.SetPointRampRateorSoftStartRamp = 0;
+Pid3.SetPointControlOutputRate = 4;
+Pid3.ControlOutputType = 0;
+Pid3.SsrControlOutputType = 0;
+Pid3.OutputOnOffHysteresisValue = 0;
+Pid3.ProcessVariableSamplingRate = 1000;
+Pid3.PvInputFilterFactorMode = 4;
+Pid3.OutputProportionalCycleTime = 0;
+Pid3.AcHeatersHalfCycleTime = 0;
+Pid3.ProportionalGain = 500.0;
+hardwareConfiguration.PidControls.Add(Pid3);
+
+ //Pid2.has_hardwarepidcontroltype = true;
+
+Pid4.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.HeadHeaterZ2;
+ // Pid2.has_outputproportionalpowerlimit = true;
+ Pid4.OutputProportionalPowerLimit = 40;
+ // Pid2.has_outputproportionalband = true;
+ Pid4.OutputProportionalBand = 3;
+ // Pid2.has_kp = true;
+ Pid4.SensorCorrectionAdjustment = 0.5;
+ //Pid2.has_ki = true;
+ Pid4.IntegralTime = 0.1;
+
+Pid4.OutputProportionalPowerLimit = 80;
+Pid4.OutputProportionalBand = 5;
+Pid4.IntegralTime = 5;
+Pid4.DerivativeTime = 0;
+Pid4.SensorCorrectionAdjustment = 0;
+Pid4.SensorMinValue = 0;
+Pid4.SensorMaxValue = 0;
+Pid4.SetPointRampRateorSoftStartRamp = 0;
+Pid4.SetPointControlOutputRate = 4;
+Pid4.ControlOutputType = 0;
+Pid4.SsrControlOutputType = 0;
+Pid4.OutputOnOffHysteresisValue = 0;
+Pid4.ProcessVariableSamplingRate = 1000;
+Pid4.PvInputFilterFactorMode = 4;
+Pid4.OutputProportionalCycleTime = 0;
+Pid4.AcHeatersHalfCycleTime = 0;
+Pid4.ProportionalGain = 500.0;
+hardwareConfiguration.PidControls.Add(Pid4);
+
+HardwarePidControl Pid5 = new HardwarePidControl();
+ HardwarePidControl Pid6 = new HardwarePidControl();
+//Pid1.has_hardwarepidcontroltype = true;
+Pid5.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.HeadHeaterZ3;
+ // Pid1.has_outputproportionalpowerlimit = true;
+ Pid5.OutputProportionalPowerLimit = 50;
+ // Pid1.has_outputproportionalband = true;
+ Pid5.OutputProportionalBand = 3;
+ // Pid1.has_kp = true;
+ Pid5.SensorCorrectionAdjustment = 2.0;
+ //Pid1.has_ki = true;
+ Pid5.IntegralTime = 0.01;
+Pid5.OutputProportionalPowerLimit = 80;
+Pid5.OutputProportionalBand = 5;
+Pid5.IntegralTime = 5;
+Pid5.DerivativeTime = 0;
+Pid5.SensorCorrectionAdjustment = 0;
+Pid5.SensorMinValue = 0;
+Pid5.SensorMaxValue = 0;
+Pid5.SetPointRampRateorSoftStartRamp = 0;
+Pid5.SetPointControlOutputRate = 4;
+Pid5.ControlOutputType = 0;
+Pid5.SsrControlOutputType = 0;
+Pid5.OutputOnOffHysteresisValue = 0;
+Pid5.ProcessVariableSamplingRate = 1000;
+Pid5.PvInputFilterFactorMode = 4;
+Pid5.OutputProportionalCycleTime = 0;
+Pid5.AcHeatersHalfCycleTime = 0;
+Pid5.ProportionalGain = 500.0;
+hardwareConfiguration.PidControls.Add(Pid5);
+
+ //Pid2.has_hardwarepidcontroltype = true;
+Pid6.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.HeadHeaterZ4;
+ // Pid2.has_outputproportionalpowerlimit = true;
+ Pid6.OutputProportionalPowerLimit = 40;
+ // Pid2.has_outputproportionalband = true;
+ Pid6.OutputProportionalBand = 3;
+ // Pid2.has_kp = true;
+ Pid6.SensorCorrectionAdjustment = 0.5;
+ //Pid2.has_ki = true;
+ Pid6.IntegralTime = 0.1;
+Pid6.OutputProportionalPowerLimit = 80;
+Pid6.OutputProportionalBand = 5;
+Pid6.IntegralTime = 5;
+Pid6.DerivativeTime = 0;
+Pid6.SensorCorrectionAdjustment = 0;
+Pid6.SensorMinValue = 0;
+Pid6.SensorMaxValue = 0;
+Pid6.SetPointRampRateorSoftStartRamp = 0;
+Pid6.SetPointControlOutputRate = 4;
+Pid6.ControlOutputType = 0;
+Pid6.SsrControlOutputType = 0;
+Pid6.OutputOnOffHysteresisValue = 0;
+Pid6.ProcessVariableSamplingRate = 1000;
+Pid6.PvInputFilterFactorMode = 4;
+Pid6.OutputProportionalCycleTime = 0;
+Pid6.AcHeatersHalfCycleTime = 0;
+Pid6.ProportionalGain = 500.0;
+hardwareConfiguration.PidControls.Add(Pid6);
+/*
+HardwarePidControl Pid7 = new HardwarePidControl();
+//Pid1.has_hardwarepidcontroltype = true;
+Pid7.HardwarePidControlType = Tango.PMR.Hardware.HardwarePidControlType.MixerHeater;
+ // Pid1.has_outputproportionalpowerlimit = true;
+ Pid7.OutputProportionalPowerLimit = 50;
+ // Pid1.has_outputproportionalband = true;
+ Pid7.OutputProportionalBand = 3;
+ // Pid1.has_kp = true;
+ Pid7.SensorCorrectionAdjustment = 2.0;
+ //Pid1.has_ki = true;
+ Pid7.IntegralTime = 0.01;
+//hardwareConfiguration.PidControls.Add(Pid7);
+*/
+
+HardwareDancer hardwareDancer1 = new HardwareDancer();
+hardwareDancer1.HardwareDancerType = Tango.PMR.Hardware.HardwareDancerType.RightDancer;
+hardwareDancer1.Gradual = false;
+hardwareDancer1.K = 0;
+hardwareDancer1.X = 0;
+hardwareDancer1.PulsePerMmSpring = 0;
+hardwareDancer1.MaximalMovementMm = 15;
+hardwareDancer1.ZeroPoint = 13626;
+hardwareDancer1.ResolutionBits = 14;
+hardwareDancer1.ArmLength = 126;
+hardwareConfiguration.Dancers.Add(hardwareDancer1);
+
+ HardwareDancer hardwareDancer2 = new HardwareDancer();
+ hardwareDancer2.HardwareDancerType = Tango.PMR.Hardware.HardwareDancerType.MiddleDancer;
+ hardwareDancer2.Gradual = false;
+ hardwareDancer2.K = 0;
+ hardwareDancer2.X = 0;
+ hardwareDancer2.PulsePerMmSpring = 0;
+ hardwareDancer2.MaximalMovementMm = 15;
+ hardwareDancer2.ZeroPoint = 13200;
+ hardwareDancer2.ResolutionBits = 14;
+ hardwareDancer2.ArmLength = 126;
+hardwareConfiguration.Dancers.Add(hardwareDancer2);
+
+ HardwareDancer hardwareDancer3 = new HardwareDancer();
+ hardwareDancer3.HardwareDancerType = Tango.PMR.Hardware.HardwareDancerType.LeftDancer;
+ hardwareDancer3.Gradual = false;
+ hardwareDancer3.K = 0;
+ hardwareDancer3.X = 0;
+ hardwareDancer3.PulsePerMmSpring = 0;
+ hardwareDancer3.MaximalMovementMm = 15;
+ hardwareDancer3.ZeroPoint = 11097;
+ hardwareDancer3.ResolutionBits = 14;
+ hardwareDancer3.ArmLength = 126;
+hardwareConfiguration.Dancers.Add(hardwareDancer3);
+
+HardwareMotor hardwareMotor1 = new HardwareMotor();
+hardwareMotor1.HardwareMotorType = Tango.PMR.Hardware.HardwareMotorType.MotoRdriving;
+hardwareMotor1.MinFrequency = 0;
+hardwareMotor1.MaxFrequency = 1000000;
+hardwareMotor1.SetMicroStep = 1;
+hardwareMotor1.MicroStep = 1;
+hardwareMotor1.MaxChangeSlope = 10000;
+hardwareMotor1.HighLengthMicroSecond = 0;
+hardwareMotor1.SpeedMaster = false;
+hardwareMotor1.PulsePerRound = 200;
+hardwareMotor1.PulleyRadius = 1.25;
+hardwareMotor1.ConfigWord = 0x1C80;
+hardwareMotor1.DirectionThreadWize = true;
+hardwareMotor1.KvalHold = 0x35;
+hardwareMotor1.KvalRun = 0x7f;
+hardwareMotor1.KvalAcc = 0x7f;
+hardwareMotor1.KvalDec = 0x7f;
+hardwareMotor1.OverCurrentThreshold = 7;
+hardwareMotor1.StallThreshold = 0x1F;
+hardwareMotor1.ThermalCompensationFactor = 0;
+hardwareMotor1.LowSpeedOptimization = false;
+hardwareMotor1.StSlp = 0x20;
+hardwareMotor1.IntSpd = 0x1A13;
+hardwareMotor1.FnSlpAcc = 0x50;
+hardwareMotor1.FnSlpDec = 0x50;
+hardwareConfiguration.Motors.Add(hardwareMotor1);
+
+HardwareMotor hardwareMotor2 = new HardwareMotor();
+hardwareMotor2.HardwareMotorType = Tango.PMR.Hardware.HardwareMotorType.MotoWinder;
+hardwareMotor2.MinFrequency = 0;
+hardwareMotor2.MaxFrequency = 1000000;
+hardwareMotor2.SetMicroStep = 1;
+hardwareMotor2.MicroStep = 16;
+hardwareMotor2.MaxChangeSlope = 10000;
+hardwareMotor2.HighLengthMicroSecond = 0;
+hardwareMotor2.SpeedMaster = false;
+hardwareMotor2.PulsePerRound = 200;
+hardwareMotor2.PulleyRadius = 1.68;
+hardwareMotor2.ConfigWord = 0x1c80;
+hardwareMotor2.DirectionThreadWize = false;
+hardwareMotor2.KvalHold = 0x35;
+hardwareMotor2.KvalRun = 0x7f;
+hardwareMotor2.KvalAcc = 0x7f;
+hardwareMotor2.KvalDec = 0x7f;
+hardwareMotor2.OverCurrentThreshold = 7;
+hardwareMotor2.StallThreshold = 0x1F;
+hardwareMotor2.ThermalCompensationFactor = 0;
+hardwareMotor2.LowSpeedOptimization = false;
+hardwareMotor2.StSlp = 0x20;
+hardwareMotor2.IntSpd = 0x1A13;
+hardwareMotor2.FnSlpAcc = 0x50;
+hardwareMotor2.FnSlpDec = 0x50;
+hardwareConfiguration.Motors.Add(hardwareMotor2);
+
+HardwareMotor hardwareMotor3 = new HardwareMotor();
+hardwareMotor3.HardwareMotorType = Tango.PMR.Hardware.HardwareMotorType.MotoDryerDriving;
+hardwareMotor3.MinFrequency = 0;
+hardwareMotor3.MaxFrequency = 1000000;
+hardwareMotor3.SetMicroStep = 1;
+hardwareMotor3.MicroStep = 1;
+hardwareMotor3.MaxChangeSlope = 1000;
+hardwareMotor3.HighLengthMicroSecond = 0;
+hardwareMotor3.SpeedMaster = true;
+hardwareMotor3.PulsePerRound = 200;
+hardwareMotor3.PulleyRadius = 1.05;
+hardwareMotor3.ConfigWord = 0x1c80;
+hardwareMotor3.DirectionThreadWize = true;
+hardwareMotor3.KvalHold = 0x35;
+hardwareMotor3.KvalRun = 0x7f;
+hardwareMotor3.KvalAcc = 0x7f;
+hardwareMotor3.KvalDec = 0x7f;
+hardwareMotor3.OverCurrentThreshold = 7;
+hardwareMotor3.StallThreshold = 0x1F;
+hardwareMotor3.ThermalCompensationFactor = 0;
+hardwareMotor3.LowSpeedOptimization = false;
+hardwareMotor3.StSlp = 0x20;
+hardwareMotor3.IntSpd = 0x1A13;
+hardwareMotor3.FnSlpAcc = 0x50;
+hardwareMotor3.FnSlpDec = 0x50;
+hardwareConfiguration.Motors.Add(hardwareMotor3);
+
+HardwareMotor hardwareMotor4 = new HardwareMotor();
+hardwareMotor4.HardwareMotorType = Tango.PMR.Hardware.HardwareMotorType.MotoLdriving;
+hardwareMotor4.MinFrequency = 0;
+hardwareMotor4.MaxFrequency = 1000000;
+hardwareMotor4.SetMicroStep = 1;
+hardwareMotor4.MicroStep = 8;
+hardwareMotor4.MaxChangeSlope = 10000;
+hardwareMotor4.HighLengthMicroSecond = 0;
+hardwareMotor4.SpeedMaster = false;
+hardwareMotor4.PulsePerRound = 200;
+hardwareMotor4.PulleyRadius = 1.25;
+hardwareMotor4.ConfigWord = 0x1C80;
+hardwareMotor4.DirectionThreadWize = true;
+hardwareMotor4.KvalHold = 0x35;
+hardwareMotor4.KvalRun = 0x7f;
+hardwareMotor4.KvalAcc = 0x7f;
+hardwareMotor4.KvalDec = 0x7f;
+hardwareMotor4.OverCurrentThreshold = 7;
+hardwareMotor4.StallThreshold = 0x1F;
+hardwareMotor4.ThermalCompensationFactor = 0;
+hardwareMotor4.LowSpeedOptimization = false;
+hardwareMotor4.StSlp = 20;
+hardwareMotor4.IntSpd = 0x1A13;
+hardwareMotor4.FnSlpAcc = 0x50;
+hardwareMotor4.FnSlpDec = 0x50;
+hardwareConfiguration.Motors.Add(hardwareMotor4);
+
+
+HardwareMotor hardwareMotor5 = new HardwareMotor();
+hardwareMotor5.HardwareMotorType = Tango.PMR.Hardware.HardwareMotorType.MotoScrew;
+hardwareMotor5.MinFrequency = 0;
+hardwareMotor5.MaxFrequency = 1000000;
+hardwareMotor5.SetMicroStep = 1;
+hardwareMotor5.MicroStep = 8;
+hardwareMotor5.MaxChangeSlope = 10000;
+hardwareMotor5.HighLengthMicroSecond = 0;
+hardwareMotor5.SpeedMaster = false;
+hardwareMotor5.PulsePerRound = 200;
+hardwareMotor5.PulleyRadius = 1.3;
+hardwareMotor5.ConfigWord = 0x1C80;
+hardwareMotor5.DirectionThreadWize = true;
+hardwareMotor5.KvalHold = 0x35;
+hardwareMotor5.KvalRun = 0x7f;
+hardwareMotor5.KvalAcc = 0x7f;
+hardwareMotor5.KvalDec = 0x7f;
+hardwareMotor5.OverCurrentThreshold = 7;
+hardwareMotor5.StallThreshold = 0x1F;
+hardwareMotor5.ThermalCompensationFactor = 0;
+hardwareMotor5.LowSpeedOptimization = false;
+hardwareMotor5.StSlp = 0x20;
+hardwareMotor5.IntSpd = 0x1A13;
+hardwareMotor5.FnSlpAcc = 0x50;
+hardwareMotor5.FnSlpDec = 0x50;
+hardwareConfiguration.Motors.Add(hardwareMotor5);
+
+HardwareMotor hardwareMotor6 = new HardwareMotor();
+hardwareMotor6.HardwareMotorType = Tango.PMR.Hardware.HardwareMotorType.MotoLloading;
+hardwareMotor6.MinFrequency = 0;
+hardwareMotor6.MaxFrequency = 1000000;
+hardwareMotor6.SetMicroStep = 1;
+hardwareMotor6.MicroStep = 4;
+hardwareMotor6.MaxChangeSlope = 10000;
+hardwareMotor6.HighLengthMicroSecond = 0;
+hardwareMotor6.SpeedMaster = false;
+hardwareMotor6.PulsePerRound = 200;
+hardwareMotor6.PulleyRadius = 1.3;
+hardwareMotor6.ConfigWord = 0xC80;
+hardwareMotor6.DirectionThreadWize = true;
+hardwareMotor6.KvalHold = 0x28;
+hardwareMotor6.KvalRun = 0x5f;
+hardwareMotor6.KvalAcc = 0x5f;
+hardwareMotor6.KvalDec = 0x5f;
+hardwareMotor6.OverCurrentThreshold = 7;
+hardwareMotor6.StallThreshold = 0x1F;
+hardwareMotor6.ThermalCompensationFactor = 0;
+hardwareMotor6.LowSpeedOptimization = false;
+hardwareMotor6.StSlp = 6;
+hardwareMotor6.IntSpd = 0x44B8;
+hardwareMotor6.FnSlpAcc = 0x14;
+hardwareMotor6.FnSlpDec = 0x14;
+hardwareConfiguration.Motors.Add(hardwareMotor6);
+
+HardwareMotor hardwareMotor7 = new HardwareMotor();
+hardwareMotor7.HardwareMotorType = Tango.PMR.Hardware.HardwareMotorType.MotoRloading;
+hardwareMotor7.MinFrequency = 0;
+hardwareMotor7.MaxFrequency = 1000000;
+hardwareMotor7.SetMicroStep = 1;
+hardwareMotor7.MicroStep = 4;
+hardwareMotor7.MaxChangeSlope = 10000;
+hardwareMotor7.HighLengthMicroSecond = 0;
+hardwareMotor7.SpeedMaster = false;
+hardwareMotor7.PulsePerRound = 200;
+hardwareMotor7.PulleyRadius = 1.3;
+hardwareMotor7.ConfigWord = 0xC80;
+hardwareMotor7.DirectionThreadWize = false;
+hardwareMotor7.KvalHold = 0x28;
+hardwareMotor7.KvalRun = 0x5f;
+hardwareMotor7.KvalAcc = 0x5f;
+hardwareMotor7.KvalDec = 0x5f;
+hardwareMotor7.OverCurrentThreshold = 7;
+hardwareMotor7.StallThreshold = 0x1F;
+hardwareMotor7.ThermalCompensationFactor = 0;
+hardwareMotor7.LowSpeedOptimization = false;
+hardwareMotor7.StSlp = 6;
+hardwareMotor7.IntSpd = 0x44B8;
+hardwareMotor7.FnSlpAcc = 0x14;
+hardwareMotor7.FnSlpDec = 0x14;
+hardwareConfiguration.Motors.Add(hardwareMotor7);
+
+stubManager.WriteLine("data.data length = " + hardwareConfiguration.CalculateSize());
+
+
+uploadHardwareConfigurationRequest.HardwareConfiguration = hardwareConfiguration;
+var response = stubManager.Run<UploadHardwareConfigurationResponse>(uploadHardwareConfigurationRequest);
+ /*Thread.Sleep(5000);
+
+ stubManager.Run("StubGPIOWriteBitRequest" ,"Q", 7, false);//OFF
+ Thread.Sleep(10);
+ stubManager.Run("StubGPIOWriteBitRequest" ,"Q", 4, true);//ON
+ Thread.Sleep(10);
+ stubManager.Run("StubGPIOWriteBitRequest" ,"Q", 4, false);//OFF
+ Thread.Sleep(10);
+ stubManager.Run("StubGPIOWriteBitRequest" ,"Q", 4, true);//ON
+
+*/
+
+
+}
+