lsst.ts.ess.labjack#
Overview#
This package provides LabJackDataClient, data client for the ESS CSC that reads environmental data from a LabJack T4 or T7 module and reports it as one one or more ESS telemetry topics.
LabJackDataClient can only write array-based ESS telemetry topics, such as temperature and pressure.
This data client lives in its own package because it requires a LabJack-specific library.
In order to run an ESS CSC that uses LabJackDataClient, all you have to do is install this package.
User Guide#
To make LabJackDataClient available to the ESS CSC you must install this package and the LabJack software.
Download the appropriate labjack-ljm installer from https://labjack.com/support/software/installers/ljm
Install according to these directions: https://labjack.com/support/software/installers/ljm/ljm-installation-instructions
Install the Python wrapper using
pip install labjack-ljm.
Configuration#
LabJackDataClient has its own configuration schema provided by the LabJackDataClient.get_config_schema class method (source).
This configuration specifies which LabJack to talk to, which inputs to read, and how to map those inputs to ESS telemetry topics.
Developer Guide#
LabJackDataClient uses LabJack’s own labjack-ljm software to communicate with a LabJack T4 or T7.
If this proves to be a problem, it is possible to use modbus instead.
Python API reference#
lsst.ts.ess.labjack Package#
Classes#
|
Base class for ESS data clients that read a LabJack T7 or similar. |
|
Read 3-axis accelerometer data from a LabJack T7 or similar, and report using the accelerometerPSD topic. |
|
Get environmental data from a LabJack T7 or similar. |
Class Inheritance Diagram#
digraph inheritance94ebf8de22 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ABC" [URL="https://docs.python.org/3.13/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "BaseLabJackDataClient" [URL="api/lsst.ts.ess.labjack.BaseLabJackDataClient.html#lsst.ts.ess.labjack.BaseLabJackDataClient",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for ESS data clients that read a LabJack T7 or similar."]; "BaseReadLoopDataClient" -> "BaseLabJackDataClient" [arrowsize=0.5,style="setlinewidth(0.5)"]; "ABC" -> "BaseLabJackDataClient" [arrowsize=0.5,style="setlinewidth(0.5)"]; "BaseReadLoopDataClient" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class to read environmental data from a server and publish it"]; "ABC" -> "BaseReadLoopDataClient" [arrowsize=0.5,style="setlinewidth(0.5)"]; "LabJackAccelerometerDataClient" [URL="api/lsst.ts.ess.labjack.LabJackAccelerometerDataClient.html#lsst.ts.ess.labjack.LabJackAccelerometerDataClient",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Read 3-axis accelerometer data from a LabJack T7 or similar,"]; "BaseLabJackDataClient" -> "LabJackAccelerometerDataClient" [arrowsize=0.5,style="setlinewidth(0.5)"]; "LabJackDataClient" [URL="api/lsst.ts.ess.labjack.LabJackDataClient.html#lsst.ts.ess.labjack.LabJackDataClient",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Get environmental data from a LabJack T7 or similar."]; "BaseLabJackDataClient" -> "LabJackDataClient" [arrowsize=0.5,style="setlinewidth(0.5)"]; }Contributing#
lsst.ts.ess.labjack is developed at lsst-ts/ts_ess_labjack.
You can find Jira issues for this module using labels=ts_ess_labjack.