initial commit
This commit is contained in:
147
libs/cd_utils/k_description.h
Normal file
147
libs/cd_utils/k_description.h
Normal file
@@ -0,0 +1,147 @@
|
||||
#ifndef K_DESCRIPTION_H
|
||||
#define K_DESCRIPTION_H
|
||||
|
||||
namespace KD {
|
||||
|
||||
enum Sections {
|
||||
Startup,
|
||||
Spectrometer,
|
||||
Switch,
|
||||
Formats,
|
||||
Logs,
|
||||
Detector,
|
||||
CoreOutput,
|
||||
};
|
||||
|
||||
enum LogFormat {
|
||||
Text, //b text
|
||||
Binary, //b binary
|
||||
};
|
||||
|
||||
enum LogType {
|
||||
Data, //b write data logs
|
||||
Spec, //b write spectrogram logs
|
||||
ARINC, //b ARINC
|
||||
};
|
||||
|
||||
enum KLogConfig {
|
||||
// LogFormat = Formats
|
||||
StartupWrite, //b
|
||||
ApplyBinaryLogHeader, //b Apply settings under ID = 255 for binary log
|
||||
MaximumWriteFrequency, //f Maximum frequency for log in Hz, or 0 for unlimited
|
||||
};
|
||||
|
||||
enum SwitchType {
|
||||
BaySpec,
|
||||
DiCon,
|
||||
};
|
||||
|
||||
enum SpectrometerConnection {
|
||||
TCP,
|
||||
USB,
|
||||
};
|
||||
|
||||
enum PeakSearchMode {
|
||||
Left,
|
||||
Max,
|
||||
Right,
|
||||
};
|
||||
|
||||
enum CoreMode {
|
||||
ModeSpectrometer,
|
||||
ModePlayer,
|
||||
ModePeaks,
|
||||
};
|
||||
|
||||
enum KSpectrometer {
|
||||
Connection, //e ${SpectrometerConnection}
|
||||
Temperature_compensation, //b Use temperature sensor or default temperature witout compensation
|
||||
Temperature_default, //f Default temperature using if compensation disabled
|
||||
};
|
||||
|
||||
enum KSwitch {
|
||||
Enabled, //b 0 or 1 Use optical switch or not
|
||||
Wait, //n Delay after switching channel, ms
|
||||
Autoscan, //e {0 - scan with our forces, 1 - SDK autoscan}
|
||||
Autoscan_offset, //n Offset for SDK autoscan
|
||||
Type, //e ${SwitchType}
|
||||
};
|
||||
|
||||
enum KDetector {
|
||||
Threshold_Min, //f
|
||||
Threshold_Max, //f
|
||||
SideSize, //f
|
||||
SideOffset, //f
|
||||
PeaksSearch, //e ${PeakSearchMode}
|
||||
};
|
||||
|
||||
enum KCoreOutput {
|
||||
SendSpectrum, //b Send spectrum data or empty vector
|
||||
SendOnlyCurrentValue, //b Send current values or all stored in 20Hz
|
||||
};
|
||||
|
||||
enum CoreOutputChannel {
|
||||
GUI,
|
||||
SecGUI,
|
||||
ThirdGUI,
|
||||
};
|
||||
|
||||
enum KDescription {
|
||||
// KSpectrometer = Spectrometer
|
||||
// KSwitch = Switch
|
||||
// KDetector = Detector
|
||||
// KCoreOutput[CoreOutputChannel] = CoreOutput
|
||||
// KLogConfig[LogType] = Logs
|
||||
Gratings_history, //n Gratings peak values history, count
|
||||
Amplitude_history_size, //n Count of history values to calculate sensors amplitude
|
||||
Fourier_enabled, //b Global fourier enable flag
|
||||
Fourier_size, //n Size of fourier window, in counts
|
||||
Fourier_YScale, //f scale for fourier amplitude
|
||||
Fourier_Max_or_Density, //n 0 - Maximum in fourier window, 1 - Density of fourier window
|
||||
Mode, //e ${CoreMode} Work mode
|
||||
SynchronizationEnabled, //b When enabled, start logs and reset time when sync signal received
|
||||
SynchronizationMode, //e {0 - disabled, 1 - new file, 2 - column in log}
|
||||
LambdasAutoReset, //b Set lambdas_0 to grating values on first data receive
|
||||
Gauss_size, //n
|
||||
//Peak_max_offset, //f in pixels
|
||||
//Peak_LF_coeff, //f 1. - no filtering
|
||||
GratingOverloadMax, //n
|
||||
GratingOverloadMin, //n
|
||||
SendLED, //b Send to LED Arduino serial port current state
|
||||
SynchronizationClearValues, //b clear gratings and sensors values and history on sync
|
||||
PeaksModeFrequency, //f
|
||||
PeaksModeAdditionNm_1, //f Addition nm to peaks in ModePeaks, channel 1
|
||||
PeaksModeAdditionNm_2, //f Addition nm to peaks in ModePeaks, channel 2
|
||||
PeaksModeAdditionNm_3, //f Addition nm to peaks in ModePeaks, channel 3
|
||||
PeaksModeAdditionNm_4, //f Addition nm to peaks in ModePeaks, channel 4
|
||||
};
|
||||
|
||||
enum XDescription {
|
||||
// KSpectrometer = Spectrometer
|
||||
// KSwitch = Switch
|
||||
// KDetector = Detector
|
||||
// KCoreOutput[CoreOutputChannel] = CoreOutput
|
||||
// KLogConfig[LogType] = Logs
|
||||
State, //b
|
||||
Frequency, //n cur freq
|
||||
//Fourier_enabled, //b Global fourier enable flag
|
||||
};
|
||||
|
||||
enum CDescription {
|
||||
// KSpectrometer = Spectrometer
|
||||
// KCoreOutput[CoreOutputChannel] = CoreOutput
|
||||
// KLogConfig[LogType] = Logs
|
||||
Halt, //b
|
||||
Reboot, //n cur freq
|
||||
Pause, //b Global fourier enable flag
|
||||
};
|
||||
|
||||
enum MDescription {
|
||||
Main, //b
|
||||
Core, //s
|
||||
Warnings, //b Global fourier enable flag
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // K_DESCRIPTION_H
|
||||
Reference in New Issue
Block a user