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{
38 /**--------------------------------------------------------------------------------------------------
39 Class: MagneticCalibrationSpreadsheet
40
41 \brief IOFactory interface for reading and writing data from magnetometer calibration checks to excel files.
42 \ingroup Hardware Magnetometer Widget
43 *-----------------------------------------------------------------------------------------------**/
45 {
46 public:
47 void setCalibrationMatrix(const Matrix<fltp08>& calibration_matrix);
48 File writeToFile(const File& template_file, const String& file_prefix, const File& file, const Buffer<XLSXMagneticAngleReading>& readings);
50 XLSXMagneticAngleAverageReading computeAngle(const Buffer<XLSXMagneticAngleReading>& readings, uint04 start, uint04 end);
51 XLSXKeyPointMagneticAngleReading computeAngle(const XLSXMagneticAngleReading& reading, const Angle<fltp08>& reference_angle);
52 protected:
53 Matrix<fltp08> m_calibration_matrix = Constant<Matrix<fltp08>>::NaN;
54 fltp08 m_acceleration_tolerance = 0.005;
55 };
56}
#define OPENXLSX_INTERFACE_API
Definition DLLInfo.h:73
Stores an angle in an optimized format.
Definition StringStream.h:352
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition File.h:47
IOFactory interface for reading and writing data from magnetometer calibration checks to excel files.
Definition MagneticCalibrationSpreadsheet.h:45
Definition Matrix.hpp:173
Definition Vertex.hpp:341
Definition String.h:40
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:54
Definition TimeSpan.h:40
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:120
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:181
Definition BaseValues.hpp:272
Definition MagneticCalibrationSpreadsheet.h:26
Angle< fltp08 > magnetic_angle
Definition MagneticCalibrationSpreadsheet.h:27
XLSXMagneticAngleReading reference_reading
Definition MagneticCalibrationSpreadsheet.h:29
TimeSpan time_offset
Definition MagneticCalibrationSpreadsheet.h:30
Angle< fltp08 > raw_angle
Definition MagneticCalibrationSpreadsheet.h:28
uint04 count
Definition MagneticCalibrationSpreadsheet.h:31
Definition MagneticCalibrationSpreadsheet.h:34
Buffer< XLSXKeyPointMagneticAngleReading > points
Definition MagneticCalibrationSpreadsheet.h:36
Angle< fltp08 > reference_angle
Definition MagneticCalibrationSpreadsheet.h:35
Definition MagneticCalibrationSpreadsheet.h:14
fltp08 temperature
Definition MagneticCalibrationSpreadsheet.h:21
Ray< 3, fltp08 > computed_acc
Definition MagneticCalibrationSpreadsheet.h:18
fltp08 voltage
Definition MagneticCalibrationSpreadsheet.h:22
Ray< 3, fltp08 > acceleration
Definition MagneticCalibrationSpreadsheet.h:16
Ray< 3, fltp08 > raw
Definition MagneticCalibrationSpreadsheet.h:20
Ray< 3, fltp08 > gyro
Definition MagneticCalibrationSpreadsheet.h:17
Ray< 3, fltp08 > computed_hdg
Definition MagneticCalibrationSpreadsheet.h:19
Ray< 3, fltp08 > magnet
Definition MagneticCalibrationSpreadsheet.h:15
Time time
Definition MagneticCalibrationSpreadsheet.h:23