private void SetMotor3(int value)
 {
     Motor1.Invoke(new EventHandler(delegate
     {
         Motor3.Value = value;
     }));
 }
        public override void Initialize()
        {
            // RESET stanu silników
            Interface.Write(new byte[] { DeviceId, 1, RESET });

            // odczytanie konfiguracji
            byte config = 0;

            if (Motor1 != null)
            {
                if (Motor1.KeepTourque)
                {
                    config |= 0x01;
                }
                if (Motor1.InvertZeroSensor)
                {
                    config |= 0x04;
                }
            }
            if (Motor2 != null)
            {
                if (Motor2.KeepTourque)
                {
                    config |= 0x02;
                }
                if (Motor2.InvertZeroSensor)
                {
                    config |= 0x08;
                }
            }

            // CONFIG konfiguracja silników
            Interface.Write(new byte[] { DeviceId, 2, CONFIG, config });

            _pause = 1 | 2;

            if (Motor1 != null)
            {
                Motor1.Device = this;
                Motor1.Initialize();
            }

            if (Motor2 != null)
            {
                Motor2.Device = this;
                Motor2.Initialize();
            }
        }
        public override void Uninitialize()
        {
            if (Motor1 != null)
            {
                Motor1.Uninitialize();
            }

            if (Motor2 != null)
            {
                Motor2.Uninitialize();
            }

            // RESET
            Interface.Write(new byte[] { DeviceId, 1, RESET });

            // zapisanie stanu
            if (NeedToSaveState)
            {
                XMLConfiguration.Load().Save();
            }
        }
 public virtual void SaveToXml(XmlTextWriter xmlWriter)
 {
     xmlWriter.WriteStartElement("stepperDevice");
     xmlWriter.WriteAttributeString("interface", Interface.Id);
     xmlWriter.WriteAttributeString("id", Id);
     xmlWriter.WriteAttributeString("description", Description);
     xmlWriter.WriteAttributeString("device", DeviceId.ToString());
     xmlWriter.WriteAttributeString("type", Type.ToString());
     if (Motor1 != null)
     {
         xmlWriter.WriteStartElement("motor1");
         Motor1.Save(xmlWriter);
         xmlWriter.WriteEndElement();
     }
     if (Motor2 != null)
     {
         xmlWriter.WriteStartElement("motor2");
         Motor2.Save(xmlWriter);
         xmlWriter.WriteEndElement();
     }
     xmlWriter.WriteEndElement();
 }
 public void Dispose()
 {
     Motor1?.Dispose();
     Motor2?.Dispose();
 }
 public void MoveForwardLeft()
 {
     Motor1.Stop();
     Motor2.MoveForward();
 }
 public void MoveForward()
 {
     Motor1.MoveForward();
     Motor2.MoveForward();
 }
 public void Stop()
 {
     Motor1.Stop();
     Motor2.Stop();
 }
 public void RotateRight()
 {
     Motor1.MoveForward();
     Motor2.MoveBackward();
 }
 public void MoveBackwardRight()
 {
     Motor2.Stop();
     Motor1.MoveBackward();
 }
 public void MoveBackward()
 {
     Motor1.MoveBackward();
     Motor2.MoveBackward();
 }