protected virtual void OnCalInertialAndMagneticDataRead(CalInertialAndMagneticData e) { if (CalInertialAndMagneticDataRead != null) { CalInertialAndMagneticDataRead(this, e); } }
protected virtual void OnCalInertialAndMagneticDataReceived(CalInertialAndMagneticData e) { if (CalInertialAndMagneticDataReceived != null) CalInertialAndMagneticDataReceived(this, e); }
/// <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++; }
/// <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++; }
/// <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(); }