public Servos()
		{
			m_Servos = new Servo[8];
			for (int servoIndex = 0; servoIndex < Servos.c_ServosCount; servoIndex++)
			{
				m_Servos[servoIndex] = new Servo(servoIndex);
			}
		}
Exemple #2
0
 public Servos()
 {
     m_Servos = new Servo[8];
     for (int servoIndex = 0; servoIndex < Servos.c_ServosCount; servoIndex++)
     {
         m_Servos[servoIndex] = new Servo(servoIndex);
     }
 }
		public static void ConfigureServosFromFile(string filePath, Servo[] servos)
		{
			using (StreamReader file = new StreamReader(filePath))
			{
				for (int servoIndex = 0; servoIndex < Servos.c_ServosCount; servoIndex++)
				{
					InitializeServo(file, servos[servoIndex]);
				}
			}
		}
Exemple #4
0
 private static void WriteParameters(StreamWriter writer, Servo servo, int index)
 {
     writer.Write(index);
     writer.Write('\t');
     writer.Write(servo.Name);
     writer.Write('\t');
     writer.Write(servo.MinPosMSecs);
     writer.Write('\t');
     writer.Write(servo.MaxPosMSecs);
     writer.Write('\t');
     writer.Write(servo.Slope);
     writer.Write('\t');
     writer.Write(servo.YIntercept);
     writer.WriteLine();
 }
		private static void WriteParameters(StreamWriter writer, Servo servo, int index)
		{
			writer.Write(index);
			writer.Write('\t');
			writer.Write(servo.Name);
			writer.Write('\t');
			writer.Write(servo.MinPosMSecs);
			writer.Write('\t');
			writer.Write(servo.MaxPosMSecs);
			writer.Write('\t');
			writer.Write(servo.Slope);
			writer.Write('\t');
			writer.Write(servo.YIntercept);
			writer.WriteLine();
		}
Exemple #6
0
        private static void InitializeServo(StreamReader file, Servo servo)
        {
            bool isEnabled = ParseBoolean(file.ReadLine());
            bool isReverse = ParseBoolean(file.ReadLine());

            file.ReadLine();             // Rate
            file.ReadLine();             // Don't know what this number means
            int limit1Ticks   = Int32.Parse(file.ReadLine(), CultureInfo.InvariantCulture);
            int limit2Ticks   = Int32.Parse(file.ReadLine(), CultureInfo.InvariantCulture);
            int limit1Degrees = Int32.Parse(file.ReadLine(), CultureInfo.InvariantCulture);
            int limit2Degrees = Int32.Parse(file.ReadLine(), CultureInfo.InvariantCulture);

            int minPosMSecs;
            int maxPosMSecs;

            int maxDegrees;
            int minDegrees;

            if (limit2Ticks > limit1Ticks)
            {
                minPosMSecs = MillisecsFromTicks(limit1Ticks);
                maxPosMSecs = MillisecsFromTicks(limit2Ticks);

                minDegrees = limit1Degrees;
                maxDegrees = limit2Degrees;
            }
            else
            {
                // inverse
                minPosMSecs = MillisecsFromTicks(limit2Ticks);
                maxPosMSecs = MillisecsFromTicks(limit1Ticks);

                minDegrees = limit2Degrees;
                maxDegrees = limit1Degrees;
            }

            double slope      = (double)((maxPosMSecs - minPosMSecs)) / ((double)(maxDegrees - minDegrees));
            double yIntercept = maxPosMSecs - slope * maxDegrees;

            servo.Initialize(
                isEnabled,
                minPosMSecs,
                maxPosMSecs,
                slope,
                yIntercept);
        }
		private static void InitializeServo(StreamReader file, Servo servo)
		{
			bool isEnabled = ParseBoolean(file.ReadLine());
			bool isReverse = ParseBoolean(file.ReadLine());
			file.ReadLine(); // Rate
			file.ReadLine(); // Don't know what this number means
			int limit1Ticks = Int32.Parse(file.ReadLine(), CultureInfo.InvariantCulture);
			int limit2Ticks = Int32.Parse(file.ReadLine(), CultureInfo.InvariantCulture);
			int limit1Degrees = Int32.Parse(file.ReadLine(), CultureInfo.InvariantCulture);
			int limit2Degrees = Int32.Parse(file.ReadLine(), CultureInfo.InvariantCulture);

			int minPosMSecs;
			int maxPosMSecs;

			int maxDegrees;
			int minDegrees;

			if (limit2Ticks > limit1Ticks)
			{
				minPosMSecs = MillisecsFromTicks(limit1Ticks);
				maxPosMSecs = MillisecsFromTicks(limit2Ticks);

				minDegrees = limit1Degrees;
				maxDegrees = limit2Degrees;
			}
			else
			{
				// inverse
				minPosMSecs = MillisecsFromTicks(limit2Ticks);
				maxPosMSecs = MillisecsFromTicks(limit1Ticks);

				minDegrees = limit2Degrees;
				maxDegrees = limit1Degrees;
			}

			double slope = (double)((maxPosMSecs - minPosMSecs)) / ((double)(maxDegrees - minDegrees));
			double yIntercept = maxPosMSecs - slope * maxDegrees;

			servo.Initialize(
				isEnabled,
				minPosMSecs,
				maxPosMSecs,
				slope,
				yIntercept);
		}
		private static void InitializeServo(StreamReader reader, Servo servo)
		{
			string line = reader.ReadLine();
			string[] parts = line.Split('\t');

			int index = Int32.Parse(parts[(int)ParamField.Index], CultureInfo.InvariantCulture);
			string name = parts[(int)ParamField.Name];
			int minPosMilliSecs = Int32.Parse(parts[(int)ParamField.MinPosMilliSecs], CultureInfo.InvariantCulture);
			servo.MinPosMSecs = minPosMilliSecs;

			int maxPosMilliSecs = Int32.Parse(parts[(int)ParamField.MaxPosMilliSecs], CultureInfo.InvariantCulture);
			servo.MaxPosMSecs = maxPosMilliSecs;

			double slope = Double.Parse(parts[(int)ParamField.Slope], CultureInfo.InvariantCulture);
			servo.Slope = slope;

			double yIntercept = Double.Parse(parts[(int)ParamField.YIntercept], CultureInfo.InvariantCulture);
			servo.YIntercept = yIntercept;
		}
Exemple #9
0
        private static void InitializeServo(StreamReader reader, Servo servo)
        {
            string line = reader.ReadLine();

            string[] parts = line.Split('\t');

            int    index           = Int32.Parse(parts[(int)ParamField.Index], CultureInfo.InvariantCulture);
            string name            = parts[(int)ParamField.Name];
            int    minPosMilliSecs = Int32.Parse(parts[(int)ParamField.MinPosMilliSecs], CultureInfo.InvariantCulture);

            servo.MinPosMSecs = minPosMilliSecs;

            int maxPosMilliSecs = Int32.Parse(parts[(int)ParamField.MaxPosMilliSecs], CultureInfo.InvariantCulture);

            servo.MaxPosMSecs = maxPosMilliSecs;

            double slope = Double.Parse(parts[(int)ParamField.Slope], CultureInfo.InvariantCulture);

            servo.Slope = slope;

            double yIntercept = Double.Parse(parts[(int)ParamField.YIntercept], CultureInfo.InvariantCulture);

            servo.YIntercept = yIntercept;
        }