Esempio n. 1
0
        private void SaveBtn_Click(object sender, RoutedEventArgs e)
        {
            if (Current != null)
            {
                try
                {
                    Current.Min = Axis.SConvertDoubleString(Data.Min);
                    Current.Max = Axis.SConvertDoubleString(Data.Max);

                    Current.MinVelocity = Axis.SConvertDoubleString(Data.MinVelocity);
                    Current.MaxVelocity = Axis.SConvertDoubleString(Data.MaxVelocity);

                    Current.PositionSpeed = Axis.SConvertDoubleString(Data.PositionSpeed);
                    Current.RampRate      = int.Parse(Data.RampRate);

                    Current.RampDistancePercent = int.Parse(Data.RampDistancePercent);
                    Current.MinAccelRampTimeMS  = int.Parse(Data.MinAccelRampTimeMS);

                    Current.StaticRampDistance    = Axis.SConvertDoubleString(Data.StaticRampDistance);
                    Current.UseStaticRampDistance = Data.UseStaticRampDistance;
                }
                catch
                {
                    MessageBox.Show("Error in input data!\nPlease check all fields...");
                    return;
                }
                Current.Save();
                Data.RightVisibility = System.Windows.Visibility.Hidden;
                Current = null;
                AllAxes.UnselectAll();
            }
        }
Esempio n. 2
0
 /// <inheritdoc/>
 public void UpdateTable()
 {
     if (Table != null)
     {
         AllAxes axes = GetAccelerations();
         Table.PutNumber("X", axes.XAxis);
         Table.PutNumber("Y", axes.YAxis);
         Table.PutNumber("Z", axes.ZAxis);
     }
 }
 /// <summary>
 /// Get the acceleration of all axes in Gs.
 /// </summary>
 /// <returns>An object containing the acceleration measured on each side of the ADXL345 in Gs.</returns>
 public override AllAxes GetAccelerations()
 {
     AllAxes data = new AllAxes();
     byte[] rawData = new byte[6];
     m_i2C.Read(DataRegister, rawData.Length, rawData);
     data.XAxis = BitConverter.ToInt16(rawData, 0) * GsPerLSB;
     data.YAxis = BitConverter.ToInt16(rawData, 2) * GsPerLSB;
     data.ZAxis = BitConverter.ToInt16(rawData, 4) * GsPerLSB;
     return data;
 }
Esempio n. 4
0
        /// <summary>
        /// Erstellt eine neue Achse, speichert diese in AllAxes und gibt diese zurück.
        /// </summary>
        /// <param name="controlident">ControlIdent der neuen Achse</param>
        /// <returns>Die neu erstellte Achse</returns>
        public override Axis NewAxis(string controlident)
        {
            controlident = controlident.ToUpper();
            if (AllAxes.Exists(x => x.ControlIdent == controlident))
            {
                throw new Exception("An axis with this controlident allready exitst!");
            }
            AerotechAxis a = new AerotechAxis(controlident);

            AllAxes.Add(a);
            return(a);
        }
 /// <summary>
 /// Get the acceleration of all axes in Gs.
 /// </summary>
 /// <returns>An object containing the acceleration measured on each side of the ADXL345 in Gs.</returns>
 public override AllAxes GetAccelerations()
 {
     AllAxes data = new AllAxes();
     byte[] dataBuffer = new byte[7];
     if (m_spi != null)
     {
         dataBuffer[0] = (byte)(AddressRead | AddressMultiByte | DataRegister);
         m_spi.Transaction(dataBuffer, dataBuffer, 7);
         data.XAxis = BitConverter.ToInt16(dataBuffer, 1) * GsPerLSB;
         data.YAxis = BitConverter.ToInt16(dataBuffer, 3) * GsPerLSB;
         data.ZAxis = BitConverter.ToInt16(dataBuffer, 5) * GsPerLSB;
     }
     return data;
 }