How to run multiple GUI clients on the same KCU105 server

The SURF’s RUDP connection only support 1 “physical” client/server connection. If you need more than 1 software client to access the hardware server, then you can use ZeroMQ for multiple “virtual” connections to the hardware. This means that you can run multiple devGui.py scripts at the same time (refer to How to run the Software Development GUI with KCU105 Hardware) because the PyDM GUI does NOT access the hardware directly, but uses a ZeroMQ to manage asynchronous I/O from multiple clients and manage the hardware access.

How to start the ZMQ server then launch two different ZMQ clients

  • For the first terminal:

  1. Setup rogue software (refer to Rogue Software Setup)

  2. Start the ZMQ server (basically devGui script but with --guiType None argument)

    $ cd Simple-PGPv4-KCU105-Example/software
    $ python scripts/devGui.py --guiType None &
    
  3. Start the 1st ZMQ client

    $ python -m pyrogue --server=localhost:9099 gui
    
  • For the second terminal:

  1. Start the 2nd ZMQ client

    $ cd Simple-PGPv4-KCU105-Example/software
    $ python -m pyrogue --server=localhost:9099 gui
    
    Alternative text

How to get access with another client if ZMQ server is already running

  1. Setup rogue software (refer to Rogue Software Setup)

  2. Run the ZmqClientGui python script to get access to the devGui’s script ZMQ server

    $ cd Simple-PGPv4-KCU105-Example/software
    $ python -m pyrogue --server=localhost:9099 gui
    
    Alternative text