NDEVR
API Documentation
MagneticCalibrationSpreadsheet.h
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/Vertex.h>
4#include <NDEVR/Vector.h>
5#include <NDEVR/Angle.h>
6#include <NDEVR/TimeSpan.h>
7#include <NDEVR/File.h>
8#include <NDEVR/AngleDefinitions.h>
9#include <NDEVR/Buffer.h>
10#include <NDEVR/Time.h>
11namespace NDEVR
12{
17 {
18 Ray<3, fltp08> magnet;
19 Ray<3, fltp08> acceleration;
20 Ray<3, fltp08> gyro;
21 Ray<3, fltp08> computed_acc;
22 Ray<3, fltp08> computed_hdg;
23 Ray<3, fltp08> raw;
27 };
28
40
49
54 class OPENXLSX_INTERFACE_API MagneticCalibrationSpreadsheet
55 {
56 public:
57 void setCalibrationMatrix(const Matrix<fltp08>& calibration_matrix);
58 File writeToFile(const File& template_file, const String& file_prefix, const File& file, const Buffer<XLSXMagneticAngleReading>& readings);
60 XLSXMagneticAngleAverageReading computeAngle(const Buffer<XLSXMagneticAngleReading>& readings, uint04 start, uint04 end);
62 protected:
65 };
66}
Stores an angle in an optimized internal format with support for efficient trigonometric operations.
Definition Angle.h:83
The equivelent of std::vector but with a bit more control.
Definition Buffer.hpp:58
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
Definition File.h:53
IOFactory interface for reading and writing data from magnetometer calibration checks to excel files.
Matrix< fltp08 > m_calibration_matrix
Magnetometer calibration matrix.
fltp08 m_acceleration_tolerance
Tolerance for acceleration-based filtering.
Templated logic for doing matrix multiplication.
Definition Matrix.hpp:182
The core String class for the NDEVR API.
Definition String.h:95
Stores a time span, or difference between two times, with an optional start time.
Definition TimeSpan.h:46
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:62
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
double fltp08
Defines an alias representing an 8 byte floating-point number.
@ file
The source file path associated with this object.
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
The structure used by the library for storing key points of data used to write to a MagneticCalibrati...
Angle< fltp08 > raw_angle
Raw sensor angle.
TimeSpan time_offset
Time offset from the start.
Angle< fltp08 > magnetic_angle
Computed magnetic angle.
uint04 count
Number of readings averaged.
XLSXMagneticAngleReading reference_reading
Reference reading at this keypoint.
The structure used by the library for storing averaged points of data used to write to a MagneticCali...
Angle< fltp08 > reference_angle
Reference angle for this average group.
Buffer< XLSXKeyPointMagneticAngleReading > points
Keypoints within this average group.
The structure used for storing data to write to a MagneticCalibrationSpreadsheet.
Ray< 3, fltp08 > computed_acc
Computed acceleration vector.
Time time
Timestamp of the reading.
fltp08 voltage
Supply voltage at time of reading.
Ray< 3, fltp08 > magnet
Magnetometer reading vector.
Ray< 3, fltp08 > raw
Raw sensor reading vector.
Ray< 3, fltp08 > computed_hdg
Computed heading vector.
fltp08 temperature
Sensor temperature at time of reading.
Ray< 3, fltp08 > gyro
Gyroscope reading vector.
Ray< 3, fltp08 > acceleration
Accelerometer reading vector.