StartMessage: Stream rad_int_bin_to_q
This commit is contained in:
@@ -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")
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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]") {
|
||||
|
||||
Reference in New Issue
Block a user