CSCameraDriver

In short

Contacts cs-relay to control cameras.

Aliases:

  • CSCamera

Settings

Global:

  • Module_Name - String:Set this to CSCameraDriver to load this page's module.
  • Warner - String:The ID of the Warner that will be used to alert of failers.The keyword 'default' will use the systems default warner (defined in the .ChamberConfig).
  • Timeout - TimeType:How long to wait for this SensorDriver before giving up.

Advanced:

  • csRelayAddress - String: The IP address of the cs-relay server.
  • csRelayPort - Integer: The Port that the cs-relay server is using.
  • csRelayDrive - String: Path to the shared drive where cs-relay will dump images.

Getting it working

  1. Set up the hardware

    • Connect each camera to the trigger/power lines on the FPGAbox as normal.
    • Connect ethernet on each camera to a router/DHCP enabled switch. Connect that to the computer.
  2. Set up CS and CS-Relay

    • Windows

      Basically we're going to run cs (and cs-relay) in a virtualbox. You can get one of the pre-existing ones or build one yourself. You need to build cs on the box you are using. Once you've built it, you can run cs-relay.

      1. Get a debian image

        You can do one of two things:
        • If you want to make your own virtualbox:
          • Create a new Debian image. Upgrade it to sid.
          • Build CS from source on the image.
          • Clone CS-Relay on the image.
          • To get the IP address (csRelayAddress) run ip addr show in the terminal on your vmware box.
        • Clone an existing image

          Find a working image. Zip it, move it to the new computer, unzip it.

      2. Connect it to the cameras

        Make sure the virtualbox only has one network interface; a bridge to the cameras router. You may have to bridge the interfaces in windows network settings.
      3. Set up a shared drive to transfer images.

        Make a folder somewhere on windows. Set up the virtualbox to use it as a shared folder. You have to configure both CS-Relay and WILLIAM to know about the shared folder. It's in the configuration for CSCameraDriver.
      4. Configure cameras

        First, make sure the cameras are actually attached. Navigate to the cs-relay project and run ./bin/cs-1.0.0 0 0 0. It should report the correct number of cameras.

        If switching from an old hitachi system, you need to to do the following:

        • Cycle power to the cameras.
        • Turn on the GigE viewer and for each camera:
          • Set the Gain manually.
          • Set ExposureMode to Timed
      5. Launch cs-relay

        Make sure you do it as root. Read the README.md for the cs-relay project too.

        You need to make sure it's launched whenever WILLIAM is operating. It can shut down and start up again during WILLIAM operation; it will reconnect.

    • Linux

      You'll have to set up some firewalls and stuff. We haven't actually made it work on pure linux.

Template configuration

#####################
#   Basic Settings  #
#####################

# The name of the actual module to load. Examples might be HitachiCameraDriver or AVTCameraDriver.
Module_Name=CSCameraDriver

# The ID of the Warner that will be used to alert of failers.
# The keyword 'default' will use the systems default warner (defined in the .ChamberConfig).
Warner=STRING

# How long to wait for this SensorDriver before giving up.
Timeout=TIMETYPE


#####################
# Advanced Settings #
#####################

# The IP address of the cs-relay server.
csRelayAddress=STRING

# The Port that the cs-relay server is using.
csRelayPort=INTEGER

# Path to the shared drive where cs-relay will dump images.
csRelayDrive=STRING

Normal configurations

  • universal

    #####################
    #   Basic Settings  #
    #####################
    
    # The name of the actual module to load. Examples might be HitachiCameraDriver or AVTCameraDriver.
    Module_Name=CSCameraDriver
    
    # The ID of the Warner that will be used to alert of failers.
    # The keyword 'default' will use the systems default warner (defined in the .ChamberConfig).
    Warner=default
    
    # How long to wait for this SensorDriver before giving up.
    Timeout=2min
    
    
    #####################
    # Advanced Settings #
    #####################
    
    # The IP address of the cs-relay server.
    csRelayAddress=STRING
    
    # The Port that the cs-relay server is using.
    csRelayPort=10632
    
    # Path to the shared drive where cs-relay will dump images.
    csRelayDrive=STRING

Also see

These other modules are related to this one.