mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2026-02-19 23:08:41 +01:00
clang-format
This commit is contained in:
@@ -50,7 +50,8 @@ class ScanParameters {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
ScanParameters(const std::string &par);
|
ScanParameters(const std::string &par);
|
||||||
ScanParameters(const bool enabled, const DACIndex dac, const int start, const int stop, const int step, const int64_t settleTime);
|
ScanParameters(const bool enabled, const DACIndex dac, const int start,
|
||||||
|
const int stop, const int step, const int64_t settleTime);
|
||||||
ScanParameters() = default;
|
ScanParameters() = default;
|
||||||
ScanParameters(const ScanParameters &) = default;
|
ScanParameters(const ScanParameters &) = default;
|
||||||
ScanParameters &operator=(const ScanParameters &) = default;
|
ScanParameters &operator=(const ScanParameters &) = default;
|
||||||
|
|||||||
@@ -216,7 +216,8 @@ enum class DetectorType {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief detector dacs indexes
|
* @brief Enum class to define the Digital to Analog converter
|
||||||
|
* The values are the same as in slsDetectorPackage
|
||||||
*/
|
*/
|
||||||
enum DACIndex {
|
enum DACIndex {
|
||||||
DAC_0,
|
DAC_0,
|
||||||
@@ -346,7 +347,8 @@ template <> FrameDiscardPolicy StringTo(const std::string & /*mode*/);
|
|||||||
|
|
||||||
using DataTypeVariants = std::variant<uint16_t, uint32_t>;
|
using DataTypeVariants = std::variant<uint16_t, uint32_t>;
|
||||||
|
|
||||||
constexpr uint16_t ADC_MASK = 0x3FFF; // used to mask out the gain bits in Jungfrau
|
constexpr uint16_t ADC_MASK =
|
||||||
|
0x3FFF; // used to mask out the gain bits in Jungfrau
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Convert a string to a DACIndex
|
* @brief Convert a string to a DACIndex
|
||||||
|
|||||||
@@ -99,7 +99,8 @@ TEST_CASE("Read data from a jungfrau 500k single port raw file",
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("Read frame numbers from a raw file", "[.with-data]") {
|
TEST_CASE("Read frame numbers from a raw file", "[.with-data]") {
|
||||||
auto fpath = test_data_path() / "raw/eiger" / "eiger_500k_16bit_master_0.json";
|
auto fpath =
|
||||||
|
test_data_path() / "raw/eiger" / "eiger_500k_16bit_master_0.json";
|
||||||
REQUIRE(std::filesystem::exists(fpath));
|
REQUIRE(std::filesystem::exists(fpath));
|
||||||
|
|
||||||
// we know this file has 3 frames with frame numbers 14, 15, 16
|
// we know this file has 3 frames with frame numbers 14, 15, 16
|
||||||
@@ -288,8 +289,7 @@ TEST_CASE("check find_geometry", "[.with-data]") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("Open multi module file with ROI",
|
TEST_CASE("Open multi module file with ROI", "[.with-data]") {
|
||||||
"[.with-data]") {
|
|
||||||
|
|
||||||
auto fpath = test_data_path() / "raw/SingleChipROI/Data_master_0.json";
|
auto fpath = test_data_path() / "raw/SingleChipROI/Data_master_0.json";
|
||||||
REQUIRE(std::filesystem::exists(fpath));
|
REQUIRE(std::filesystem::exists(fpath));
|
||||||
|
|||||||
@@ -64,7 +64,11 @@ const std::string &RawFileNameComponents::base_name() const {
|
|||||||
const std::string &RawFileNameComponents::ext() const { return m_ext; }
|
const std::string &RawFileNameComponents::ext() const { return m_ext; }
|
||||||
int RawFileNameComponents::file_index() const { return m_file_index; }
|
int RawFileNameComponents::file_index() const { return m_file_index; }
|
||||||
|
|
||||||
ScanParameters::ScanParameters(const bool enabled, const DACIndex dac, const int start, const int stop, const int step, const int64_t settleTime) : m_enabled(enabled), m_dac(dac), m_start(start), m_stop(stop), m_step(step), m_settleTime(settleTime) {};
|
ScanParameters::ScanParameters(const bool enabled, const DACIndex dac,
|
||||||
|
const int start, const int stop, const int step,
|
||||||
|
const int64_t settleTime)
|
||||||
|
: m_enabled(enabled), m_dac(dac), m_start(start), m_stop(stop),
|
||||||
|
m_step(step), m_settleTime(settleTime){};
|
||||||
|
|
||||||
// "[enabled\ndac dac 4\nstart 500\nstop 2200\nstep 5\nsettleTime 100us\n]"
|
// "[enabled\ndac dac 4\nstart 500\nstop 2200\nstep 5\nsettleTime 100us\n]"
|
||||||
ScanParameters::ScanParameters(const std::string &par) {
|
ScanParameters::ScanParameters(const std::string &par) {
|
||||||
@@ -185,7 +189,8 @@ void RawMasterFile::parse_json(const std::filesystem::path &fpath) {
|
|||||||
j["Geometry"]["x"]}; // TODO: isnt it only available for version > 7.1?
|
j["Geometry"]["x"]}; // TODO: isnt it only available for version > 7.1?
|
||||||
// - try block default should be 1x1
|
// - try block default should be 1x1
|
||||||
|
|
||||||
m_image_size_in_bytes = v < 8.0 ? j["Image Size in bytes"] : j["Image Size"];
|
m_image_size_in_bytes =
|
||||||
|
v < 8.0 ? j["Image Size in bytes"] : j["Image Size"];
|
||||||
|
|
||||||
m_frames_in_file = j["Frames in File"];
|
m_frames_in_file = j["Frames in File"];
|
||||||
m_pixels_y = j["Pixels"]["y"];
|
m_pixels_y = j["Pixels"]["y"];
|
||||||
@@ -262,10 +267,15 @@ void RawMasterFile::parse_json(const std::filesystem::path &fpath) {
|
|||||||
if (v < 8.0) {
|
if (v < 8.0) {
|
||||||
std::string scan_parameters = j.at("Scan Parameters");
|
std::string scan_parameters = j.at("Scan Parameters");
|
||||||
m_scan_parameters = ScanParameters(scan_parameters);
|
m_scan_parameters = ScanParameters(scan_parameters);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
auto json_obj = j.at("Scan Parameters");
|
auto json_obj = j.at("Scan Parameters");
|
||||||
m_scan_parameters = ScanParameters(json_obj.at("enable").get<int>(), static_cast<DACIndex>(json_obj.at("dacInd").get<int>()), json_obj.at("start offset").get<int>(), json_obj.at("stop offset").get<int>(), json_obj.at("step size").get<int>(), json_obj.at("dac settle time ns").get<int>());
|
m_scan_parameters = ScanParameters(
|
||||||
|
json_obj.at("enable").get<int>(),
|
||||||
|
static_cast<DACIndex>(json_obj.at("dacInd").get<int>()),
|
||||||
|
json_obj.at("start offset").get<int>(),
|
||||||
|
json_obj.at("stop offset").get<int>(),
|
||||||
|
json_obj.at("step size").get<int>(),
|
||||||
|
json_obj.at("dac settle time ns").get<int>());
|
||||||
}
|
}
|
||||||
if (v < 7.21) {
|
if (v < 7.21) {
|
||||||
m_scan_parameters
|
m_scan_parameters
|
||||||
@@ -292,8 +302,7 @@ void RawMasterFile::parse_json(const std::filesystem::path &fpath) {
|
|||||||
tmp_roi.xmax = obj.at("xmax");
|
tmp_roi.xmax = obj.at("xmax");
|
||||||
tmp_roi.ymin = obj.at("ymin");
|
tmp_roi.ymin = obj.at("ymin");
|
||||||
tmp_roi.ymax = obj.at("ymax");
|
tmp_roi.ymax = obj.at("ymax");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// TODO: for now only handle single ROI
|
// TODO: for now only handle single ROI
|
||||||
auto obj = j.at("Receiver Rois");
|
auto obj = j.at("Receiver Rois");
|
||||||
tmp_roi.xmin = obj[0].at("xmin");
|
tmp_roi.xmin = obj[0].at("xmin");
|
||||||
|
|||||||
@@ -224,9 +224,11 @@ TEST_CASE("Parse a master file in .raw format", "[.integration]") {
|
|||||||
// Packets Caught Mask : 64 bytes
|
// Packets Caught Mask : 64 bytes
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("Parse a master file in new .json format", "[.integration][.width-data]") {
|
TEST_CASE("Parse a master file in new .json format",
|
||||||
|
"[.integration][.width-data]") {
|
||||||
|
|
||||||
auto file_path = test_data_path() / "raw" / "newmythen03" / "run_87_master_0.json";
|
auto file_path =
|
||||||
|
test_data_path() / "raw" / "newmythen03" / "run_87_master_0.json";
|
||||||
REQUIRE(std::filesystem::exists(file_path));
|
REQUIRE(std::filesystem::exists(file_path));
|
||||||
|
|
||||||
RawMasterFile f(file_path);
|
RawMasterFile f(file_path);
|
||||||
@@ -326,4 +328,3 @@ TEST_CASE("Read eiger master file", "[.integration]") {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
198
src/defs.cpp
198
src/defs.cpp
@@ -160,75 +160,141 @@ template<> DACIndex StringTo(const std::string &arg) {
|
|||||||
return DACIndex::VRPREAMP;
|
return DACIndex::VRPREAMP;
|
||||||
else if (arg == "vrshaper")
|
else if (arg == "vrshaper")
|
||||||
return DACIndex::VRSHAPER;
|
return DACIndex::VRSHAPER;
|
||||||
else if (arg == "vsvn") return DACIndex::VSVN;
|
else if (arg == "vsvn")
|
||||||
else if (arg == "vtgstv") return DACIndex::VTGSTV;
|
return DACIndex::VSVN;
|
||||||
else if (arg == "vcmp_ll") return DACIndex::VCMP_LL;
|
else if (arg == "vtgstv")
|
||||||
else if (arg == "vcmp_lr") return DACIndex::VCMP_LR;
|
return DACIndex::VTGSTV;
|
||||||
else if (arg == "vcal") return DACIndex::VCAL;
|
else if (arg == "vcmp_ll")
|
||||||
else if (arg == "vcmp_rl") return DACIndex::VCMP_RL;
|
return DACIndex::VCMP_LL;
|
||||||
else if (arg == "rxb_rb") return DACIndex::RXB_RB;
|
else if (arg == "vcmp_lr")
|
||||||
else if (arg == "rxb_lb") return DACIndex::RXB_LB;
|
return DACIndex::VCMP_LR;
|
||||||
else if (arg == "vcmp_rr") return DACIndex::VCMP_RR;
|
else if (arg == "vcal")
|
||||||
else if (arg == "vcp") return DACIndex::VCP;
|
return DACIndex::VCAL;
|
||||||
else if (arg == "vcn") return DACIndex::VCN;
|
else if (arg == "vcmp_rl")
|
||||||
else if (arg == "vishaper") return DACIndex::VISHAPER;
|
return DACIndex::VCMP_RL;
|
||||||
else if (arg == "vthreshold") return DACIndex::VTHRESHOLD;
|
else if (arg == "rxb_rb")
|
||||||
else if (arg == "vref_ds") return DACIndex::VREF_DS;
|
return DACIndex::RXB_RB;
|
||||||
else if (arg == "vout_cm") return DACIndex::VOUT_CM;
|
else if (arg == "rxb_lb")
|
||||||
else if (arg == "vin_cm") return DACIndex::VIN_CM;
|
return DACIndex::RXB_LB;
|
||||||
else if (arg == "vref_comp") return DACIndex::VREF_COMP;
|
else if (arg == "vcmp_rr")
|
||||||
else if (arg == "vb_comp") return DACIndex::VB_COMP;
|
return DACIndex::VCMP_RR;
|
||||||
else if (arg == "vdd_prot") return DACIndex::VDD_PROT;
|
else if (arg == "vcp")
|
||||||
else if (arg == "vin_com") return DACIndex::VIN_COM;
|
return DACIndex::VCP;
|
||||||
else if (arg == "vref_prech") return DACIndex::VREF_PRECH;
|
else if (arg == "vcn")
|
||||||
else if (arg == "vb_pixbuf") return DACIndex::VB_PIXBUF;
|
return DACIndex::VCN;
|
||||||
else if (arg == "vb_ds") return DACIndex::VB_DS;
|
else if (arg == "vishaper")
|
||||||
else if (arg == "vref_h_adc") return DACIndex::VREF_H_ADC;
|
return DACIndex::VISHAPER;
|
||||||
else if (arg == "vb_comp_fe") return DACIndex::VB_COMP_FE;
|
else if (arg == "vthreshold")
|
||||||
else if (arg == "vb_comp_adc") return DACIndex::VB_COMP_ADC;
|
return DACIndex::VTHRESHOLD;
|
||||||
else if (arg == "vcom_cds") return DACIndex::VCOM_CDS;
|
else if (arg == "vref_ds")
|
||||||
else if (arg == "vref_rstore") return DACIndex::VREF_RSTORE;
|
return DACIndex::VREF_DS;
|
||||||
else if (arg == "vb_opa_1st") return DACIndex::VB_OPA_1ST;
|
else if (arg == "vout_cm")
|
||||||
else if (arg == "vref_comp_fe") return DACIndex::VREF_COMP_FE;
|
return DACIndex::VOUT_CM;
|
||||||
else if (arg == "vcom_adc1") return DACIndex::VCOM_ADC1;
|
else if (arg == "vin_cm")
|
||||||
else if (arg == "vref_l_adc") return DACIndex::VREF_L_ADC;
|
return DACIndex::VIN_CM;
|
||||||
else if (arg == "vref_cds") return DACIndex::VREF_CDS;
|
else if (arg == "vref_comp")
|
||||||
else if (arg == "vb_cs") return DACIndex::VB_CS;
|
return DACIndex::VREF_COMP;
|
||||||
else if (arg == "vb_opa_fd") return DACIndex::VB_OPA_FD;
|
else if (arg == "vb_comp")
|
||||||
else if (arg == "vcom_adc2") return DACIndex::VCOM_ADC2;
|
return DACIndex::VB_COMP;
|
||||||
else if (arg == "vcassh") return DACIndex::VCASSH;
|
else if (arg == "vdd_prot")
|
||||||
else if (arg == "vth2") return DACIndex::VTH2;
|
return DACIndex::VDD_PROT;
|
||||||
else if (arg == "vrshaper_n") return DACIndex::VRSHAPER_N;
|
else if (arg == "vin_com")
|
||||||
else if (arg == "vipre_out") return DACIndex::VIPRE_OUT;
|
return DACIndex::VIN_COM;
|
||||||
else if (arg == "vth3") return DACIndex::VTH3;
|
else if (arg == "vref_prech")
|
||||||
else if (arg == "vth1") return DACIndex::VTH1;
|
return DACIndex::VREF_PRECH;
|
||||||
else if (arg == "vicin") return DACIndex::VICIN;
|
else if (arg == "vb_pixbuf")
|
||||||
else if (arg == "vcas") return DACIndex::VCAS;
|
return DACIndex::VB_PIXBUF;
|
||||||
else if (arg == "vcal_n") return DACIndex::VCAL_N;
|
else if (arg == "vb_ds")
|
||||||
else if (arg == "vipre") return DACIndex::VIPRE;
|
return DACIndex::VB_DS;
|
||||||
else if (arg == "vcal_p") return DACIndex::VCAL_P;
|
else if (arg == "vref_h_adc")
|
||||||
else if (arg == "vdcsh") return DACIndex::VDCSH;
|
return DACIndex::VREF_H_ADC;
|
||||||
else if (arg == "vbp_colbuf") return DACIndex::VBP_COLBUF;
|
else if (arg == "vb_comp_fe")
|
||||||
else if (arg == "vb_sda") return DACIndex::VB_SDA;
|
return DACIndex::VB_COMP_FE;
|
||||||
else if (arg == "vcasc_sfp") return DACIndex::VCASC_SFP;
|
else if (arg == "vb_comp_adc")
|
||||||
else if (arg == "vipre_cds") return DACIndex::VIPRE_CDS;
|
return DACIndex::VB_COMP_ADC;
|
||||||
else if (arg == "ibias_sfp") return DACIndex::IBIAS_SFP;
|
else if (arg == "vcom_cds")
|
||||||
else if (arg == "trimbits") return DACIndex::TRIMBIT_SCAN;
|
return DACIndex::VCOM_CDS;
|
||||||
else if (arg == "highvoltage") return DACIndex::HIGH_VOLTAGE;
|
else if (arg == "vref_rstore")
|
||||||
else if (arg == "iodelay") return DACIndex::IO_DELAY;
|
return DACIndex::VREF_RSTORE;
|
||||||
else if (arg == "temp_adc") return DACIndex::TEMPERATURE_ADC;
|
else if (arg == "vb_opa_1st")
|
||||||
else if (arg == "temp_fpga") return DACIndex::TEMPERATURE_FPGA;
|
return DACIndex::VB_OPA_1ST;
|
||||||
else if (arg == "temp_fpgaext") return DACIndex::TEMPERATURE_FPGAEXT;
|
else if (arg == "vref_comp_fe")
|
||||||
else if (arg == "temp_10ge") return DACIndex::TEMPERATURE_10GE;
|
return DACIndex::VREF_COMP_FE;
|
||||||
else if (arg == "temp_dcdc") return DACIndex::TEMPERATURE_DCDC;
|
else if (arg == "vcom_adc1")
|
||||||
else if (arg == "temp_sodl") return DACIndex::TEMPERATURE_SODL;
|
return DACIndex::VCOM_ADC1;
|
||||||
else if (arg == "temp_sodr") return DACIndex::TEMPERATURE_SODR;
|
else if (arg == "vref_l_adc")
|
||||||
else if (arg == "temp_fpgafl") return DACIndex::TEMPERATURE_FPGA2;
|
return DACIndex::VREF_L_ADC;
|
||||||
else if (arg == "temp_fpgafr") return DACIndex::TEMPERATURE_FPGA3;
|
else if (arg == "vref_cds")
|
||||||
|
return DACIndex::VREF_CDS;
|
||||||
|
else if (arg == "vb_cs")
|
||||||
|
return DACIndex::VB_CS;
|
||||||
|
else if (arg == "vb_opa_fd")
|
||||||
|
return DACIndex::VB_OPA_FD;
|
||||||
|
else if (arg == "vcom_adc2")
|
||||||
|
return DACIndex::VCOM_ADC2;
|
||||||
|
else if (arg == "vcassh")
|
||||||
|
return DACIndex::VCASSH;
|
||||||
|
else if (arg == "vth2")
|
||||||
|
return DACIndex::VTH2;
|
||||||
|
else if (arg == "vrshaper_n")
|
||||||
|
return DACIndex::VRSHAPER_N;
|
||||||
|
else if (arg == "vipre_out")
|
||||||
|
return DACIndex::VIPRE_OUT;
|
||||||
|
else if (arg == "vth3")
|
||||||
|
return DACIndex::VTH3;
|
||||||
|
else if (arg == "vth1")
|
||||||
|
return DACIndex::VTH1;
|
||||||
|
else if (arg == "vicin")
|
||||||
|
return DACIndex::VICIN;
|
||||||
|
else if (arg == "vcas")
|
||||||
|
return DACIndex::VCAS;
|
||||||
|
else if (arg == "vcal_n")
|
||||||
|
return DACIndex::VCAL_N;
|
||||||
|
else if (arg == "vipre")
|
||||||
|
return DACIndex::VIPRE;
|
||||||
|
else if (arg == "vcal_p")
|
||||||
|
return DACIndex::VCAL_P;
|
||||||
|
else if (arg == "vdcsh")
|
||||||
|
return DACIndex::VDCSH;
|
||||||
|
else if (arg == "vbp_colbuf")
|
||||||
|
return DACIndex::VBP_COLBUF;
|
||||||
|
else if (arg == "vb_sda")
|
||||||
|
return DACIndex::VB_SDA;
|
||||||
|
else if (arg == "vcasc_sfp")
|
||||||
|
return DACIndex::VCASC_SFP;
|
||||||
|
else if (arg == "vipre_cds")
|
||||||
|
return DACIndex::VIPRE_CDS;
|
||||||
|
else if (arg == "ibias_sfp")
|
||||||
|
return DACIndex::IBIAS_SFP;
|
||||||
|
else if (arg == "trimbits")
|
||||||
|
return DACIndex::TRIMBIT_SCAN;
|
||||||
|
else if (arg == "highvoltage")
|
||||||
|
return DACIndex::HIGH_VOLTAGE;
|
||||||
|
else if (arg == "iodelay")
|
||||||
|
return DACIndex::IO_DELAY;
|
||||||
|
else if (arg == "temp_adc")
|
||||||
|
return DACIndex::TEMPERATURE_ADC;
|
||||||
|
else if (arg == "temp_fpga")
|
||||||
|
return DACIndex::TEMPERATURE_FPGA;
|
||||||
|
else if (arg == "temp_fpgaext")
|
||||||
|
return DACIndex::TEMPERATURE_FPGAEXT;
|
||||||
|
else if (arg == "temp_10ge")
|
||||||
|
return DACIndex::TEMPERATURE_10GE;
|
||||||
|
else if (arg == "temp_dcdc")
|
||||||
|
return DACIndex::TEMPERATURE_DCDC;
|
||||||
|
else if (arg == "temp_sodl")
|
||||||
|
return DACIndex::TEMPERATURE_SODL;
|
||||||
|
else if (arg == "temp_sodr")
|
||||||
|
return DACIndex::TEMPERATURE_SODR;
|
||||||
|
else if (arg == "temp_fpgafl")
|
||||||
|
return DACIndex::TEMPERATURE_FPGA2;
|
||||||
|
else if (arg == "temp_fpgafr")
|
||||||
|
return DACIndex::TEMPERATURE_FPGA3;
|
||||||
else if (arg == "temp_slowadc")
|
else if (arg == "temp_slowadc")
|
||||||
return DACIndex::SLOW_ADC_TEMP;
|
return DACIndex::SLOW_ADC_TEMP;
|
||||||
else
|
else
|
||||||
throw std::invalid_argument("Could not decode DACIndex from: \"" + arg + "\"");
|
throw std::invalid_argument("Could not decode DACIndex from: \"" + arg +
|
||||||
|
"\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace aare
|
} // namespace aare
|
||||||
Reference in New Issue
Block a user