36 std::string websocket_ip =
"127.0.0.1",
37 std::string websocket_port =
"25010",
38 bool manage_icl_lifetime =
true,
39 bool enable_binary_messages =
false);
66 [[nodiscard]] std::vector<
67 std::shared_ptr<horiba::devices::single_devices::Monochromator>>
75 [[nodiscard]] std::vector<
76 std::shared_ptr<horiba::devices::single_devices::ChargeCoupledDevice>>
84 [[nodiscard]] std::vector<
85 std::shared_ptr<horiba::devices::single_devices::SpectrAcq3>>
89 std::shared_ptr<horiba::os::Process> icl_process;
90 std::string websocket_ip;
91 std::string websocket_port;
92 bool manage_icl_lifetime;
93 bool enable_binary_messages;
94 std::shared_ptr<horiba::communication::Communicator> communicator;
95 std::vector<std::shared_ptr<horiba::devices::single_devices::Monochromator>>
98 std::shared_ptr<horiba::devices::single_devices::ChargeCoupledDevice>>
100 std::vector<std::shared_ptr<horiba::devices::single_devices::SpectrAcq3>>
103 void enable_binary_messages_on_icl();
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.