ProtoBuf: Don't use maps, as these don't preserve order of elements

This commit is contained in:
leonarski_f committed 2023-06-26 09:27:47 +02:00
1 parent 2caba97bb2
commit a43fa2a296
6 files changed
+136 -111

No files matched your search

+13 -3
View File
@@ -25,7 +25,7 @@ enum DetectorMode {
PEDESTAL_G2 = 4;
};
enum FPGAFIFOStatus {
enum FPGAFIFOStatusEnum {
EMPTY = 0;
FULL = 1;
PARTIAL = 2;
@@ -288,8 +288,13 @@ message PlotRequest {
uint64 binning = 2;
}
message RadialIntegrationProfile {
string title = 1;
Plot plot = 2;
}
message RadialIntegrationProfiles {
map <string, Plot> plots = 1;
repeated RadialIntegrationProfile profiles = 1;
}
// Writer
@@ -351,6 +356,11 @@ message DetectorStatus {
string server_version = 3;
}
message FPGAFIFOStatus {
string name = 1;
FPGAFIFOStatusEnum value = 2;
}
message FPGAStatus {
uint64 packets_ether = 2;
uint64 packets_udp = 3;
@@ -363,7 +373,7 @@ message FPGAStatus {
uint64 stalls_host = 10;
bool ethernet_rx_aligned = 11;
uint32 full_status_register = 13;
map<string, FPGAFIFOStatus> fifo_status = 14;
repeated FPGAFIFOStatus fifo_status = 14;
uint64 max_modules = 15;
uint32 git_sha1 = 16;
uint32 mailbox_err_reg = 17;
+69 -73
View File
@@ -13,29 +13,25 @@ _sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cjfjoch.proto\x12\x0eJFJochProtoBuf\"\x07\n\x05\x45mpty\"W\n\x08UnitCell\x12\t\n\x01\x61\x18\x01 \x01(\x02\x12\t\n\x01\x62\x18\x02 \x01(\x02\x12\t\n\x01\x63\x18\x03 \x01(\x02\x12\r\n\x05\x61lpha\x18\x04 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x05 \x01(\x02\x12\r\n\x05gamma\x18\x06 \x01(\x02\")\n\x06Vector\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"|\n\x10RotationSettings\x12\x17\n\x0fstart_angle_deg\x18\x01 \x01(\x02\x12 \n\x18\x61ngle_incr_per_image_deg\x18\x02 \x01(\x02\x12-\n\rrotation_axis\x18\x03 \x01(\x0b\x32\x16.JFJochProtoBuf.Vector\"\x1c\n\x04Plot\x12\t\n\x01x\x18\x01 \x03(\x02\x12\t\n\x01y\x18\x02 \x03(\x02\"E\n\x0cROIRectangle\x12\n\n\x02x0\x18\x01 \x01(\x05\x12\n\n\x02y0\x18\x02 \x01(\x05\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x0e\n\x06height\x18\x04 \x01(\x05\"\x8f\x05\n\x0f\x44\x61tasetSettings\x12\x1a\n\x12images_per_trigger\x18\x01 \x01(\x03\x12\x10\n\x08ntrigger\x18\x02 \x01(\x03\x12\x13\n\tsummation\x18\x03 \x01(\x03H\x00\x12\x17\n\rimage_time_us\x18\x04 \x01(\x03H\x00\x12\x12\n\nbeam_x_pxl\x18\x05 \x01(\x02\x12\x12\n\nbeam_y_pxl\x18\x06 \x01(\x02\x12\x1c\n\x14\x64\x65tector_distance_mm\x18\x07 \x01(\x02\x12\x19\n\x11photon_energy_keV\x18\x08 \x01(\x02\x12\x13\n\x0b\x66ile_prefix\x18\t \x01(\t\x12\x17\n\x0f\x64\x61ta_file_count\x18\n \x01(\x03\x12\x30\n\x0b\x63ompression\x18\x0b \x01(\x0e\x32\x1b.JFJochProtoBuf.Compression\x12\x13\n\x0bsample_name\x18\x0c \x01(\t\x12\x30\n\tunit_cell\x18\r \x01(\x0b\x32\x18.JFJochProtoBuf.UnitCellH\x01\x88\x01\x01\x12\x1a\n\x12space_group_number\x18\x0e \x01(\x03\x12\x36\n\x11scattering_vector\x18\x0f \x01(\x0b\x32\x16.JFJochProtoBuf.VectorH\x02\x88\x01\x01\x12\x18\n\x10\x61pply_pixel_mask\x18\x10 \x01(\x08\x12\x12\n\nbinning2x2\x18\x11 \x01(\x08\x12 \n\x18rad_int_solid_angle_corr\x18\x12 \x01(\x08\x12!\n\x19rad_int_polarization_corr\x18\x13 \x01(\x08\x12#\n\x1brad_int_polarization_factor\x18\x14 \x01(\x02\x42\x08\n\x06timingB\x0c\n\n_unit_cellB\x14\n\x12_scattering_vector\"\xf7\x02\n\x10\x44\x65tectorSettings\x12\x15\n\rframe_time_us\x18\x01 \x01(\x03\x12\x1a\n\rcount_time_us\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\x12storage_cell_count\x18\x03 \x01(\x03\x12%\n\x1duse_internal_packet_generator\x18\x04 \x01(\x08\x12\x18\n\x10\x63ollect_raw_data\x18\x05 \x01(\x08\x12\x1f\n\x12pedestal_g0_frames\x18\x06 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\x12pedestal_g1_frames\x18\x07 \x01(\x03H\x02\x88\x01\x01\x12\x1f\n\x12pedestal_g2_frames\x18\x08 \x01(\x03H\x03\x88\x01\x01\x12\x19\n\x11\x63onversion_on_cpu\x18\t \x01(\x08\x42\x10\n\x0e_count_time_usB\x15\n\x13_pedestal_g0_framesB\x15\n\x13_pedestal_g1_framesB\x15\n\x13_pedestal_g2_frames\"b\n\x16\x44\x65tectorModuleGeometry\x12\x0e\n\x06pixel0\x18\x01 \x01(\x03\x12\x1b\n\x13\x66\x61st_direction_step\x18\x02 \x01(\x03\x12\x1b\n\x13slow_direction_step\x18\x03 \x01(\x03\"z\n\x10\x44\x65tectorGeometry\x12\x11\n\twidth_pxl\x18\x01 \x01(\x03\x12\x12\n\nheight_pxl\x18\x02 \x01(\x03\x12?\n\x0fmodule_geometry\x18\x03 \x03(\x0b\x32&.JFJochProtoBuf.DetectorModuleGeometry\"\xc1\x01\n\x08\x44\x65tector\x12\x10\n\x08nmodules\x18\x01 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x15\n\rpixel_size_mm\x18\x03 \x01(\x02\x12\x17\n\x0fmodule_hostname\x18\x04 \x03(\t\x12\x32\n\x08geometry\x18\x05 \x01(\x0b\x32 .JFJochProtoBuf.DetectorGeometry\x12*\n\x04type\x18\x06 \x01(\x0e\x32\x1c.JFJochProtoBuf.DetectorType\"\xa9\x06\n\x10InternalSettings\x12\"\n\x1a\x66rame_time_pedestalG1G2_us\x18\x01 \x01(\x03\x12\x15\n\rframe_time_us\x18\x03 \x01(\x03\x12\x15\n\rcount_time_us\x18\x04 \x01(\x03\x12*\n\x08\x64\x65tector\x18\x05 \x01(\x0b\x32\x18.JFJochProtoBuf.Detector\x12\x14\n\x0cndatastreams\x18\x06 \x01(\x03\x12&\n\x1einternal_fpga_packet_generator\x18\t \x01(\x08\x12\x15\n\rstorage_cells\x18\n \x01(\x03\x12\x1a\n\x12storage_cell_start\x18\x0b \x01(\x03\x12\x1a\n\x12pedestal_g0_frames\x18\x0c \x01(\x03\x12\x1a\n\x12pedestal_g1_frames\x18\r \x01(\x03\x12\x1a\n\x12pedestal_g2_frames\x18\x0e \x01(\x03\x12\x19\n\x11preview_period_us\x18\x0f \x01(\x03\x12\x1e\n\x16spot_finding_period_us\x18\x10 \x01(\x03\x12*\n\x04mode\x18\x13 \x01(\x0e\x32\x1c.JFJochProtoBuf.DetectorMode\x12\x19\n\x11mask_module_edges\x18\x14 \x01(\x08\x12\x17\n\x0fmask_chip_edges\x18\x15 \x01(\x08\x12\x16\n\x0eipv4_base_addr\x18\x16 \x01(\x03\x12\r\n\x05low_q\x18\x1a \x01(\x02\x12\x0e\n\x06high_q\x18\x1b \x01(\x02\x12\x11\n\tq_spacing\x18\x1c \x01(\x02\x12\x10\n\x08git_sha1\x18\x1d \x01(\t\x12\x10\n\x08git_date\x18\x1e \x01(\t\x12\x19\n\x11\x63onversion_on_cpu\x18\x1f \x01(\x08\x12\x13\n\x0bsource_name\x18 \x01(\t\x12\x19\n\x11source_name_short\x18! \x01(\t\x12\x17\n\x0finstrument_name\x18\" \x01(\t\x12\x1d\n\x15instrument_name_short\x18# \x01(\t\x12\x33\n\rroi_rectangle\x18$ \x03(\x0b\x32\x1c.JFJochProtoBuf.ROIRectangle\x12\x11\n\troi_apply\x18% \x01(\x08\"|\n\x14JungfraujochSettings\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x1f.JFJochProtoBufLine truncated
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cjfjoch.proto\x12\x0eJFJochProtoBuf\"\x07\n\x05\x45mpty\"W\n\x08UnitCell\x12\t\n\x01\x61\x18\x01 \x01(\x02\x12\t\n\x01\x62\x18\x02 \x01(\x02\x12\t\n\x01\x63\x18\x03 \x01(\x02\x12\r\n\x05\x61lpha\x18\x04 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x05 \x01(\x02\x12\r\n\x05gamma\x18\x06 \x01(\x02\")\n\x06Vector\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"|\n\x10RotationSettings\x12\x17\n\x0fstart_angle_deg\x18\x01 \x01(\x02\x12 \n\x18\x61ngle_incr_per_image_deg\x18\x02 \x01(\x02\x12-\n\rrotation_axis\x18\x03 \x01(\x0b\x32\x16.JFJochProtoBuf.Vector\"\x1c\n\x04Plot\x12\t\n\x01x\x18\x01 \x03(\x02\x12\t\n\x01y\x18\x02 \x03(\x02\"E\n\x0cROIRectangle\x12\n\n\x02x0\x18\x01 \x01(\x05\x12\n\n\x02y0\x18\x02 \x01(\x05\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x0e\n\x06height\x18\x04 \x01(\x05\"\x8f\x05\n\x0f\x44\x61tasetSettings\x12\x1a\n\x12images_per_trigger\x18\x01 \x01(\x03\x12\x10\n\x08ntrigger\x18\x02 \x01(\x03\x12\x13\n\tsummation\x18\x03 \x01(\x03H\x00\x12\x17\n\rimage_time_us\x18\x04 \x01(\x03H\x00\x12\x12\n\nbeam_x_pxl\x18\x05 \x01(\x02\x12\x12\n\nbeam_y_pxl\x18\x06 \x01(\x02\x12\x1c\n\x14\x64\x65tector_distance_mm\x18\x07 \x01(\x02\x12\x19\n\x11photon_energy_keV\x18\x08 \x01(\x02\x12\x13\n\x0b\x66ile_prefix\x18\t \x01(\t\x12\x17\n\x0f\x64\x61ta_file_count\x18\n \x01(\x03\x12\x30\n\x0b\x63ompression\x18\x0b \x01(\x0e\x32\x1b.JFJochProtoBuf.Compression\x12\x13\n\x0bsample_name\x18\x0c \x01(\t\x12\x30\n\tunit_cell\x18\r \x01(\x0b\x32\x18.JFJochProtoBuf.UnitCellH\x01\x88\x01\x01\x12\x1a\n\x12space_group_number\x18\x0e \x01(\x03\x12\x36\n\x11scattering_vector\x18\x0f \x01(\x0b\x32\x16.JFJochProtoBuf.VectorH\x02\x88\x01\x01\x12\x18\n\x10\x61pply_pixel_mask\x18\x10 \x01(\x08\x12\x12\n\nbinning2x2\x18\x11 \x01(\x08\x12 \n\x18rad_int_solid_angle_corr\x18\x12 \x01(\x08\x12!\n\x19rad_int_polarization_corr\x18\x13 \x01(\x08\x12#\n\x1brad_int_polarization_factor\x18\x14 \x01(\x02\x42\x08\n\x06timingB\x0c\n\n_unit_cellB\x14\n\x12_scattering_vector\"\xf7\x02\n\x10\x44\x65tectorSettings\x12\x15\n\rframe_time_us\x18\x01 \x01(\x03\x12\x1a\n\rcount_time_us\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12\x1a\n\x12storage_cell_count\x18\x03 \x01(\x03\x12%\n\x1duse_internal_packet_generator\x18\x04 \x01(\x08\x12\x18\n\x10\x63ollect_raw_data\x18\x05 \x01(\x08\x12\x1f\n\x12pedestal_g0_frames\x18\x06 \x01(\x03H\x01\x88\x01\x01\x12\x1f\n\x12pedestal_g1_frames\x18\x07 \x01(\x03H\x02\x88\x01\x01\x12\x1f\n\x12pedestal_g2_frames\x18\x08 \x01(\x03H\x03\x88\x01\x01\x12\x19\n\x11\x63onversion_on_cpu\x18\t \x01(\x08\x42\x10\n\x0e_count_time_usB\x15\n\x13_pedestal_g0_framesB\x15\n\x13_pedestal_g1_framesB\x15\n\x13_pedestal_g2_frames\"b\n\x16\x44\x65tectorModuleGeometry\x12\x0e\n\x06pixel0\x18\x01 \x01(\x03\x12\x1b\n\x13\x66\x61st_direction_step\x18\x02 \x01(\x03\x12\x1b\n\x13slow_direction_step\x18\x03 \x01(\x03\"z\n\x10\x44\x65tectorGeometry\x12\x11\n\twidth_pxl\x18\x01 \x01(\x03\x12\x12\n\nheight_pxl\x18\x02 \x01(\x03\x12?\n\x0fmodule_geometry\x18\x03 \x03(\x0b\x32&.JFJochProtoBuf.DetectorModuleGeometry\"\xc1\x01\n\x08\x44\x65tector\x12\x10\n\x08nmodules\x18\x01 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x15\n\rpixel_size_mm\x18\x03 \x01(\x02\x12\x17\n\x0fmodule_hostname\x18\x04 \x03(\t\x12\x32\n\x08geometry\x18\x05 \x01(\x0b\x32 .JFJochProtoBuf.DetectorGeometry\x12*\n\x04type\x18\x06 \x01(\x0e\x32\x1c.JFJochProtoBuf.DetectorType\"\xa9\x06\n\x10InternalSettings\x12\"\n\x1a\x66rame_time_pedestalG1G2_us\x18\x01 \x01(\x03\x12\x15\n\rframe_time_us\x18\x03 \x01(\x03\x12\x15\n\rcount_time_us\x18\x04 \x01(\x03\x12*\n\x08\x64\x65tector\x18\x05 \x01(\x0b\x32\x18.JFJochProtoBuf.Detector\x12\x14\n\x0cndatastreams\x18\x06 \x01(\x03\x12&\n\x1einternal_fpga_packet_generator\x18\t \x01(\x08\x12\x15\n\rstorage_cells\x18\n \x01(\x03\x12\x1a\n\x12storage_cell_start\x18\x0b \x01(\x03\x12\x1a\n\x12pedestal_g0_frames\x18\x0c \x01(\x03\x12\x1a\n\x12pedestal_g1_frames\x18\r \x01(\x03\x12\x1a\n\x12pedestal_g2_frames\x18\x0e \x01(\x03\x12\x19\n\x11preview_period_us\x18\x0f \x01(\x03\x12\x1e\n\x16spot_finding_period_us\x18\x10 \x01(\x03\x12*\n\x04mode\x18\x13 \x01(\x0e\x32\x1c.JFJochProtoBuf.DetectorMode\x12\x19\n\x11mask_module_edges\x18\x14 \x01(\x08\x12\x17\n\x0fmask_chip_edges\x18\x15 \x01(\x08\x12\x16\n\x0eipv4_base_addr\x18\x16 \x01(\x03\x12\r\n\x05low_q\x18\x1a \x01(\x02\x12\x0e\n\x06high_q\x18\x1b \x01(\x02\x12\x11\n\tq_spacing\x18\x1c \x01(\x02\x12\x10\n\x08git_sha1\x18\x1d \x01(\t\x12\x10\n\x08git_date\x18\x1e \x01(\t\x12\x19\n\x11\x63onversion_on_cpu\x18\x1f \x01(\x08\x12\x13\n\x0bsource_name\x18 \x01(\t\x12\x19\n\x11source_name_short\x18! \x01(\t\x12\x17\n\x0finstrument_name\x18\" \x01(\t\x12\x1d\n\x15instrument_name_short\x18# \x01(\t\x12\x33\n\rroi_rectangle\x18$ \x03(\x0b\x32\x1c.JFJochProtoBuf.ROIRectangle\x12\x11\n\troi_apply\x18% \x01(\x08\"|\n\x14JungfraujochSettings\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x1f.JFJochProtoBufLine truncated
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'jfjoch_pb2', globals())
if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
_RADIALINTEGRATIONPROFILES_PLOTSENTRY._options = None
_RADIALINTEGRATIONPROFILES_PLOTSENTRY._serialized_options = b'8\001'
_FPGASTATUS_FIFOSTATUSENTRY._options = None
_FPGASTATUS_FIFOSTATUSENTRY._serialized_options = b'8\001'
_COMPRESSION._serialized_start=9016
_COMPRESSION._serialized_end=9100
_DETECTORTYPE._serialized_start=9102
_DETECTORTYPE._serialized_end=9141
_DETECTORMODE._serialized_start=9143
_DETECTORMODE._serialized_end=9233
_FPGAFIFOSTATUS._serialized_start=9235
_FPGAFIFOSTATUS._serialized_end=9285
_STATE._serialized_start=9287
_STATE._serialized_end=9381
_PLOTTYPE._serialized_start=9383
_PLOTTYPE._serialized_end=9487
_COMPRESSION._serialized_start=9005
_COMPRESSION._serialized_end=9089
_DETECTORTYPE._serialized_start=9091
_DETECTORTYPE._serialized_end=9130
_DETECTORMODE._serialized_start=9132
_DETECTORMODE._serialized_end=9222
_FPGAFIFOSTATUSENUM._serialized_start=9224
_FPGAFIFOSTATUSENUM._serialized_end=9278
_STATE._serialized_start=9280
_STATE._serialized_end=9374
_PLOTTYPE._serialized_start=9376
_PLOTTYPE._serialized_end=9480
_EMPTY._serialized_start=32
_EMPTY._serialized_end=39
_UNITCELL._serialized_start=41
@@ -84,60 +80,60 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_RECEIVERSTATUS._serialized_end=4406
_PLOTREQUEST._serialized_start=4408
_PLOTREQUEST._serialized_end=4478
_RADIALINTEGRATIONPROFILES._serialized_start=4481
_RADIALINTEGRATIONPROFILES._serialized_end=4645
_RADIALINTEGRATIONPROFILES_PLOTSENTRY._serialized_start=4579
_RADIALINTEGRATIONPROFILES_PLOTSENTRY._serialized_end=4645
_WRITERINPUT._serialized_start=4647
_WRITERINPUT._serialized_end=4709
_DATAFILESTATISTICS._serialized_start=4711
_DATAFILESTATISTICS._serialized_end=4762
_WRITEROUTPUT._serialized_start=4765
_WRITEROUTPUT._serialized_end=4906
_DETECTORMODULECONFIG._serialized_start=4909
_DETECTORMODULECONFIG._serialized_end=5167
_DETECTORCONFIG._serialized_start=5169
_DETECTORCONFIG._serialized_end=5265
_DETECTORINPUT._serialized_start=5268
_DETECTORINPUT._serialized_end=5517
_DETECTOROUTPUT._serialized_start=5519
_DETECTOROUTPUT._serialized_end=5535
_DETECTORSTATUS._serialized_start=5537
_DETECTORSTATUS._serialized_end=5635
_FPGASTATUS._serialized_start=5638
_FPGASTATUS._serialized_end=6694
_FPGASTATUS_FIFOSTATUSENTRY._serialized_start=6613
_FPGASTATUS_FIFOSTATUSENTRY._serialized_end=6694
_DATAPROCESSINGSETTINGS._serialized_start=6697
_DATAPROCESSINGSETTINGS._serialized_end=7043
_PREVIEWFRAMESPOT._serialized_start=7045
_PREVIEWFRAMESPOT._serialized_end=7102
_PREVIEWFRAME._serialized_start=7105
_PREVIEWFRAME._serialized_end=7423
_MODULESTATISTICS._serialized_start=7426
_MODULESTATISTICS._serialized_end=7663
_IMAGE._serialized_start=7665
_IMAGE._serialized_end=7738
_MASKTOLOAD._serialized_start=7740
_MASKTOLOAD._serialized_end=7786
_MEASUREMENTSTATISTICS._serialized_start=7789
_MEASUREMENTSTATISTICS._serialized_end=8402
_BROKERSTATUS._serialized_start=8405
_BROKERSTATUS._serialized_end=8620
_BROKERFULLSTATUS._serialized_start=8623
_BROKERFULLSTATUS._serialized_end=8787
_DETECTORLISTELEMENT._serialized_start=8789
_DETECTORLISTELEMENT._serialized_end=8861
_DETECTORLIST._serialized_start=8863
_DETECTORLIST._serialized_end=8981
_DETECTORSELECTION._serialized_start=8983
_DETECTORSELECTION._serialized_end=9014
_GRPC_JFJOCHRECEIVER._serialized_start=9490
_GRPC_JFJOCHRECEIVER._serialized_end=10257
_GRPC_JFJOCHWRITER._serialized_start=10260
_GRPC_JFJOCHWRITER._serialized_end=10462
_GRPC_JFJOCHDETECTOR._serialized_start=10465
_GRPC_JFJOCHDETECTOR._serialized_end=10851
_GRPC_JFJOCHBROKER._serialized_start=10854
_GRPC_JFJOCHBROKER._serialized_end=12543
_RADIALINTEGRATIONPROFILE._serialized_start=4480
_RADIALINTEGRATIONPROFILE._serialized_end=4557
_RADIALINTEGRATIONPROFILES._serialized_start=4559
_RADIALINTEGRATIONPROFILES._serialized_end=4646
_WRITERINPUT._serialized_start=4648
_WRITERINPUT._serialized_end=4710
_DATAFILESTATISTICS._serialized_start=4712
_DATAFILESTATISTICS._serialized_end=4763
_WRITEROUTPUT._serialized_start=4766
_WRITEROUTPUT._serialized_end=4907
_DETECTORMODULECONFIG._serialized_start=4910
_DETECTORMODULECONFIG._serialized_end=5168
_DETECTORCONFIG._serialized_start=5170
_DETECTORCONFIG._serialized_end=5266
_DETECTORINPUT._serialized_start=5269
_DETECTORINPUT._serialized_end=5518
_DETECTOROUTPUT._serialized_start=5520
_DETECTOROUTPUT._serialized_end=5536
_DETECTORSTATUS._serialized_start=5538
_DETECTORSTATUS._serialized_end=5636
_FPGAFIFOSTATUS._serialized_start=5638
_FPGAFIFOSTATUS._serialized_end=5719
_FPGASTATUS._serialized_start=5722
_FPGASTATUS._serialized_end=6683
_DATAPROCESSINGSETTINGS._serialized_start=6686
_DATAPROCESSINGSETTINGS._serialized_end=7032
_PREVIEWFRAMESPOT._serialized_start=7034
_PREVIEWFRAMESPOT._serialized_end=7091
_PREVIEWFRAME._serialized_start=7094
_PREVIEWFRAME._serialized_end=7412
_MODULESTATISTICS._serialized_start=7415
_MODULESTATISTICS._serialized_end=7652
_IMAGE._serialized_start=7654
_IMAGE._serialized_end=7727
_MASKTOLOAD._serialized_start=7729
_MASKTOLOAD._serialized_end=7775
_MEASUREMENTSTATISTICS._serialized_start=7778
_MEASUREMENTSTATISTICS._serialized_end=8391
_BROKERSTATUS._serialized_start=8394
_BROKERSTATUS._serialized_end=8609
_BROKERFULLSTATUS._serialized_start=8612
_BROKERFULLSTATUS._serialized_end=8776
_DETECTORLISTELEMENT._serialized_start=8778
_DETECTORLISTELEMENT._serialized_end=8850
_DETECTORLIST._serialized_start=8852
_DETECTORLIST._serialized_end=8970
_DETECTORSELECTION._serialized_start=8972
_DETECTORSELECTION._serialized_end=9003
_GRPC_JFJOCHRECEIVER._serialized_start=9483
_GRPC_JFJOCHRECEIVER._serialized_end=10250
_GRPC_JFJOCHWRITER._serialized_start=10253
_GRPC_JFJOCHWRITER._serialized_end=10455
_GRPC_JFJOCHDETECTOR._serialized_start=10458
_GRPC_JFJOCHDETECTOR._serialized_end=10844
_GRPC_JFJOCHBROKER._serialized_start=10847
_GRPC_JFJOCHBROKER._serialized_end=12536
# @@protoc_insertion_point(module_scope)
+20 -13
View File
@@ -156,12 +156,19 @@ ActionConfig FPGAAcquisitionDevice::ReadActionRegister() {
return cfg;
}
inline JFJochProtoBuf::FPGAFIFOStatus FIFO_check(uint32_t fifo_register, uint16_t pos_empty, uint16_t pos_full) {
inline void FIFO_check(JFJochProtoBuf::FPGAStatus &fpga_status,
const std::string &name,
uint32_t fifo_register,
uint16_t pos_empty,
uint16_t pos_full) {
auto fifo_status = fpga_status.add_fifo_status();
fifo_status->set_name(name);
if (std::bitset<32>(fifo_register).test(pos_empty))
return JFJochProtoBuf::FPGAFIFOStatus::EMPTY;
fifo_status->set_value(JFJochProtoBuf::FPGAFIFOStatusEnum::EMPTY);
if (std::bitset<32>(fifo_register).test(pos_full))
return JFJochProtoBuf::FPGAFIFOStatus::FULL;
return JFJochProtoBuf::FPGAFIFOStatus::PARTIAL;
fifo_status->set_value(JFJochProtoBuf::FPGAFIFOStatusEnum::FULL);
fifo_status->set_value(JFJochProtoBuf::FPGAFIFOStatusEnum::PARTIAL);
}
JFJochProtoBuf::FPGAStatus FPGAAcquisitionDevice::GetStatus() const {
@@ -182,15 +189,15 @@ JFJochProtoBuf::FPGAStatus FPGAAcquisitionDevice::GetStatus() const {
ret.set_max_modules(status.max_modules);
ret.set_git_sha1(status.git_sha1);
(*ret.mutable_fifo_status())["Conversion input (data)"] = FIFO_check(status.fifo_status, 0, 1);
(*ret.mutable_fifo_status())["Conversion input (cmd)"] = FIFO_check(status.fifo_status, 2, 3);
(*ret.mutable_fifo_status())["UDP"] = FIFO_check(status.fifo_status, 6, 7);
(*ret.mutable_fifo_status())["Work Request"] = FIFO_check(status.fifo_status, 12, 13);
(*ret.mutable_fifo_status())["Work Completion"] = FIFO_check(status.fifo_status, 14, 15);
(*ret.mutable_fifo_status())["Host mem (data)"] = FIFO_check(status.fifo_status, 8, 9);
(*ret.mutable_fifo_status())["Host mem (cmd)"] = FIFO_check(status.fifo_status, 10, 11);
(*ret.mutable_fifo_status())["Data FIFO #8"] = FIFO_check(status.fifo_status, 16, 17);
(*ret.mutable_fifo_status())["Addr FIFO #3"] = FIFO_check(status.fifo_status, 18, 19);
FIFO_check(ret, "Conversion input (data)", status.fifo_status, 0, 1);
FIFO_check(ret, "Conversion input (cmd)", status.fifo_status, 2, 3);
FIFO_check(ret, "UDP", status.fifo_status, 6, 7);
FIFO_check(ret, "Work Request", status.fifo_status, 12, 13);
FIFO_check(ret, "Work Completion", status.fifo_status, 14, 15);
FIFO_check(ret, "Host mem (data)", status.fifo_status, 8, 9);
FIFO_check(ret, "Host mem (cmd)", status.fifo_status, 10, 11);
FIFO_check(ret, "Data FIFO #8", status.fifo_status, 16, 17);
FIFO_check(ret, "Addr FIFO #3", status.fifo_status, 18, 19);
ret.set_fpga_idle(HW_IsIdle());
+10 -6
View File
@@ -703,13 +703,17 @@ JFJochProtoBuf::Plot JFJochReceiver::GetPlots(const JFJochProtoBuf::PlotRequest
JFJochProtoBuf::RadialIntegrationProfiles JFJochReceiver::GetRadialIntegrationProfiles() {
JFJochProtoBuf::RadialIntegrationProfiles ret;
auto &map = *ret.mutable_plots();
if (rad_int_profile) {
auto p = ret.add_profiles();
p->set_title("dataset");
rad_int_profile->GetPlot(*p->mutable_plot());
}
if (rad_int_profile)
rad_int_profile->GetPlot(map["dataset"]);
for (int i = 0; i < rad_int_profile_per_file.size(); i++)
rad_int_profile_per_file[i]->GetPlot(map["file" + std::to_string(i)]);
for (int i = 0; i < rad_int_profile_per_file.size(); i++) {
auto p = ret.add_profiles();
p->set_title("file" + std::to_string(i));
rad_int_profile_per_file[i]->GetPlot(*p->mutable_plot());
}
return ret;
}
+10 -8
View File
@@ -51,19 +51,21 @@ int main(int argc, char **argv) {
std::cout << "Frames int. pkt. gen. " << std::dec << cfg.nframes << std::endl;
std::cout << std::endl;
std::cout << "FPGA FIFO status: " << std::endl;
for (const auto &[x,y]: status.fifo_status()) {
std::string s = x;
for (const auto &i: status.fifo_status()) {
std::string s = i.name();
s.resize(28, ' ');
switch (y) {
case JFJochProtoBuf::FPGAFIFOStatus::PARTIAL:
s += "Partial";
break;
case JFJochProtoBuf::FPGAFIFOStatus::EMPTY:
switch (i.value()) {
case JFJochProtoBuf::FPGAFIFOStatusEnum::EMPTY:
s += "Empty";
break;
case JFJochProtoBuf::FPGAFIFOStatus::FULL:
case JFJochProtoBuf::FPGAFIFOStatusEnum::FULL:
s += "Full";
break;
case JFJochProtoBuf::FPGAFIFOStatusEnum::PARTIAL:
s += "Partial";
break;
default:
break;
}
std::cout << s << std::endl;
}
+14 -8
View File
@@ -1493,14 +1493,20 @@ TEST_CASE("JFJochIntegrationTest_ZMQ_lysozyme_rad_int", "[JFJochReceiver]") {
logger.Info("Stopped measurement");
auto rad_int = state_machine.GetRadialIntegrationProfiles();
REQUIRE(rad_int.plots_size() == 4+1);
auto &plot_map = rad_int.plots();
REQUIRE(plot_map.at("file0").x_size() == 3);
REQUIRE(plot_map.at("file0").y_size() == 3);
REQUIRE(plot_map.at("file3").x_size() == 3);
REQUIRE(plot_map.at("file3").y_size() == 3);
REQUIRE(plot_map.at("file3").x(0) == Approx(1.0));
REQUIRE(plot_map.at("dataset").x_size() == 3);
REQUIRE(rad_int.profiles_size() == 4+1);
auto &plot_map = rad_int.profiles();
CHECK(plot_map[1].title() == "file0");
CHECK(plot_map[1].plot().x_size() == 3);
CHECK(plot_map[1].plot().y_size() == 3);
CHECK(plot_map[4].title() == "file3");
REQUIRE(plot_map[4].plot().x_size() == 3);
CHECK(plot_map[4].plot().x(0) == Approx(1.0));
CHECK(plot_map[4].plot().y_size() == 3);
CHECK(plot_map[0].title() == "dataset");
CHECK(plot_map[0].plot().x_size() == 3);
fpga_receiver_server->Shutdown();
writer_server->Shutdown();