STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
T7Stream.hpp File Reference
#include <array>
#include <cstdint>
#include <functional>
#include <memory>
#include <optional>
#include <stdexcept>
#include <string>
#include <vector>
#include "config/T7Config.hpp"
#include "time/BoardClockSync.hpp"
Include dependency graph for T7Stream.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fsw::t7::T7Error
 A device failure. More...
class  fsw::t7::T7Device
 The device seam. More...
struct  fsw::t7::T7Device::Backlog
struct  fsw::t7::StreamPlan
 What to write before streaming and what to stream, derived from a board's config. More...
struct  fsw::t7::Sample
 One published value. More...
struct  fsw::t7::ColdJunction
 One scan's thermocouple cold-junction temperature (the T7's terminals), in °C. More...
struct  fsw::t7::Block
 A decoded LJM_eStreamRead block. More...
class  fsw::t7::T7Session
 One T7's stream: open, configure, start, then read blocks until something throws. More...
class  fsw::t7::FakeT7Unit
 The stand-in T7 itself, as distinct from a connection to it. More...
class  fsw::t7::FakeT7Device
 A connection to a stand-in T7, for tests and for running the bridge with no hardware (t7_bridge --fake). More...
struct  fsw::t7::FakeT7Device::Options

Namespaces

namespace  fsw
 Motorized ball valve position: raw ADC counts -> % open.
namespace  fsw::t7
namespace  fsw::t7::ljm_code
 LJM and device error codes the session acts on (labjack/ljm_constants, LJM errorcodes).

Functions

std::array< uint8_t, 2 > fsw::t7::table_id (uint8_t slot, uint8_t ain)
 Table id for one AIN: {0x26, (slot-1)*0x20 + ain}, the same layout as the ESP32 boards.
std::string fsw::t7::entity_name (uint8_t slot, uint8_t ain)
 Elodin entity name for one AIN, e.g.
std::array< uint8_t, 2 > fsw::t7::calibrated_table_id (uint8_t slot, uint8_t ain)
 Calibrated table for one AIN: table_id + 0x10, e.g.
std::string fsw::t7::calibrated_entity_name (uint8_t slot, uint8_t ain)
 Calibrated entity name, e.g.
bool fsw::t7::is_stream_not_running (int code)
 True for every way a stop can answer "there was no stream to stop".
StreamPlan fsw::t7::plan_stream (const config::T7Board &board)

Variables

constexpr uint8_t fsw::t7::kTypeHi = 0x26
 Elodin table-id high byte for T7 analog inputs (0x20-0x25 are the ESP32 sensor types).
constexpr double fsw::t7::kDummyValue = -9999.0
 What LJM writes into a scan lost to stream auto-recovery (LJM_DUMMY_VALUE).
constexpr uint8_t fsw::t7::kCjcAin = 14
 The T7's internal temperature sensor, streamed for thermocouple cold-junction compensation whenever a board has a TC channel.
constexpr int fsw::t7::ljm_code::kStreamNotInitialized = 1225
 LJME_STREAM_NOT_INITIALIZED (LJM, this handle).
constexpr int fsw::t7::ljm_code::kStreamNotRunning = 1303
 LJME_STREAM_NOT_RUNNING.
constexpr int fsw::t7::ljm_code::kSynchronizationTimeout = 1306
 LJME_SYNCHRONIZATION_TIMEOUT (no stream data).
constexpr int fsw::t7::ljm_code::kStreamIsActive = 2605
 device: "can not be performed while stream is running"
constexpr int fsw::t7::ljm_code::kDeviceStreamNotRunning = 2620
 device: "Stream was already disabled"