API Documentation
Loading...
Searching...
No Matches
MagneticCalibrationSpreadsheet.h
Go to the documentation of this file.
1#pragma once
2#include "DLLInfo.h"
7#include "Base/Headers/File.h"
10#include "Base/Headers/Time.h"
11namespace NDEVR
12{
13 /**--------------------------------------------------------------------------------------------------
14 \brief The structure used for storing data to write to a MagneticCalibrationSpreadsheet
15 **/
28 /**--------------------------------------------------------------------------------------------------
29 \brief The structure used by the library for storing key points of data used to write to a
30 MagneticCalibrationSpreadsheet
31 **/
40 /**--------------------------------------------------------------------------------------------------
41 \brief The structure used by the library for storing averaged points of data used to write to a
42 MagneticCalibrationSpreadsheet
43 **/
49 /**--------------------------------------------------------------------------------------------------
50 \brief IOFactory interface for reading and writing data from magnetometer calibration checks to excel files.
51 \ingroup Hardware Magnetometer Widget
52 **/
54 {
55 public:
56 void setCalibrationMatrix(const Matrix<fltp08>& calibration_matrix);
57 File writeToFile(const File& template_file, const String& file_prefix, const File& file, const Buffer<XLSXMagneticAngleReading>& readings);
61 protected:
62 Matrix<fltp08> m_calibration_matrix = Constant<Matrix<fltp08>>::Invalid;
63 fltp08 m_acceleration_tolerance = 0.005;
64 };
65}
#define OPENXLSX_INTERFACE_API
Definition DLLInfo.h:55
The primary angle storage class for this API. Stores an angle in an optimized format.
Definition StringStream.h:540
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
Logic for reading or writing to a file as well as navigating filesystems.
Definition File.h:48
IOFactory interface for reading and writing data from magnetometer calibration checks to excel files.
Definition MagneticCalibrationSpreadsheet.h:54
File writeToFile(const File &template_file, const String &file_prefix, const File &file, const Buffer< XLSXMagneticAngleReading > &readings)
Buffer< XLSXMagneticAngleAverageReading > computeData(const Buffer< XLSXMagneticAngleReading > &readings)
XLSXMagneticAngleAverageReading computeAngle(const Buffer< XLSXMagneticAngleReading > &readings, uint04 start, uint04 end)
XLSXKeyPointMagneticAngleReading computeAngle(const XLSXMagneticAngleReading &reading, const Angle< fltp08 > &reference_angle)
void setCalibrationMatrix(const Matrix< fltp08 > &calibration_matrix)
Definition Matrix.hpp:176
Definition Vertex.hpp:317
The core String class for the NDEVR API.
Definition String.h:69
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:54
Stores a time span, or difference between two times, with an optional start time.
Definition TimeSpan.h:46
Definition ACIColor.h:37
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:149
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
Definition BaseValues.hpp:233
The structure used by the library for storing key points of data used to write to a MagneticCalibrati...
Definition MagneticCalibrationSpreadsheet.h:33
Angle< fltp08 > magnetic_angle
Definition MagneticCalibrationSpreadsheet.h:34
XLSXMagneticAngleReading reference_reading
Definition MagneticCalibrationSpreadsheet.h:36
TimeSpan time_offset
Definition MagneticCalibrationSpreadsheet.h:37
Angle< fltp08 > raw_angle
Definition MagneticCalibrationSpreadsheet.h:35
uint04 count
Definition MagneticCalibrationSpreadsheet.h:38
The structure used by the library for storing averaged points of data used to write to a MagneticCali...
Definition MagneticCalibrationSpreadsheet.h:45
Buffer< XLSXKeyPointMagneticAngleReading > points
Definition MagneticCalibrationSpreadsheet.h:47
Angle< fltp08 > reference_angle
Definition MagneticCalibrationSpreadsheet.h:46
The structure used for storing data to write to a MagneticCalibrationSpreadsheet.
Definition MagneticCalibrationSpreadsheet.h:17
fltp08 temperature
Definition MagneticCalibrationSpreadsheet.h:24
Ray< 3, fltp08 > computed_acc
Definition MagneticCalibrationSpreadsheet.h:21
fltp08 voltage
Definition MagneticCalibrationSpreadsheet.h:25
Ray< 3, fltp08 > acceleration
Definition MagneticCalibrationSpreadsheet.h:19
Ray< 3, fltp08 > raw
Definition MagneticCalibrationSpreadsheet.h:23
Ray< 3, fltp08 > gyro
Definition MagneticCalibrationSpreadsheet.h:20
Ray< 3, fltp08 > computed_hdg
Definition MagneticCalibrationSpreadsheet.h:22
Ray< 3, fltp08 > magnet
Definition MagneticCalibrationSpreadsheet.h:18
Time time
Definition MagneticCalibrationSpreadsheet.h:26