Skip to main content
Edit PageStyle GuideControl Panel

DataRay LaserLink Server

Introduction

DataRay is continuously innovating to provide the most user-friendly and feature-rich software for laser beam analysis. We're proud to introduce the new DataRay LaserLink server which offers a powerful, flexible client/server interface for developers looking to integrate DataRay products with their own software. Launching the DataRay LaserLink Server on any PC connected to a DataRay profiler enables camera control and access to beam profiling results from any other PC on the network, helping make beam profiling more efficient than ever.

Beta

This version of software is a beta release. As such, the LaserLink server is currently less fully-featured than our long standing DataRayOCX interface. LaserLink supports the WinCamD-LCM, WinCamD-GCM, BladeCam2-HR, and BladeCam2-XHR. Support for the WinCamD-QD series, the WinCamD-IR-BB, power meters, and stages will be implemented in the near future. If you need any specific functionality, please do not hesitate to request it via email to [email protected]. Please report any bugs or issues you may have.

Installing

Run the installer below to install the DataRay LaserLink Server and its dependencies. This includes the necessary drivers for DataRay WinCamD-LCM, WinCamD-QD, WinCamD-IR-BB, and BladeCam2 series cameras.

System Requirements

The DataRay LaserLink requires a 64-bit version of Windows 7 or later.

Launching

The DataRay LaserLink Server can be launched from the command line. The only input argument is the desired port number. If no port number is given, it will default to 18080. The server will run in a console window. You can view the console window to verify the server is receiving your requests.

Code Examples

DataRay has created a public GitHub repository that contains examples of how to use LaserLink. Please feel free to share your own examples.

Overview

Once the DataRay LaserLink server has been launched, you can communicate with it via HTTP. The first function you should call is RefreshDeviceList() to identify any DataRay devices connected to the server. This function returns a list of tuples that contain a unique device identifier (device_uid) for each discovered device. The device_uid is a required input to the other URLs. Cameras must be connected before settings can be modified. Cameras must be started to retrieve data from them. Once started, a camera will run until stopped. The web server is multithreaded such that multiple devices can run concurrently. GetResult/GetResults will get data from the most recently available frame. Sequential calls to GetResult are not guaranteed to be the same frame if the camera is running. A common sequence of URL calls would be:

  • RefreshDeviceList
  • ConnectCamera
  • ChangeSettings
  • StartCamera
  • GetResults
  • StopCamera
  • DisconnectCamera

Most URLs will return a helpful error string.

HDF5

The DataRayDLL makes use of HDF5 files. Hierarchical Data Format (HDF) is a set of file formats (HDF4, HDF5) designed to store and organize large amounts of data. It is supported by The HDF Group, a non-profit corporation whose mission is to ensure continued development of HDF5 technologies and the continued accessibility of data stored in HDF. HDF5 libraries exist for C, C++, .NET, Python, LabVIEW MATLAB, and more. The HDF Group also offers HDFView for free which will allow you to view and edit HDF5 files.

Camera settings can be saved and loaded via HDF5 files. Additionally, you can save images to HDF5 file. This type of HDF5 file will contain all of the camera settings, beam processing results, and raw data from the image.

Support

A log file is written during every session. It can be found at %LOCALAPPDATA%\DataRay Inc\DataRayDllErrorLog.log. If you run into any issues or crashes, please send this file to [email protected] along with a description of the issues you are facing.

Can’t find what you need?

Contact our support team for assistance (Mon-Fri; 8 am to 5 pm Pacific)

Message Us

Contact Section Background