20
ZMQ Message Reference
watts edited this page 2026-07-16 14:23:24 +02:00

This page lists the JSON strings that can be sent to the ZMQ REQ/REP port in order to request actions by Pixelator. The ZMQ messages must be sent in the format:

[HEADER, DATA1 (, DATA2)]

where the data can either be an empty string, or a JSON list or structure, e.g.:

["string1","string2","string3"] or {"key1":"value1","key2":"value2","key3":"value3"}

Request messages are typically responded to by a simple ["status", "ok"] response on the REQ/REP port and the publication of further data on the PUB/SUB port.

'initialize'

No data required or used. Lots of data is returned and published with the intended use being to populate a GUI.

Reply Messages:

  • ["status","ok"]
  • Positioner definitions
  • Detector definitions
  • Oscilloscope options
  • Zone Plate definitions
  • File IO config options

Published Messages:

  • Positioner status
  • Focus status
  • Scan status
  • Beam shutter status
  • Topup status
  • User status
  • Recorded channels
  • Focus type
  • Scan type archive attribute
  • Beam shutter mode
  • Topup mode

'recordedChannels'

Data is a list of strings that correspond to the names of the detectors to be enabled. For example:

    msg = ['recordedChannels',   '["Counter0", "Counter1"]' ]

Reply Messages:

  • ["status","ok"]

'detectorSettings'

Data is a string that corresponds to the name of a detector. For example:

    msg = ['detectorSettings',   'Counter0' ]

Reply Messages:

  • ["status","ok"]
  • message from specific detector module with a JSON array, but there doesn't seem to be an implementation yet.

'updateDetectorSettings'

Data is a string that corresponds to the name of a detector. Data2 is a JSON array with property, value pairs. For example:

    msg = ['updateDetectorSettings',   'Counter0', JSON_string ]

Reply Messages:

  • ["status","ok"]

'estimatedTime'

Data is a JSON scan request (see 'scanRequest' below). For example:

    msg = ['estimatedTime',   Scan_Request ]

Reply Messages:

  • ["status","ok"]
  • ['estimatedTime', Time_String ]

A Time_String will have a format like "00h 00m 01s", or "555h 59m 59s".

'scanRequest'

Data is a JSON scan request. For example:

    msg = ['estimatedTime',   "{
      'scanType': 'Sample',
      'spatialType': 'Image',
      'meander': 1, 
      'tiling': 1, 
      'yAxisFast': 0, 
      'lineMode': 'Constant Velocity', 
      'accelerationDistance': 0.5, 
      'tileDelay': 0.05, 'lineDelay': 0.05, 
      'outerRegions': [{'dwellTime': 0.005, 
                                     'axes': [{'nPoints': 2, 
                                     'trajectories': [{'start': 900.0, 
                                                                'end': 320.0, 
                                                                'range': -580.0, 
                                                                'step': -580.0, 
                                                                'positionerName': 'Energy'
                                                              }]
                                                 }]
                                  }], 
      'innerRegions': [{'axes': [{'nPoints': 1200, 
                                                   'trajectories': [{'center': 4282.670215322501, 
                                                                              'range': 12.0, 
                                                                              'step': 0.01, 
                                                                              'positionerName': 'FineY'
                                                                            }]
                                                  },
                                                  {'nPoints': 140, 
                                                  'trajectories': [{'center': 37.8280758446287, 
                                                                             'range': 28.0, 
                                                                             'step': 0.2, 
                                                                             'positionerName': 'FineX'
                                                                           }]
                                                  }]
                                   },
                                   {'axes': [{'nPoints': 10, 
                                                   'trajectories': [{'center': 5571.33258869908, 
                                                                              'range': 1.0, 
                                                                              'step': 0.1, 
                                                                              'positionerName': 'FineY'
                                                                           }]
                                                  },
                                                  {'nPoints': 10, 
                                                  'trajectories': [{'center': -5400.94023907363, 
                                                                             'range': 1.0, 
                                                                             'step': 0.1, 
                                                                             'positionerName': 'FineX'
                                                                           }]
                                                  }]
                                  }],
                                  'nOuterRegions': 1, 
                                  'nInnerRegions': 1, 
                                  'singleOuterRegionValue': 1, 
                                  'displayedAxes': {'x': {'region': 'inner', 
                                                                        'index': 1
                                                                       }, 
                                                                 'y': {'region': 'inner', 
                                                                        'index': 0
                                                                        }
                                                                 },
                                  'positionPrecision': {'precision': 200.0}, 
                                  'defocus': {'diameter': 0.0}
      }"
]

Reply Messages:

  • ["status","ok"]

'abortScan'

Message only needs the header, no data required. For example:

    msg = ['abortScan' ]

Reply Messages:

  • ["status","ok"]

'pauseScan'

Message only needs the header, no data required. For example:

    msg = ['pauseScan' ]

Reply Messages:

  • ["status","ok"]

'resumeScan'

Message only needs the header, no data required. For example:

    msg = ['resumeScan' ]

Reply Messages:

  • ["status","ok"]

'scanStatus'

Message only needs the header, no data required. For example:

    msg = ['scanStatus' ]

I don't think this is actually used anymore, or is useful, since Pixelator regularly publishes scanStatus messages.

Reply Messages:

  • ["status","ok"]
  • ["scanStatus", '{"current":{"innerRegion":1, "line":3, "lineRepetition":1, "outerRegion":1, "point":582, "polarization":1, "remainingTime":"25h 11m 10s", "time":"00h 01m 01s" }, "scanType":"Sample Scan", "status":"running", "total":{"innerRegion":1, "line":5001,"lineRepetition":1, "outerRegion":1, "point":1000, "polarization":1, "time":"25h 08m 40s" } }' ]

'moveRequest'

'moveStatus'

'homeRequest'

'positionerStatus'

'modified positioner definition'

  • "name": (required) Positioner name. Must exist as a defined positioner.

    Further optional keys correspond to the positioner base settings.

  • "positionOffset"

  • "upperSoftLimit"

  • "lowerSoftLimit"

  • "autoOff"

Example message contents for modifying the CoarseX positioner:

    msg = ['modified positioner definition',
    '{
	"autoOffMode":"Always",
	"lowerSoftLimit":120.0,
	"positionOffset":3.456,
	"upperSoftLimit":1221.0,
	}']

Successful modification of the positioner definition will result in the publication of the new positioner definition in full.

'modified zonePlate definition'

'zonePlateFocus'

'oscilloscopeDefinition'

'focusType'

'scanTypeArchive'

'localFileScanTypeArchive'

'allMotorsOff'

'resetInterferometer'

'OSA_IN'

'OSA_OUT'

'ZonePlate IN'

'ZonePlate OUT'

'Sample OUT'

'topupMode'

'beamShutterMode'

'loadFile directory'

'loadFile file'

'loadDefinition'

'change user'

'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:

Example return 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'}