Frontend: Added option to select detector

This commit is contained in:
leonarski_f committed 2023-04-13 18:12:19 +02:00
1 parent ae44b2eedf
commit 96a1b6e50c
7 files changed
+228 -35

No files matched your search

+44 -1
View File
@@ -29,7 +29,6 @@ channel = grpc.insecure_channel(
("grpc.max_receive_message_length", MAX_MESSAGE_LENGTH),
],
)
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
@app.get("/", response_class=RedirectResponse)
@@ -45,6 +44,7 @@ async def get_frontend():
@app.post("/detector/pedestal")
async def pedestal():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
stub.Pedestal(jfjoch_pb2.Empty())
except grpc.RpcError as e:
raise HTTPException(status_code=400, detail=e.details())
@@ -54,6 +54,7 @@ async def pedestal():
@app.post("/detector/initialize")
async def initialize():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
stub.Initialize(jfjoch_pb2.Empty())
except grpc.RpcError as e:
raise HTTPException(status_code=400, detail=e.details())
@@ -63,6 +64,7 @@ async def initialize():
@app.post("/detector/deactivate")
async def deactivate():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
stub.Deactivate(jfjoch_pb2.Empty())
except grpc.RpcError as e:
raise HTTPException(status_code=400, detail=e.details())
@@ -72,6 +74,7 @@ async def deactivate():
@app.post("/detector/start")
async def start(data: str = Body(...)):
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
stub.Start(Parse(data, jfjoch_pb2.DatasetSettings()))
return {}
except ParseError as e:
@@ -83,6 +86,7 @@ async def start(data: str = Body(...)):
@app.post("/detector/stop")
async def stop():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
stub.Stop(jfjoch_pb2.Empty())
except grpc.RpcError as e:
raise HTTPException(status_code=400, detail=e.details())
@@ -92,6 +96,7 @@ async def stop():
@app.post("/detector/trigger")
async def stop():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
stub.Trigger(jfjoch_pb2.Empty())
except grpc.RpcError as e:
raise HTTPException(status_code=400, detail=e.details())
@@ -101,6 +106,7 @@ async def stop():
@app.get("/detector/status")
async def get_status():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
return MessageToDict(
stub.GetStatus(jfjoch_pb2.Empty()), including_default_value_fields=True
)
@@ -111,6 +117,7 @@ async def get_status():
@app.get("/detector/settings")
async def get_settings():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
return MessageToDict(
stub.GetDetectorSettings(jfjoch_pb2.Empty()),
including_default_value_fields=True,
@@ -122,6 +129,7 @@ async def get_settings():
@app.put("/detector/settings")
async def put_settings(data: str = Body(...)):
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
stub.PutDetectorSettings(Parse(data, jfjoch_pb2.DetectorSettings()))
return {}
except ParseError as e:
@@ -133,6 +141,7 @@ async def put_settings(data: str = Body(...)):
@app.get("/detector/calibration")
async def get_calibration():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
return MessageToDict(
stub.GetCalibrationStatistics(jfjoch_pb2.Empty()),
including_default_value_fields=True,
@@ -144,6 +153,7 @@ async def get_calibration():
@app.get("/data_processing/settings")
async def get_settings():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
return MessageToDict(
stub.GetDataProcessingSettings(jfjoch_pb2.Empty()),
including_default_value_fields=True,
@@ -155,6 +165,7 @@ async def get_settings():
@app.put("/data_processing/settings")
async def put_data_processing_settings(data: str = Body(...)):
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
stub.PutDataProcessingSettings(Parse(data, jfjoch_pb2.DataProcessingSettings()))
return {}
except ParseError as e:
@@ -166,6 +177,7 @@ async def put_data_processing_settings(data: str = Body(...)):
@app.get("/data_processing/plots")
async def get_settings():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
return MessageToDict(
stub.GetPlots(jfjoch_pb2.Empty()), including_default_value_fields=True
)
@@ -176,6 +188,7 @@ async def get_settings():
@app.put("/detector/measurement_statistics")
async def get_meas_stats():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
return MessageToDict(
stub.GetMeasurementStatistics(jfjoch_pb2.Empty()), including_default_value_fields=True
)
@@ -183,6 +196,29 @@ async def get_meas_stats():
raise HTTPException(status_code=400, detail=e.details())
@app.get("/detector/list")
async def get_detector_list():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
return MessageToDict(
stub.GetDetectorList(jfjoch_pb2.Empty()), including_default_value_fields=True
)
except grpc.RpcError as e:
raise HTTPException(status_code=400, detail=e.details())
@app.put("/detector/select")
async def put_detector_selection(data: str = Body(...)):
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
stub.SelectDetector(Parse(data, jfjoch_pb2.DetectorSelection()))
return {}
except ParseError as e:
return HTTPException(status_code=400, detail="Parser error: " + str(e))
except grpc.RpcError as e:
raise HTTPException(status_code=400, detail=e.details())
# https://stackoverflow.com/questions/55873174/how-do-i-return-an-image-in-fastapi
@app.get(
"/image/preview.tiff",
@@ -191,6 +227,7 @@ async def get_meas_stats():
)
async def get_preview():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
pbuf = stub.GetPreview(jfjoch_pb2.Empty())
image_array = numpy.frombuffer(pbuf.data, numpy.int16)
image_array = numpy.where(image_array < 0, -1, image_array)
@@ -220,6 +257,7 @@ def calib_to_tiff(im: jfjoch_pb2.Image) -> bytes:
)
async def get_preview_dioptas():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
pbuf = stub.GetPreview(jfjoch_pb2.Empty())
if pbuf.pixel_depth == 2:
image_array = numpy.frombuffer(pbuf.data, numpy.int16)
@@ -242,6 +280,7 @@ async def get_preview_dioptas():
)
async def get_pedestalg0():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
pbuf = stub.GetPedestalG0(jfjoch_pb2.Empty())
return Response(content=calib_to_tiff(pbuf), media_type="image/tiff")
except grpc.RpcError as e:
@@ -255,6 +294,7 @@ async def get_pedestalg0():
)
async def get_pedestalg1():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
pbuf = stub.GetPedestalG1(jfjoch_pb2.Empty())
return Response(content=calib_to_tiff(pbuf), media_type="image/tiff")
except grpc.RpcError as e:
@@ -268,6 +308,7 @@ async def get_pedestalg1():
)
async def get_pedestalg2():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
pbuf = stub.GetPedestalG2(jfjoch_pb2.Empty())
return Response(content=calib_to_tiff(pbuf), media_type="image/tiff")
except grpc.RpcError as e:
@@ -281,7 +322,9 @@ async def get_pedestalg2():
)
async def get_mask():
try:
stub = jfjoch_pb2_grpc.gRPC_JFJochBrokerStub(channel)
pbuf = stub.GetMask(jfjoch_pb2.Empty())
return Response(content=calib_to_tiff(pbuf), media_type="image/tiff")
except grpc.RpcError as e:
raise HTTPException(status_code=400, detail=e.details())
+24 -24
View File
@@ -13,7 +13,7 @@ _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\"\xa5\x04\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\x42\x08\n\x06timingB\x0c\n\n_unit_cellB\x14\n\x12_scattering_vector\"\xf6\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\x19\n\x11use_storage_cells\x18\x03 \x01(\x08\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\"\xf5\x05\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\x13\n\x0bipv4_subnet\x18\x16 \x01(\x03\x12\x15\n\rbase_udp_port\x18\x17 \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\"|\n\x14JungfraujochSettings\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x1f.JFJochProtoBuf.DatasetSettings\x12\x32\n\x08internal\x18\x02 \x01(\x0b\x32 .JFJochProtoBuf.InternalSettings\"\x1e\n\nJFPedestal\x12\x10\n\x08pedestal\x18\x01 \x01(\x0c\"-\n\x11JFGainCalibration\x12\x18\n\x10gain_calibration\x18\x01 \x01(\x0c\"\xb2\x01\n\rJFCalibration\x12\x10\n\x08nmodules\x18\x01 \x01(\x04\x12\x16\n\x0enstorage_cells\x18\x02 \x01(\x04\x12,\n\x08pedestal\x18\x03 \x03(\x0b\x32\x1a.JFJochPrLine 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\"\xa5\x04\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\x42\x08\n\x06timingB\x0c\n\n_unit_cellB\x14\n\x12_scattering_vector\"\xf6\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\x19\n\x11use_storage_cells\x18\x03 \x01(\x08\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\"\xf5\x05\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\x13\n\x0bipv4_subnet\x18\x16 \x01(\x03\x12\x15\n\rbase_udp_port\x18\x17 \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\"|\n\x14JungfraujochSettings\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x1f.JFJochProtoBuf.DatasetSettings\x12\x32\n\x08internal\x18\x02 \x01(\x0b\x32 .JFJochProtoBuf.InternalSettings\"\x1e\n\nJFPedestal\x12\x10\n\x08pedestal\x18\x01 \x01(\x0c\"-\n\x11JFGainCalibration\x12\x18\n\x10gain_calibration\x18\x01 \x01(\x0c\"\xb2\x01\n\rJFCalibration\x12\x10\n\x08nmodules\x18\x01 \x01(\x04\x12\x16\n\x0enstorage_cells\x18\x02 \x01(\x04\x12,\n\x08pedestal\x18\x03 \x03(\x0b\x32\x1a.JFJochPrLine truncated
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'jfjoch_pb2', globals())
@@ -22,16 +22,16 @@ if _descriptor._USE_C_DESCRIPTORS == False:
DESCRIPTOR._options = None
_FPGASTATUS_FIFOSTATUSENTRY._options = None
_FPGASTATUS_FIFOSTATUSENTRY._serialized_options = b'8\001'
_COMPRESSION._serialized_start=8384
_COMPRESSION._serialized_end=8468
_DETECTORTYPE._serialized_start=8470
_DETECTORTYPE._serialized_end=8509
_DETECTORMODE._serialized_start=8511
_DETECTORMODE._serialized_end=8601
_FPGAFIFOSTATUS._serialized_start=8603
_FPGAFIFOSTATUS._serialized_end=8653
_STATE._serialized_start=8655
_STATE._serialized_end=8749
_COMPRESSION._serialized_start=8445
_COMPRESSION._serialized_end=8529
_DETECTORTYPE._serialized_start=8531
_DETECTORTYPE._serialized_end=8570
_DETECTORMODE._serialized_start=8572
_DETECTORMODE._serialized_end=8662
_FPGAFIFOSTATUS._serialized_start=8664
_FPGAFIFOSTATUS._serialized_end=8714
_STATE._serialized_start=8716
_STATE._serialized_end=8810
_EMPTY._serialized_start=32
_EMPTY._serialized_end=39
_UNITCELL._serialized_start=41
@@ -113,17 +113,17 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_BROKERFULLSTATUS._serialized_start=8052
_BROKERFULLSTATUS._serialized_end=8216
_DETECTORLISTELEMENT._serialized_start=8218
_DETECTORLISTELEMENT._serialized_end=8278
_DETECTORLIST._serialized_start=8280
_DETECTORLIST._serialized_end=8349
_DETECTORSELECTION._serialized_start=8351
_DETECTORSELECTION._serialized_end=8382
_GRPC_JFJOCHRECEIVER._serialized_start=8752
_GRPC_JFJOCHRECEIVER._serialized_end=9436
_GRPC_JFJOCHWRITER._serialized_start=9439
_GRPC_JFJOCHWRITER._serialized_end=9641
_GRPC_JFJOCHDETECTOR._serialized_start=9644
_GRPC_JFJOCHDETECTOR._serialized_end=10030
_GRPC_JFJOCHBROKER._serialized_start=10033
_GRPC_JFJOCHBROKER._serialized_end=11639
_DETECTORLISTELEMENT._serialized_end=8290
_DETECTORLIST._serialized_start=8292
_DETECTORLIST._serialized_end=8410
_DETECTORSELECTION._serialized_start=8412
_DETECTORSELECTION._serialized_end=8443
_GRPC_JFJOCHRECEIVER._serialized_start=8813
_GRPC_JFJOCHRECEIVER._serialized_end=9497
_GRPC_JFJOCHWRITER._serialized_start=9500
_GRPC_JFJOCHWRITER._serialized_end=9702
_GRPC_JFJOCHDETECTOR._serialized_start=9705
_GRPC_JFJOCHDETECTOR._serialized_end=10091
_GRPC_JFJOCHBROKER._serialized_start=10094
_GRPC_JFJOCHBROKER._serialized_end=11700
# @@protoc_insertion_point(module_scope)