HORIBA C++ SDK
Library for HORIBA devices
Loading...
Searching...
No Matches
horiba::devices::ICLDeviceManager Class Referencefinal

Device Manager using the ICL to communicate with connected Horiba devices. More...

#include <icl_device_manager.h>

Inheritance diagram for horiba::devices::ICLDeviceManager:

Public Member Functions

 ICLDeviceManager (std::shared_ptr< horiba::os::Process > icl_process, std::string websocket_ip="127.0.0.1", std::string websocket_port="25010", bool manage_icl_lifetime=true, bool enable_binary_messages=false)
 Creates a device manager that uses the ICL to communicate with the devices.
 
void start () override
 Starts the ICL device manager. Also starts the icl.exe if managing its lifecycle.
 
void stop () override
 Stops the ICL device manager. Also stops the icl.exe if managing its lifecycle.
 
void discover_devices (bool error_on_no_device=false) override
 Discovers connected Horiba devices to the ICL.
 
std::vector< std::shared_ptr< horiba::devices::single_devices::Monochromator > > monochromators () const override
 The connected monochromators.
 
std::vector< std::shared_ptr< horiba::devices::single_devices::ChargeCoupledDevice > > charge_coupled_devices () const override
 The connected charge coupled devices.
 
std::vector< std::shared_ptr< horiba::devices::single_devices::SpectrAcq3 > > spectracq3_devices () const override
 The connected SpectrAcq3s.
 
- Public Member Functions inherited from horiba::devices::DeviceManager
virtual ~DeviceManager ()=default
 

Detailed Description

Device Manager using the ICL to communicate with connected Horiba devices.

Constructor & Destructor Documentation

◆ ICLDeviceManager()

horiba::devices::ICLDeviceManager::ICLDeviceManager ( std::shared_ptr< horiba::os::Process > icl_process,
std::string websocket_ip = "127.0.0.1",
std::string websocket_port = "25010",
bool manage_icl_lifetime = true,
bool enable_binary_messages = false )
explicit

Creates a device manager that uses the ICL to communicate with the devices.

Parameters
icl_processThe process representing the icl.exe
websocket_ipThe ip where the icl.exe is accepting connections
websocket_portThe port where the icl.exe is accepting connections
manage_icl_lifetimeWhether to start and stop the icl.exe
enable_binary_messagesWhether to enable or not binary messages comming from the ICL

Member Function Documentation

◆ charge_coupled_devices()

std::vector< std::shared_ptr< horiba::devices::single_devices::ChargeCoupledDevice > > horiba::devices::ICLDeviceManager::charge_coupled_devices ( ) const
nodiscardoverridevirtual

The connected charge coupled devices.

Returns
connected ccds

Implements horiba::devices::DeviceManager.

◆ discover_devices()

void horiba::devices::ICLDeviceManager::discover_devices ( bool error_on_no_device = false)
overridevirtual

Discovers connected Horiba devices to the ICL.

Parameters
error_on_no_deviceWhether to throw an exception if no devices have been found.

Implements horiba::devices::DeviceManager.

◆ monochromators()

std::vector< std::shared_ptr< horiba::devices::single_devices::Monochromator > > horiba::devices::ICLDeviceManager::monochromators ( ) const
nodiscardoverridevirtual

The connected monochromators.

Returns
connected monochromators

Implements horiba::devices::DeviceManager.

◆ spectracq3_devices()

std::vector< std::shared_ptr< horiba::devices::single_devices::SpectrAcq3 > > horiba::devices::ICLDeviceManager::spectracq3_devices ( ) const
nodiscardoverridevirtual

The connected SpectrAcq3s.

Returns
connected SpectrAcq3s

Implements horiba::devices::DeviceManager.

◆ start()

void horiba::devices::ICLDeviceManager::start ( )
overridevirtual

Starts the ICL device manager. Also starts the icl.exe if managing its lifecycle.

Implements horiba::devices::DeviceManager.

◆ stop()

void horiba::devices::ICLDeviceManager::stop ( )
overridevirtual

Stops the ICL device manager. Also stops the icl.exe if managing its lifecycle.

Implements horiba::devices::DeviceManager.


The documentation for this class was generated from the following file: