|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Functions | |
| std::string | scratch (const char *name) |
| double | eval_norm (const CubicFit &f, double adc) |
| Evaluate a fit the way the browser does (normalized form). | |
| double | eval_raw (const CubicFit &f, double adc) |
| Evaluate a fit the way calibration_service does (raw A..D, PolynomialCalibration). | |
| std::vector< CubicPoint > | drifting_scale_points () |
| A real load cell over 400-500k: 100 kg across 100k counts, linear, with the few-tenths-of-a-kg scatter an operator's captures carry (a settling load, a mass placed slightly off-centre). | |
| void | fill (CubicCalibrationStore &s, const std::string &model, const std::vector< CubicPoint > &pts) |
| void | linear_model_fits_a_line () |
| void | linear_needs_two_points () |
| void | cubic_model_is_unchanged () |
| void | a_model_change_refits_without_a_capture () |
| double | tared_reading (const CubicFit &f, double zero_code, double tank_kg) |
| The scenario. | |
| void | tare_cancels_zero_drift_on_linear_not_cubic () |
| void | both_fits_are_serialized () |
| void | raw_coefficients_match_the_normalized_form () |
Variables | |
| constexpr uint16_t | kUid = 4201 |
| void anonymous_namespace{test_lc_linear_fit.cpp}::a_model_change_refits_without_a_capture | ( | ) |
Definition at line 149 of file test_lc_linear_fit.cpp.
References CHECK, fsw::calibration::CubicFit::degree, drifting_scale_points(), fill(), fsw::calibration::CubicCalibrationStore::fit_for(), kUid, fsw::calibration::LC, fsw::calibration::CubicCalibrationStore::register_channel(), and scratch.
Referenced by main().
| void anonymous_namespace{test_lc_linear_fit.cpp}::both_fits_are_serialized | ( | ) |
Definition at line 214 of file test_lc_linear_fit.cpp.
References ch(), CHECK, fsw::calibration::CubicFit::degree, drifting_scale_points(), fill(), fsw::calibration::CubicCalibrationStore::fit_for(), kUid, fsw::calibration::LC, fsw::calibration::CubicCalibrationStore::load(), fsw::calibration::CubicCalibrationStore::register_channel(), fsw::calibration::CubicCalibrationStore::save(), and scratch.
Referenced by main().
| void anonymous_namespace{test_lc_linear_fit.cpp}::cubic_model_is_unchanged | ( | ) |
Definition at line 129 of file test_lc_linear_fit.cpp.
References fsw::calibration::CubicFit::A, fsw::calibration::CubicCalibrationStore::add_point(), fsw::calibration::CubicFit::B, fsw::calibration::CubicFit::C, CHECK, CubicCalibrationStore::compute_fit(), fsw::calibration::CubicFit::D, fsw::calibration::CubicFit::degree, drifting_scale_points(), fill(), fsw::calibration::CubicCalibrationStore::fit_for(), kUid, p, fsw::calibration::CubicCalibrationStore::register_channel(), and scratch.
Referenced by main().
| std::vector< CubicPoint > anonymous_namespace{test_lc_linear_fit.cpp}::drifting_scale_points | ( | ) |
A real load cell over 400-500k: 100 kg across 100k counts, linear, with the few-tenths-of-a-kg scatter an operator's captures carry (a settling load, a mass placed slightly off-centre).
Definition at line 84 of file test_lc_linear_fit.cpp.
Referenced by a_model_change_refits_without_a_capture(), both_fits_are_serialized(), cubic_model_is_unchanged(), linear_model_fits_a_line(), raw_coefficients_match_the_normalized_form(), and tare_cancels_zero_drift_on_linear_not_cubic().
| double anonymous_namespace{test_lc_linear_fit.cpp}::eval_norm | ( | const CubicFit & | f, |
| double | adc ) |
Evaluate a fit the way the browser does (normalized form).
Definition at line 65 of file test_lc_linear_fit.cpp.
References adc(), fsw::calibration::CubicFit::norm_min, fsw::calibration::CubicFit::norm_scale, and fsw::calibration::CubicFit::poly.
Referenced by raw_coefficients_match_the_normalized_form().
| double anonymous_namespace{test_lc_linear_fit.cpp}::eval_raw | ( | const CubicFit & | f, |
| double | adc ) |
Evaluate a fit the way calibration_service does (raw A..D, PolynomialCalibration).
Definition at line 76 of file test_lc_linear_fit.cpp.
References fsw::calibration::CubicFit::A, adc(), fsw::calibration::CubicFit::B, fsw::calibration::CubicFit::C, and fsw::calibration::CubicFit::D.
Referenced by raw_coefficients_match_the_normalized_form(), and tared_reading().
| void anonymous_namespace{test_lc_linear_fit.cpp}::fill | ( | CubicCalibrationStore & | s, |
| const std::string & | model, | ||
| const std::vector< CubicPoint > & | pts ) |
Definition at line 93 of file test_lc_linear_fit.cpp.
References fsw::calibration::CubicCalibrationStore::add_point(), kUid, fsw::calibration::LC, p, and fsw::calibration::CubicCalibrationStore::register_channel().
Referenced by a_model_change_refits_without_a_capture(), both_fits_are_serialized(), cubic_model_is_unchanged(), linear_model_fits_a_line(), raw_coefficients_match_the_normalized_form(), and tare_cancels_zero_drift_on_linear_not_cubic().
| void anonymous_namespace{test_lc_linear_fit.cpp}::linear_model_fits_a_line | ( | ) |
Definition at line 100 of file test_lc_linear_fit.cpp.
References fsw::calibration::CubicFit::A, fsw::calibration::CubicFit::B, fsw::calibration::CubicFit::C, fsw::calibration::CubicCalibrationStore::channel(), CHECK, fsw::calibration::CubicFit::degree, drifting_scale_points(), fill(), fsw::calibration::CubicCalibrationStore::fit_for(), kUid, scratch, and fsw::calibration::CubicChannel::status.
Referenced by main().
| void anonymous_namespace{test_lc_linear_fit.cpp}::linear_needs_two_points | ( | ) |
Definition at line 115 of file test_lc_linear_fit.cpp.
References fsw::calibration::CubicCalibrationStore::add_point(), fsw::calibration::CubicCalibrationStore::channel(), CHECK, fsw::calibration::CubicFit::degree, fsw::calibration::CubicCalibrationStore::fit_for(), kUid, fsw::calibration::LC, fsw::calibration::CubicCalibrationStore::register_channel(), scratch, and fsw::calibration::CubicChannel::status.
Referenced by main().
| void anonymous_namespace{test_lc_linear_fit.cpp}::raw_coefficients_match_the_normalized_form | ( | ) |
Definition at line 244 of file test_lc_linear_fit.cpp.
References adc(), CHECK, drifting_scale_points(), eval_norm(), eval_raw(), fill(), fsw::calibration::CubicCalibrationStore::fit_for(), kUid, and scratch.
Referenced by main().
| std::string anonymous_namespace{test_lc_linear_fit.cpp}::scratch | ( | const char * | name | ) |
Definition at line 56 of file test_lc_linear_fit.cpp.
References p.
| void anonymous_namespace{test_lc_linear_fit.cpp}::tare_cancels_zero_drift_on_linear_not_cubic | ( | ) |
Definition at line 176 of file test_lc_linear_fit.cpp.
References CHECK, drifting_scale_points(), fill(), fsw::calibration::CubicCalibrationStore::fit_for(), kUid, scratch, and tared_reading().
Referenced by main().
| double anonymous_namespace{test_lc_linear_fit.cpp}::tared_reading | ( | const CubicFit & | f, |
| double | zero_code, | ||
| double | tank_kg ) |
The scenario.
A tank is on the scale; the scale's zero has drifted from 400k to 200k overnight (the whole curve slid 200k counts down; the sensitivity did not change). The operator tares with nothing on it, then puts the tank on. What reads?
Definition at line 166 of file test_lc_linear_fit.cpp.
References adc(), eval_raw(), kUid, lc_tare_entity(), fsw::calibration::LcTare::offset_kg, scratch, fsw::calibration::LcTareStore::set(), and fsw::calibration::LcTareStore::tare_for().
Referenced by tare_cancels_zero_drift_on_linear_not_cubic().
|
constexpr |
Definition at line 54 of file test_lc_linear_fit.cpp.
Referenced by a_model_change_refits_without_a_capture(), both_fits_are_serialized(), cubic_model_is_unchanged(), fill(), linear_model_fits_a_line(), linear_needs_two_points(), raw_coefficients_match_the_normalized_form(), tare_cancels_zero_drift_on_linear_not_cubic(), and tared_reading().