StartMessage: Stream rad_int_bin_to_q

This commit is contained in:
2023-05-06 11:03:30 +02:00
parent 0d2fa850a2
commit 2da2fb2631
5 changed files with 13 additions and 4 deletions
@@ -472,6 +472,8 @@ void JFJochFrameDeserializer::ProcessStartMessageUserDataElement(CborValue &valu
start_message.min_value = GetCBORInt(map_value);
else if (key == "rad_int_bin_number")
start_message.rad_int_bin_number = GetCBORInt(map_value);
else if (key == "rad_int_bin_to_q")
GetCBORFloatArray(map_value, start_message.rad_int_bin_to_q);
else if (key == "summation")
start_message.summation = GetCBORUInt(map_value);
else if (key == "storage_cell_number")
+2 -1
View File
@@ -251,7 +251,7 @@ inline void CBOR_ENC_USER_DATA(CborEncoder &encoder, const StartMessage& message
CborEncoder mapEncoder;
cborErr(cbor_encode_text_stringz(&encoder, "user_data"));
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 18));
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 19));
CBOR_ENC(mapEncoder, "file_prefix", message.file_prefix);
CBOR_ENC(mapEncoder, "sample_name", message.sample_name);
@@ -283,6 +283,7 @@ inline void CBOR_ENC_USER_DATA(CborEncoder &encoder, const StartMessage& message
CBOR_ENC(mapEncoder, "instrument_name", message.instrument_name);
CBOR_ENC(mapEncoder, "instrument_name_short", message.instrument_name_short);
CBOR_ENC(mapEncoder, "rad_int_bin_number", message.rad_int_bin_number);
CBOR_ENC(mapEncoder, "rad_int_bin_to_q", message.rad_int_bin_to_q);
CBOR_ENC(mapEncoder, "summation", message.summation);
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
}
+2
View File
@@ -77,6 +77,8 @@ struct StartMessage {
uint64_t rad_int_bin_number;
uint64_t summation;
std::vector<float> rad_int_bin_to_q;
};
#endif //JUNGFRAUJOCH_STARTMESSAGE_H
+3 -2
View File
@@ -141,9 +141,10 @@ JFJochReceiver::JFJochReceiver(const JFJochProtoBuf::ReceiverInput &settings,
if (calib)
message.pixel_mask["sc0"] = calib->CalculateNexusMask(experiment, 0);
if (rad_int_mapping)
if (rad_int_mapping) {
message.rad_int_bin_number = rad_int_mapping->GetBinNumber();
else
message.rad_int_bin_to_q = rad_int_mapping->GetBinToQ();
} else
message.rad_int_bin_number = 0;
image_pusher.StartDataCollection(message);
+4 -1
View File
@@ -57,7 +57,8 @@ TEST_CASE("CBORSerialize_Start", "[CBOR]") {
.instrument_name = "X06SA",
.instrument_name_short = "PXIII",
.rad_int_bin_number = 35,
.summation = 567
.summation = 567,
.rad_int_bin_to_q = {0.1, 0.2, 0.3, 0.5}
};
message.pixel_mask["sc0"] = std::vector<uint32_t>(456*457, 15);
@@ -110,6 +111,7 @@ TEST_CASE("CBORSerialize_Start", "[CBOR]") {
CHECK(output_message.instrument_name_short == message.instrument_name_short);
CHECK(output_message.rad_int_bin_number == message.rad_int_bin_number);
CHECK(output_message.summation == message.summation);
CHECK(output_message.rad_int_bin_to_q == message.rad_int_bin_to_q);
for (int i = 0; i < 3; i++)
CHECK(output_message.detector_translation[i] == message.detector_translation[i]);
@@ -119,6 +121,7 @@ TEST_CASE("CBORSerialize_Start", "[CBOR]") {
REQUIRE(output_message.goniometer.contains("omega"));
CHECK(output_message.goniometer["omega"].increment == 0.1f);
CHECK(output_message.goniometer["omega"].start == 10.0f);
}
TEST_CASE("CBORSerialize_End", "[CBOR]") {