|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
#include <SensorCalibration.hpp>
Public Member Functions | |
| SensorCalibrationManager (const std::string &sensor_type, const std::string &default_unit="", int default_order=3) | |
| ~SensorCalibrationManager ()=default | |
| bool | load_from_json (const std::string &json_path) |
| Load calibration from a JSON calibration file. | |
| bool | load_from_csv (const std::string &csv_path) |
| Load calibration from a CSV file (DiabloAvionics format). | |
| bool | load_calibration (const std::string &json_dir, const std::string &csv_path) |
| Auto-discover & load from default directories. | |
| void | set_calibration (uint8_t channel_id, const PolynomialCalibration &cal) |
| Manually set coefficients for a channel. | |
| void | clear_calibration (uint8_t channel_id) |
| Remove a channel's calibration so is_calibrated() returns false again. | |
| bool | is_calibrated (uint8_t channel_id) const |
| double | calculate (uint8_t channel_id, int32_t raw_counts) const |
| const PolynomialCalibration * | get (uint8_t channel_id) const |
| size_t | calibrated_count () const |
| const std::string & | sensor_type () const |
Private Member Functions | |
| std::string | find_latest_json (const std::string &dir) const |
Private Attributes | |
| std::string | sensor_type_ |
| std::string | default_unit_ |
| int | default_order_ |
| std::map< uint8_t, PolynomialCalibration > | calibrations_ |
Definition at line 69 of file SensorCalibration.hpp.
|
inlineexplicit |
| sensor_type | "PT", "TC", "RTD", "LC" |
| default_unit | output physical unit |
| default_order | default polynomial order if not specified in file |
Definition at line 74 of file SensorCalibration.hpp.
References default_order_, default_unit_, sensor_type(), and sensor_type_.
|
default |
| double fsw::calibration::SensorCalibrationManager::calculate | ( | uint8_t | channel_id, |
| int32_t | raw_counts ) const |
Definition at line 195 of file SensorCalibration.cpp.
References calibrations_.
Referenced by main().
|
inline |
Definition at line 105 of file SensorCalibration.hpp.
References calibrations_.
Referenced by main().
|
inline |
Remove a channel's calibration so is_calibrated() returns false again.
Definition at line 97 of file SensorCalibration.hpp.
References calibrations_.
Referenced by main().
|
private |
Definition at line 210 of file SensorCalibration.cpp.
References fs::exists(), and fs::is_directory().
Referenced by load_calibration().
| const PolynomialCalibration * fsw::calibration::SensorCalibrationManager::get | ( | uint8_t | channel_id | ) | const |
Definition at line 203 of file SensorCalibration.cpp.
References calibrations_.
| bool fsw::calibration::SensorCalibrationManager::is_calibrated | ( | uint8_t | channel_id | ) | const |
Definition at line 191 of file SensorCalibration.cpp.
References calibrations_.
Referenced by main().
| bool fsw::calibration::SensorCalibrationManager::load_calibration | ( | const std::string & | json_dir, |
| const std::string & | csv_path ) |
Auto-discover & load from default directories.
Definition at line 171 of file SensorCalibration.cpp.
References fs::exists(), find_latest_json(), load_from_csv(), load_from_json(), and sensor_type_.
Referenced by main().
| bool fsw::calibration::SensorCalibrationManager::load_from_csv | ( | const std::string & | csv_path | ) |
Load calibration from a CSV file (DiabloAvionics format).
Definition at line 92 of file SensorCalibration.cpp.
References calibrations_, ch(), default_unit_, ok, and sensor_type_.
Referenced by load_calibration().
| bool fsw::calibration::SensorCalibrationManager::load_from_json | ( | const std::string & | json_path | ) |
Load calibration from a JSON calibration file.
Definition at line 22 of file SensorCalibration.cpp.
References calibrations_, default_unit_, ok, and sensor_type_.
Referenced by load_calibration().
|
inline |
Definition at line 109 of file SensorCalibration.hpp.
References sensor_type_.
Referenced by SensorCalibrationManager().
|
inline |
Manually set coefficients for a channel.
Definition at line 92 of file SensorCalibration.hpp.
References calibrations_.
Referenced by main().
|
private |
Definition at line 117 of file SensorCalibration.hpp.
Referenced by calculate(), calibrated_count(), clear_calibration(), get(), is_calibrated(), load_from_csv(), load_from_json(), and set_calibration().
|
private |
Definition at line 116 of file SensorCalibration.hpp.
Referenced by SensorCalibrationManager().
|
private |
Definition at line 115 of file SensorCalibration.hpp.
Referenced by load_from_csv(), load_from_json(), and SensorCalibrationManager().
|
private |
Definition at line 114 of file SensorCalibration.hpp.
Referenced by load_calibration(), load_from_csv(), load_from_json(), sensor_type(), and SensorCalibrationManager().