Exemplo n.º 1
0
 protected virtual void OnCalInertialAndMagneticDataRead(CalInertialAndMagneticData e)
 {
     if (CalInertialAndMagneticDataRead != null)
     {
         CalInertialAndMagneticDataRead(this, e);
     }
 }
Exemplo n.º 2
0
 protected virtual void OnCalInertialAndMagneticDataReceived(CalInertialAndMagneticData e) { if (CalInertialAndMagneticDataReceived != null) CalInertialAndMagneticDataReceived(this, e); }
Exemplo n.º 3
0
 /// <summary>
 /// Writes <see cref="CalInertialAndMagneticData"/> to CSV file. Will create new file if required.
 /// </summary>
 /// <param name="calInertialAndMagneticData">
 /// x-IMU calibrated inertial/magnetic data.
 /// </param>
 public void WriteCalInertialAndMagneticData(CalInertialAndMagneticData calInertialAndMagneticData)
 {
     WriteCSVlineAtFileIndex(calInertialAndMagneticData.ConvertToCSVstring(), FileIndexes.CalInertialAndMag);
     PacketsWrittenCounter.CalInertialAndMagneticDataPackets++;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Writes <see cref="CalInertialAndMagneticData"/> to CSV file. Will create new file if required.
 /// </summary>
 /// <param name="calInertialAndMagneticData">
 /// x-IMU calibrated inertial/magnetic data.
 /// </param>
 public void WriteCalInertialAndMagneticData(CalInertialAndMagneticData calInertialAndMagneticData)
 {
     WriteCSVlineAtFileIndex(calInertialAndMagneticData.ConvertToCSVstring(), FileIndexes.CalInertialAndMag);
     PacketsWrittenCounter.CalInertialAndMagneticDataPackets++;
 }
Exemplo n.º 5
0
        /// <summary>
        /// xIMUserial CalInertialAndMagneticDataReceived event to update algorithm in AHRS mode.
        /// </summary>
        static void xIMUserial_CalInertialAndMagneticDataReceived_updateAHRS(object sender, x_IMU_API.CalInertialAndMagneticData e)
        {
            AHRS.Update(Deg2Rad(e.Gyroscope[0]), Deg2Rad(e.Gyroscope[1]), Deg2Rad(e.Gyroscope[2]), e.Accelerometer[0],
                        e.Accelerometer[1], e.Accelerometer[2], e.Magnetometer[0], e.Magnetometer[1], e.Magnetometer[2]);

            var quaternion     = new[] { AHRS.Quaternion[0], -AHRS.Quaternion[1], -AHRS.Quaternion[2], 0 };
            var quaternionData = new QuaternionData(quaternion);

            var conjugate      = quaternionData.ConvertToConjugate();
            var rotationMatrix = conjugate.ConvertToRotationMatrix();

            _form3DcuboidB.RotationMatrix = rotationMatrix;

            _stopWatch.Stop();
            _stopWatch.Reset();
        }