From 2698a924263aa62a40617b2cd294df9642560c41 Mon Sep 17 00:00:00 2001 From: ext-berg_r3 Date: Mon, 8 Jun 2026 18:45:24 +0200 Subject: [PATCH] Update ZMQ Message Reference --- ZMQ-Message-Reference.md | 1086 +++++++++++++++++++++++++++++++++++++- 1 file changed, 1085 insertions(+), 1 deletion(-) diff --git a/ZMQ-Message-Reference.md b/ZMQ-Message-Reference.md index 4411f26..5b88689 100644 --- a/ZMQ-Message-Reference.md +++ b/ZMQ-Message-Reference.md @@ -281,4 +281,1088 @@ Successful modification of the positioner definition will result in the publicat ## 'change user' -## 'script info' \ No newline at end of file +## 'script info' + +## 'getSettings' + +The **getSettings** message will return the contents of all .json files referenced in the settings .json file passed to PixelatorController on the command line, the contents of the referenced .json files is placed under the key **referencedJsonFiles**, example json string returned from the **getSettings** message: + +``` +{'Detector_Archive_Default': 'no', + 'Focus_Archive_Default': 'no', + 'Motor_Archive_Default': 'no', + 'NeXusBaseDirectory': '/beamlinedata/SM/operations/STXM-data/ASTXM_upgrade_tmp/tmp/pixelator_data/2026', + 'NeXusDiscardSubDirectory': 'discard', + 'NeXusLocalBaseDirectory': '/beamlinedata/SM/operations/STXM-data/ASTXM_upgrade_tmp/tmp/pixelator_data/2026', + 'NeXusScanDate': '2026-06-05', + 'NeXusScanNumber': '003', + 'OSA Focus_Archive_Default': 'yes', + 'OSA_Archive_Default': 'yes', + 'SampleImagePreifx': '.', + 'Sample_Archive_Default': 'locked', + 'axisConfigFileName': './config/axis.json', + 'beamline': 'SLS PolLux X07DA', + 'changeUserScript': 'echo', + 'compression': 'LZW', + 'controllerConfigFileName': './config/controllerNoHardware.json', + 'dataPublisherPort': '56563', + 'defaultSaveLocal': 'yes', + 'defaultUsername': 'stxm', + 'detectorConfigFileName': './config/detectorNoHardware.json', + 'endOfScanScript': './scripts/endOfScan', + 'instrumentConfigFileName': './config/instrument.json', + 'log4cppPropertiesFileName': './config/log4cpp.properties', + 'microscopeControlConfigFileName': './config/microscopeControl.json', + 'missingDataCheckInterval': '0.1', + 'missingDataCheckMaxChecks': '5', + 'pixelClockConfigFileName': './config/pixelClockNoHardware.json', + 'positionerConfigFileName': './config/positionerNoHardware.json', + 'publisherPort': '56561', + 'referencedJsonFiles': {'axisConfigFileName': {'content': {'SampleX': {'nexus_name': 'sample_x'}, + 'SampleY': {'nexus_name': 'sample_y'}, + 'SampleZ': {'nexus_name': 'sample_z'}}, + 'fileName': './config/axis.json', + 'resolvedFileName': './config/axis.json'}, + 'controllerConfigFileName': {'content': {'NewPort1': {'active': 0, + 'serverAddress': '129.129.113.94', + 'serverPort': 5001, + 'type': 'NewPort'}, + 'NexLine1': {'active': 0, + 'serverAddress': '129.129.113.111', + 'serverPort': 50000, + 'type': 'NexLine'}, + 'Orchestra1': {'active': 0, + 'type': 'Orchestra'}, + 'SmarAct1': {'active': 0, + 'baudRate': 115200, + 'deviceName': '/dev/ttyS0', + 'type': 'SmarAct'}}, + 'fileName': './config/controllerNoHardware.json', + 'resolvedFileName': './config/controllerNoHardware.json'}, + 'detectorConfigFileName': {'content': {'Analog0': {'active': 1, + 'nexus_name': 'analog0', + 'type': 'Base'}, + 'Counter0': {'active': 1, + 'asynchronous': 1, + 'hardwareUnitFactor': 0.001, + 'hardwareUnitOffset': 20, + 'nexus_name': 'counter0', + 'type': 'Base', + 'unit': 'kP'}, + 'Counter1': {'active': 1, + 'detailedDataDimensions': [100], + 'nexus_name': 'counter1', + 'type': 'Base'}, + 'PHC': {'active': 0, + 'autoRecord': 0, + 'channel': 'X07DA-PHCAPD:PIXEL-C', + 'channeldetails': 'X07DA-PHCAPD:PHC-CTRWF', + 'detailedDataDimensions': [212], + 'details': 1, + 'nexus_name': 'phc', + 'setTimeChannel': 'X07DA-PHCAPD:SAMPLE-TIME', + 'type': 'Epics'}, + 'SampleX': {'active': 1, + 'autoRecord': 1, + 'monitor': 1, + 'nexus_name': 'sample_x', + 'type': 'Base'}, + 'SampleY': {'active': 1, + 'autoRecord': 1, + 'nexus_name': 'sample_y', + 'type': 'Base'}, + 'Time': {'active': 1, + 'autoRecord': 1, + 'nexus_name': 'time', + 'subType': 'time', + 'type': 'Base'}}, + 'fileName': './config/detectorNoHardware.json', + 'resolvedFileName': './config/detectorNoHardware.json'}, + 'instrumentConfigFileName': {'content': {'aperture_1': {'class': 'NXaperture', + 'shape': {'class': 'NXshape', + 'shape': 'nxbox', + 'size': [0.0, + {'factor': 0.0001, + 'positioner': 'EntranceSlit'}, + 0.03]}, + 'translation': {'class': 'NXtranslation', + 'distances': [0.0, + 0.0, + -11.0]}}, + 'aperture_2': {'class': 'NXaperture', + 'shape': {'class': 'NXshape', + 'shape': 'nxbox', + 'size': [0.0, + {'factor': 0.0001, + 'positioner': 'ExitSlit_H'}, + {'factor': 0.0001, + 'positioner': 'ExitSlit_V'}]}, + 'translation': {'class': 'NXtranslation', + 'distances': [0.0, + 0.0, + -1]}}, + 'bendmagnet': {'accepted_photon_beam_divergence': 'unknown', + 'bending_radius': {'unit': 'deg', + 'value': 1.2345}, + 'critical_energy': 1.2345, + 'divergence_x_minus': -0.00025, + 'divergence_x_plus': 0.00025, + 'divergence_y_minus': {'offset': -0.00025, + 'positioner': 'Ring_yAsym'}, + 'divergence_y_plus': {'offset': 0.00025, + 'positioner': 'Ring_yAsym'}, + 'geometry': {'class': 'NXgeometry', + 'translation': {'class': 'NXtranslation', + 'distances': {'unit': 'μm', + 'value': [0.0, + 0.0, + -35.0]}}}, + 'magnetic_field': 1.4}, + 'hos_mirror_1': {'class': 'NXmirror', + 'coating_material': 'MgF2', + 'condition': {'==': ['IN', + {'epicsChannel': 'EPICS ' + 'X07DA-OP-HOS:STATE'}]}, + 'description': 'First ' + 'mirror ' + 'in ' + 'higher ' + 'order ' + 'suppression ' + 'system.', + 'geometry': {'class': 'NXgeometry', + 'orientation': {'class': 'NXorientation', + 'value': [0.0, + 0.0, + 0.0]}, + 'translation': {'class': 'NXtranslation', + 'distances': [0.0, + 0.0, + -5.0]}}, + 'incident_angle': {'positioner': 'HOS_Angle1'}, + 'interior_atmosphere': 'vacuum', + 'layer_thickness': 3e-08, + 'substrate_material': 'SiO2', + 'substrate_roughness': 1e-09, + 'substrate_thickness': 0.03995}, + 'mirror': {'class': 'NXmirror', + 'coating_material': 'pt', + 'coating_roughness': 4.9e-10, + 'geometry': {'class': 'NXgeometry', + 'translation': {'class': 'NXtranslation', + 'distances': [0.0, + 0.0, + -23.0]}}, + 'incident_angle': {'unit': 'deg', + 'value': 2.5}, + 'interior_atmosphere': 'vacuum', + 'layer_thickness': 3e-08, + 'shape': {'class': 'NXshape', + 'direction': 'concave', + 'shape': 'nxtoroidal', + 'size': [275.05, + 0.68]}, + 'substrate_material': 'Si', + 'type': 'single'}, + 'source': {'current': {'positioner': 'Ring_Current'}, + 'name': 'Swiss ' + 'Light ' + 'Source', + 'probe': 'x-ray', + 'type': 'Synchrotron ' + 'X-ray ' + 'Source'}}, + 'fileName': './config/instrument.json', + 'resolvedFileName': './config/instrument.json'}, + 'microscopeControlConfigFileName': {'content': {'InOut': {'OSA': [{'positionIn': 0.0, + 'positionOut': -3000.0, + 'positioner': 'OSAX'}, + {'positionIn': 0.0, + 'positionOut': 3000.0, + 'positioner': 'OSAY'}], + 'Sample': [{'positionIn': 5000.0, + 'positionOut': 10000.0, + 'positioner': 'CoarseZ'}], + 'ZonePlate': [{'positionIn': -5000, + 'positionOut': -18000.0, + 'positioner': 'Zoneplate'}]}}, + 'fileName': './config/microscopeControl.json', + 'resolvedFileName': './config/microscopeControl.json'}, + 'pixelClockConfigFileName': {'content': {'PixelClock': {'active': 1, + 'noHardware': True}}, + 'fileName': './config/pixelClockNoHardware.json', + 'resolvedFileName': './config/pixelClockNoHardware.json'}, + 'positionerConfigFileName': {'content': {'Auxilliary0': {'active': 0, + 'description': 'Auxiliary ' + 'positioner ' + '0', + 'nexus_name': 'auxilliary0', + 'readOnly': True, + 'type': 'Base'}, + 'Auxilliary1': {'active': 0, + 'description': 'Auxiliary ' + 'positioner ' + '1', + 'nexus_name': 'auxilliary1', + 'readOnly': True, + 'type': 'Base'}, + 'Auxilliary2': {'active': 0, + 'description': 'Auxiliary ' + 'positioner ' + '2', + 'nexus_name': 'auxilliary2', + 'readOnly': True, + 'type': 'Base'}, + 'Baffle': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'baffle ' + '(protecting ' + 'the ' + 'side ' + 'of ' + 'first ' + 'mirror)', + 'nexus_name': 'baffle', + 'readOnly': True, + 'type': 'Base'}, + 'BeamShutter': {'active': 1, + 'lowerSoftLimit': 0, + 'nexus_name': 'beam_shutter', + 'type': 'Base', + 'upperSoftLimit': 1}, + 'CoarseX': {'active': 1, + 'axisName': 'SampleX', + 'description': 'Coarse ' + 'translation ' + 'of ' + 'the ' + 'sample ' + 'along ' + 'the ' + 'X-axis', + 'distributionMode': 'n', + 'finePositioner': 'FineX', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -11000, + 'maxVelocity': 300, + 'nexus_name': 'coarse_x', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 11000}, + 'CoarseY': {'active': 1, + 'axisName': 'SampleY', + 'description': 'Coarse ' + 'translation ' + 'of ' + 'the ' + 'sample ' + 'along ' + 'the ' + 'Y-axis', + 'distributionMode': 'n', + 'finePositioner': 'FineY', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -11000, + 'maxVelocity': 300, + 'nexus_name': 'coarse_y', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 11000}, + 'CoarseZ': {'active': 0, + 'axisName': 'SampleZ', + 'description': 'Coarse ' + 'translation ' + 'of ' + 'the ' + 'sample ' + 'along ' + 'the ' + 'Z-axis', + 'distributionMode': 'n', + 'finePositioner': 'FineZ', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': 0, + 'maxVelocity': 300, + 'nexus_name': 'coarse_z', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 11000}, + 'DetectorX': {'active': 1, + 'description': 'Translation ' + 'of ' + 'the ' + 'detector ' + 'stage ' + 'along ' + 'the ' + 'X-axis', + 'distributionMode': 'n', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -11000, + 'nexus_name': 'detector_x', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 11000}, + 'DetectorY': {'active': 1, + 'description': 'Translation ' + 'of ' + 'the ' + 'detector ' + 'stage ' + 'along ' + 'the ' + 'Y-axis', + 'distributionMode': 'n', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -11000, + 'maxVelocity': 300, + 'nexus_name': 'detector_y', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 11000}, + 'DetectorZ': {'active': 1, + 'description': 'Translation ' + 'of ' + 'the ' + 'detector ' + 'stage ' + 'along ' + 'the ' + 'Z-axis', + 'distributionMode': 'n', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -11000, + 'maxVelocity': 300, + 'nexus_name': 'detector_z', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 11000}, + 'Energy': {'active': 1, + 'beamlineControlPosition': 1, + 'description': 'Photon ' + 'energy ' + 'currently ' + 'transmitted ' + 'by ' + 'the ' + 'monochromator', + 'distributionMode': 'nPlus1', + 'hardwareUnitFactor': 1, + 'lowerSoftLimit': 10, + 'nexus_name': 'energy', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'eV', + 'upperSoftLimit': 1000}, + 'EntranceSlit': {'active': 0, + 'beamlineControlPosition': 2, + 'description': 'Width ' + 'of ' + 'the ' + 'entrance ' + 'slit ' + 'aperture', + 'distributionMode': 'nPlus1', + 'hardwareUnitFactor': 1, + 'lowerSoftLimit': -10, + 'nexus_name': 'entrance_slit', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'mm', + 'upperSoftLimit': 10}, + 'ExitSlit_H': {'active': 0, + 'beamlineControlPosition': 3, + 'description': 'Width ' + 'of ' + 'the ' + 'exit ' + 'slit ' + 'aperture', + 'distributionMode': 'nPlus1', + 'hardwareUnitFactor': 1, + 'lowerSoftLimit': -10, + 'nexus_name': 'exit_slit_h', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'mm', + 'upperSoftLimit': 10}, + 'ExitSlit_V': {'active': 0, + 'beamlineControlPosition': 4, + 'description': 'Height ' + 'of ' + 'the ' + 'exit ' + 'slit ' + 'aperture', + 'distributionMode': 'nPlus1', + 'hardwareUnitFactor': 1, + 'lowerSoftLimit': -10, + 'nexus_name': 'exit_slit_v', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'mm', + 'upperSoftLimit': 10}, + 'FineX': {'active': 1, + 'axisName': 'SampleX', + 'coarsePositioner': 'CoarseX', + 'description': 'Fine ' + 'translation ' + 'of ' + 'the ' + 'sample ' + 'along ' + 'the ' + 'X-axis', + 'distributionMode': 'n', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -5, + 'maxVelocity': 300, + 'nexus_name': 'fine_x', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 5}, + 'FineY': {'active': 1, + 'axisName': 'SampleY', + 'coarsePositioner': 'CoarseY', + 'description': 'Fine ' + 'translation ' + 'of ' + 'the ' + 'sample ' + 'along ' + 'the ' + 'Y-axis', + 'distributionMode': 'n', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -5, + 'maxVelocity': 300, + 'nexus_name': 'fine_y', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 5}, + 'FineZ': {'active': 0, + 'axisName': 'SampleZ', + 'coarsePositioner': 'CoarseZ', + 'description': 'Fine ' + 'translation ' + 'of ' + 'the ' + 'sample ' + 'along ' + 'the ' + 'Z-axis', + 'distributionMode': 'n', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -5, + 'maxVelocity': 300, + 'nexus_name': 'fine_z', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 5}, + 'FrontEndSlit_H1': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'front ' + 'end ' + 'slits ' + 'ring-side ' + 'blade', + 'nexus_name': 'front_end_slit_h1', + 'readOnly': True, + 'type': 'Base'}, + 'FrontEndSlit_H2': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'front ' + 'end ' + 'slits ' + 'wall-side ' + 'blade', + 'nexus_name': 'front_end_slit_h2', + 'readOnly': True, + 'type': 'Base'}, + 'FrontEndSlit_V1': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'front ' + 'end ' + 'slits ' + 'upper ' + 'blade', + 'nexus_name': 'front_end_slit_v1', + 'readOnly': True, + 'type': 'Base'}, + 'FrontEndSlit_V2': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'front ' + 'end ' + 'slits ' + 'lower ' + 'blade', + 'nexus_name': 'front_end_slit_v2', + 'readOnly': True, + 'type': 'Base'}, + 'Girder_Rx': {'active': 0, + 'description': 'Rotation ' + 'of ' + 'the ' + 'girder-mover ' + 'about ' + 'the ' + 'X-axis', + 'nexus_name': 'girder_rx', + 'readOnly': True, + 'type': 'Base'}, + 'Girder_Ry': {'active': 0, + 'description': 'Rotation ' + 'of ' + 'the ' + 'girder-mover ' + 'about ' + 'the ' + 'Y-axis', + 'nexus_name': 'girder_ry', + 'readOnly': True, + 'type': 'Base'}, + 'Girder_Rz': {'active': 0, + 'description': 'Rotation ' + 'of ' + 'the ' + 'girder-mover ' + 'about ' + 'the ' + 'Z-axis', + 'nexus_name': 'girder_rz', + 'readOnly': True, + 'type': 'Base'}, + 'Girder_x': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'girder-mover ' + 'along ' + 'the ' + 'X-axis', + 'nexus_name': 'girder_x', + 'readOnly': True, + 'type': 'Base'}, + 'Girder_y': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'girder-mover ' + 'along ' + 'the ' + 'Y-axis', + 'nexus_name': 'girder_y', + 'readOnly': True, + 'type': 'Base'}, + 'Girder_z': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'girder-mover ' + 'along ' + 'the ' + 'Z-axis', + 'nexus_name': 'girder_z', + 'readOnly': True, + 'type': 'Base'}, + 'Grating_Ry': {'active': 0, + 'description': 'Rotation ' + 'of ' + 'the ' + 'monochromator ' + 'grating ' + 'about ' + 'the ' + 'Y-axis', + 'nexus_name': 'grating_ry', + 'readOnly': True, + 'type': 'Base'}, + 'Grating_y': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'monochromator ' + 'grating ' + 'carriage ' + 'along ' + 'the ' + 'Y-axis', + 'nexus_name': 'grating_y', + 'readOnly': True, + 'type': 'Base'}, + 'HOS_Rz1': {'active': 0, + 'description': 'Rotation ' + 'of ' + 'the ' + 'first ' + 'higher ' + 'order ' + 'suppressor ' + 'mirror ' + 'about ' + 'the ' + 'X-axis ' + '(-Z ' + 'translation ' + 'in ' + 'EPICS)', + 'nexus_name': 'hos_rz1', + 'readOnly': True, + 'type': 'Base'}, + 'HOS_Rz2': {'active': 0, + 'description': 'Rotation ' + 'of ' + 'the ' + 'last ' + 'higher ' + 'order ' + 'suppressor ' + 'mirror ' + 'about ' + 'the ' + 'X-axis ' + '(+Z ' + 'translation ' + 'in ' + 'EPICS)', + 'nexus_name': 'hos_rz2', + 'readOnly': True, + 'type': 'Base'}, + 'HOS_z': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'higher ' + 'order ' + 'suppressor ' + 'along ' + 'the ' + 'X-axis ' + '(-Z ' + 'in ' + 'EPICS)', + 'nexus_name': 'hos_z', + 'readOnly': True, + 'type': 'Base'}, + 'ID1Off': {'active': 1, + 'beamlineControlPosition': 2, + 'description': 'ID ' + '1 ' + 'Energy ' + 'Offset', + 'distributionMode': 'nPlus1', + 'hardwareUnitFactor': 1, + 'lowerSoftLimit': -100, + 'nexus_name': 'id1_off', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'eV', + 'upperSoftLimit': 100.0}, + 'ID2Off': {'active': 1, + 'beamlineControlPosition': 3, + 'description': 'ID ' + '2 ' + 'Energy ' + 'Offset', + 'distributionMode': 'nPlus1', + 'hardwareUnitFactor': 1, + 'lowerSoftLimit': -100, + 'nexus_name': 'id2_off', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'eV', + 'upperSoftLimit': 100.0}, + 'Mirror1_Rx': {'active': 0, + 'description': 'Rotation ' + 'of ' + 'the ' + 'first ' + 'mirror ' + 'about ' + 'the ' + 'Z-axis ' + '(+X ' + 'in ' + 'EPICS)', + 'nexus_name': 'mirror1_rx', + 'readOnly': True, + 'type': 'Base'}, + 'Mirror1_Ry': {'active': 0, + 'description': 'Rotation ' + 'of ' + 'the ' + 'first ' + 'mirror ' + 'about ' + 'the ' + 'Y-axis', + 'nexus_name': 'mirror1_ry', + 'readOnly': True, + 'type': 'Base'}, + 'Mirror1_Rz': {'active': 0, + 'description': 'Rotation ' + 'of ' + 'the ' + 'first ' + 'mirror ' + 'about ' + 'the ' + 'X-axis ' + '(-Z ' + 'in ' + 'EPICS)', + 'nexus_name': 'mirror1_rz', + 'readOnly': True, + 'type': 'Base'}, + 'Mirror1_x': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'first ' + 'mirror ' + 'along ' + 'the ' + 'Z-axis ' + '(+X ' + 'in ' + 'EPICS)', + 'nexus_name': 'mirror1_x', + 'readOnly': True, + 'type': 'Base'}, + 'Mirror1_y': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'first ' + 'mirror ' + 'along ' + 'the ' + 'Y-axis', + 'nexus_name': 'mirror1_y', + 'readOnly': True, + 'type': 'Base'}, + 'Mirror1_z': {'active': 0, + 'description': 'Translation ' + 'of ' + 'the ' + 'first ' + 'mirror ' + 'along ' + 'the ' + 'X-axis ' + '(-Z ' + 'in ' + 'EPICS)', + 'nexus_name': 'mirror1_z', + 'readOnly': True, + 'type': 'Base'}, + 'MoenchNumFrames': {'active': 1, + 'beamlineControlPosition': 4, + 'description': 'Number ' + 'of ' + 'Frames', + 'lowerSoftLimit': 0, + 'nexus_name': 'moench_num_frames', + 'type': 'Base', + 'upperSoftLimit': 100000}, + 'OSAX': {'active': 1, + 'description': 'Translation ' + 'of ' + 'the ' + 'order ' + 'selecting ' + 'aperture ' + 'along ' + 'the ' + 'X-axis', + 'distributionMode': 'n', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -11000, + 'maxVelocity': 300, + 'nexus_name': 'osa_x', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 11000}, + 'OSAY': {'active': 1, + 'description': 'Translation ' + 'of ' + 'the ' + 'order ' + 'selecting ' + 'aperture ' + 'along ' + 'the ' + 'Y-axis', + 'distributionMode': 'n', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -11000, + 'maxVelocity': 300, + 'nexus_name': 'osa_y', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 11000}, + 'Polarization': {'active': 1, + 'description': 'Polarization', + 'hardwareUnitFactor': 1, + 'lowerSoftLimit': -0.2, + 'nexus_name': 'polarization', + 'positionOffset': 0, + 'type': 'Base', + 'upperSoftLimit': 0.2}, + 'Ring_Current': {'active': 1, + 'description': 'Storage ' + 'ring ' + 'electron ' + 'beam ' + 'current', + 'nexus_name': 'ring_current', + 'readOnly': True, + 'type': 'Base'}, + 'Ring_Injection': {'active': 0, + 'description': 'Storage ' + 'ring ' + 'injection ' + 'mode', + 'nexus_name': 'ring_injection', + 'readOnly': True, + 'type': 'Base'}, + 'Ring_OFBMode': {'active': 0, + 'description': 'Storage ' + 'ring ' + 'electron ' + 'beam ' + 'orbit ' + 'feedback ' + 'mode', + 'nexus_name': 'ring_ofb_mode', + 'readOnly': True, + 'type': 'Base'}, + 'Ring_xMin': {'active': 0, + 'description': 'Width ' + 'of ' + 'the ' + 'storage ' + 'ring ' + 'electron ' + 'beam', + 'nexus_name': 'ring_x_min', + 'readOnly': True, + 'type': 'Base'}, + 'Ring_xRMS': {'active': 0, + 'description': 'Storage ' + 'ring ' + 'electron ' + 'beam ' + 'orbit ' + 'variation ' + 'in ' + 'X-position', + 'nexus_name': 'ring_x_rms', + 'readOnly': True, + 'type': 'Base'}, + 'Ring_yAsym': {'active': 1, + 'description': 'Vertical ' + 'offset ' + 'applied ' + 'to ' + 'the ' + 'orbit ' + 'of ' + 'the ' + 'storage ' + 'ring ' + 'electron ' + 'beam', + 'nexus_name': 'ring_y_asym', + 'readOnly': True, + 'type': 'Base'}, + 'Ring_yMin': {'active': 0, + 'description': 'Height ' + 'of ' + 'the ' + 'storage ' + 'ring ' + 'electron ' + 'beam', + 'nexus_name': 'ring_y_min', + 'readOnly': True, + 'type': 'Base'}, + 'Ring_yRMS': {'active': 0, + 'description': 'Storage ' + 'ring ' + 'electron ' + 'beam ' + 'orbit ' + 'variation ' + 'in ' + 'Y-position', + 'nexus_name': 'ring_y_rms', + 'readOnly': True, + 'type': 'Base'}, + 'Zoneplate': {'active': 1, + 'description': 'Translation ' + 'of ' + 'the ' + 'zoneplate ' + 'along ' + 'the ' + 'Z-axis', + 'distributionMode': 'n', + 'hardwareUnitFactor': 1000, + 'lowerSoftLimit': -11000, + 'maxVelocity': 300, + 'nexus_name': 'zone_plate', + 'positionOffset': 0, + 'type': 'Base', + 'unit': 'μm', + 'upperSoftLimit': 0}}, + 'fileName': './config/positionerNoHardware.json', + 'resolvedFileName': './config/positionerNoHardware.json'}, + 'sampleConfigFileName': {'content': {'rotation_angle': {'positioner': 'Auxilliary2'}, + 'start_position': [{'positioner': 'FineX'}, + {'positioner': 'FineY'}, + {'positioner': 'FineZ'}]}, + 'fileName': './config/sample.json', + 'resolvedFileName': './config/sample.json'}, + 'topupConfigFileName': {'content': {'active': 0}, + 'fileName': './config/topupNoHardware.json', + 'resolvedFileName': './config/topupNoHardware.json'}, + 'zonePlateConfigFileName': {'content': {'OSAs': [{'diameter': {'unit': 'μm', + 'value': 50.0}, + 'name': 'OSA ' + '50'}, + {'diameter': {'unit': 'μm', + 'value': 60.0}, + 'name': 'OSA ' + '60'}, + {'diameter': {'unit': 'μm', + 'value': 70.0}, + 'name': 'OSA ' + '70'}], + 'activeOSA': 'OSA ' + '50', + 'activeZonePlate': 'ZonePlate ' + 'B', + 'autoFocusDeadBand': 0.5, + 'dOsa': 298.0, + 'distance_exitSlit_OSA': 1005000, + 'zonePlates': [{'NXgeometry': '"Engineering" ' + 'position ' + 'of ' + 'the ' + 'fresnel ' + 'zone ' + 'plate', + 'b': [0, + 6.875], + 'central_stop_diameter': {'unit': 'μm', + 'value': 75}, + 'central_stop_material': 'Pb', + 'central_stop_thickness': 500, + 'fabrication': 'etched', + 'geometry': {'class': 'NXgeometry', + 'translation': {'class': 'NXtranslation', + 'distances': [0.0, + 0.0, + -35.0]}}, + 'mask_material': 'mask', + 'mask_thickness': 400, + 'name': 'ZonePlate ' + 'B', + 'outer_diameter': 240, + 'outermost_zone_width': 35, + 'support_membrane_material': 'membrane', + 'support_membrane_thickness': 300, + 'zone_height': 200, + 'zone_material': 'Pt', + 'zone_support_material': 'air ' + ';)'}, + {'NXgeometry': '"Engineering" ' + 'position ' + 'of ' + 'the ' + 'fresnel ' + 'zone ' + 'plate', + 'b': [0, + 1.795], + 'central_stop_diameter': 75, + 'central_stop_material': 'Pb', + 'central_stop_thickness': 500, + 'fabrication': 'etched', + 'geometry': {'class': 'NXgeometry', + 'translation': {'class': 'NXtranslation', + 'distances': [0.0, + 0.0, + -35.0]}}, + 'mask_material': 'mask', + 'mask_thickness': 400, + 'name': 'ZonePlate ' + 'A', + 'outer_diameter': 150, + 'outermost_zone_width': 15, + 'support_membrane_material': 'membrane', + 'support_membrane_thickness': 300, + 'zone_height': 200, + 'zone_material': 'Pt', + 'zone_support_material': 'air ' + ';)'}, + {'NXgeometry': '"Engineering" ' + 'position ' + 'of ' + 'the ' + 'fresnel ' + 'zone ' + 'plate', + 'b': [0, + 4.821], + 'central_stop_diameter': 75, + 'central_stop_material': 'Au', + 'central_stop_thickness': 500, + 'fabrication': 'etched', + 'geometry': {'class': 'NXgeometry', + 'translation': {'class': 'NXtranslation', + 'distances': [0.0, + 0.0, + -35.0]}}, + 'mask_material': 'mask', + 'mask_thickness': 400, + 'name': 'ZonePlate ' + 'C', + 'outer_diameter': 240, + 'outermost_zone_width': 25, + 'support_membrane_material': 'membrane', + 'support_membrane_thickness': 300, + 'zone_height': 200, + 'zone_material': 'Au', + 'zone_support_material': 'air ' + ';)'}]}, + 'fileName': './config/zonePlate.json', + 'resolvedFileName': './config/zonePlate.json'}}, + 'requestPort': '56562', + 'sampleConfigFileName': './config/sample.json', + 'topupConfigFileName': './config/topupNoHardware.json', + 'zonePlateConfigFileName': './config/zonePlate.json'} +``` +