STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
LjmT7Device.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "t7/T7Stream.hpp"
4
5namespace fsw {
6namespace t7 {
7
8/** A T7 reached over Ethernet through LabJack's LJM library. One instance per device. */
9class LjmT7Device : public T7Device {
10public:
11 LjmT7Device() = default;
12 ~LjmT7Device() override;
13 LjmT7Device(const LjmT7Device&) = delete;
15
16 void open(const std::string& ip) override;
17 int64_t serial_number() override;
18 void write_names(const std::vector<std::string>& names,
19 const std::vector<double>& values) override;
20 std::vector<double> read_names(const std::vector<std::string>& names) override;
21 double stream_start(const std::vector<std::string>& scan_names, int scans_per_read,
22 double scan_rate_hz) override;
23 Backlog stream_read(std::vector<double>& data) override;
24 void stream_stop() override;
25 void close() override;
26
27private:
28 int handle_ = -1;
31};
32
33} // namespace t7
34} // namespace fsw
int64_t serial_number() override
void close() override
double stream_start(const std::vector< std::string > &scan_names, int scans_per_read, double scan_rate_hz) override
Starts the stream; returns the scan rate the device will actually run at.
LjmT7Device(const LjmT7Device &)=delete
void open(const std::string &ip) override
void write_names(const std::vector< std::string > &names, const std::vector< double > &values) override
LjmT7Device & operator=(const LjmT7Device &)=delete
void stream_stop() override
std::vector< double > read_names(const std::vector< std::string > &names) override
Command-response reads; only valid while no stream is running.
Backlog stream_read(std::vector< double > &data) override
Fills data with scans_per_read scans, channels interleaved.
The device seam.
Definition T7Stream.hpp:75
Motorized ball valve position: raw ADC counts -> % open.