Classes | Namespaces | Enumerations
LabJackDevice.h File Reference
#include <memory>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include "SurgSim/DataStructures/OptionalValue.h"
#include "SurgSim/Input/CommonDevice.h"

Go to the source code of this file.

Classes

struct  SurgSim::Devices::LabJack::TimerSettings
 A struct holding the data to be associated with a Timer. More...
 
struct  SurgSim::Devices::LabJack::AnalogInputSettings
 A struct holding the data to be associated with the positive channel for an analog input. More...
 
class  SurgSim::Devices::LabJackDevice
 A class implementing the communication with a LabJack data acquisition (DAQ) device. More...
 

Namespaces

 SurgSim
 
 SurgSim::Devices
 
 SurgSim::Devices::LabJack
 A collection of checksum functions specifically tailored for the labjackusb driver.
 

Enumerations

enum  SurgSim::Devices::LabJack::Model { SurgSim::Devices::LabJack::MODEL_SEARCH = -1, SurgSim::Devices::LabJack::MODEL_UE9 = 9, SurgSim::Devices::LabJack::MODEL_U3 = 3, SurgSim::Devices::LabJack::MODEL_U6 = 6 }
 The models of LabJack devices. Numbers come from LabJackUD.h. More...
 
enum  SurgSim::Devices::LabJack::Connection {
  SurgSim::Devices::LabJack::CONNECTION_SEARCH = -1, SurgSim::Devices::LabJack::CONNECTION_USB = 1, SurgSim::Devices::LabJack::CONNECTION_ETHERNET = 2, SurgSim::Devices::LabJack::CONNECTION_ETHERNET_MB = 3,
  SurgSim::Devices::LabJack::CONNECTION_ETHERNET_DATA_ONLY = 4
}
 The connection (i.e., communication media) for LabJacks. Numbers come from LabJackUD.h. More...
 
enum  SurgSim::Devices::LabJack::TimerBase {
  SurgSim::Devices::LabJack::TIMERBASE_DEFAULT = -1, SurgSim::Devices::LabJack::TIMERBASE_0 = 0, SurgSim::Devices::LabJack::TIMERBASE_1 = 1, SurgSim::Devices::LabJack::TIMERBASE_2 = 2,
  SurgSim::Devices::LabJack::TIMERBASE_3 = 3, SurgSim::Devices::LabJack::TIMERBASE_4 = 4, SurgSim::Devices::LabJack::TIMERBASE_5 = 5, SurgSim::Devices::LabJack::TIMERBASE_6 = 6,
  SurgSim::Devices::LabJack::TIMERBASE_20 = 20, SurgSim::Devices::LabJack::TIMERBASE_21 = 21, SurgSim::Devices::LabJack::TIMERBASE_22 = 22, SurgSim::Devices::LabJack::TIMERBASE_23 = 23,
  SurgSim::Devices::LabJack::TIMERBASE_24 = 24, SurgSim::Devices::LabJack::TIMERBASE_25 = 25, SurgSim::Devices::LabJack::TIMERBASE_26 = 26
}
 The timer base frequencies for LabJacks. More...
 
enum  SurgSim::Devices::LabJack::TimerMode {
  SurgSim::Devices::LabJack::TIMERMODE_PWM_16BIT = 0, SurgSim::Devices::LabJack::TIMERMODE_PWM_8BIT = 1, SurgSim::Devices::LabJack::TIMERMODE_RISING_EDGES_32BIT = 2, SurgSim::Devices::LabJack::TIMERMODE_FALLING_EDGES_32BIT = 3,
  SurgSim::Devices::LabJack::TIMERMODE_DUTY_CYCLE = 4, SurgSim::Devices::LabJack::TIMERMODE_FIRMWARE_COUNTER = 5, SurgSim::Devices::LabJack::TIMERMODE_FIRMWARE_COUNTER_DEBOUNCED = 6, SurgSim::Devices::LabJack::TIMERMODE_FREQUENCY_OUTPUT = 7,
  SurgSim::Devices::LabJack::TIMERMODE_QUADRATURE = 8, SurgSim::Devices::LabJack::TIMERMODE_TIMER_STOP = 9, SurgSim::Devices::LabJack::TIMERMODE_SYSTEM_TIMER_LOWER_32BITS = 10, SurgSim::Devices::LabJack::TIMERMODE_SYSTEM_TIMER_UPPR_32BITS = 11,
  SurgSim::Devices::LabJack::TIMERMODE_RISING_EDGES_16BIT = 12, SurgSim::Devices::LabJack::TIMERMODE_FALLING_EDGES_16BIT = 13, SurgSim::Devices::LabJack::TIMERMODE_LINE_TO_LINE = 14
}
 The timer modes. More...
 
enum  SurgSim::Devices::LabJack::Range {
  SurgSim::Devices::LabJack::RANGE_20 = 1, SurgSim::Devices::LabJack::RANGE_10 = 2, SurgSim::Devices::LabJack::RANGE_5 = 3, SurgSim::Devices::LabJack::RANGE_4 = 4,
  SurgSim::Devices::LabJack::RANGE_2_POINT_5 = 5, SurgSim::Devices::LabJack::RANGE_2 = 6, SurgSim::Devices::LabJack::RANGE_1_POINT_25 = 7, SurgSim::Devices::LabJack::RANGE_1 = 8,
  SurgSim::Devices::LabJack::RANGE_0_POINT_625 = 9, SurgSim::Devices::LabJack::RANGE_0_POINT_1 = 10, SurgSim::Devices::LabJack::RANGE_0_POINT_01 = 11
}
 The analog input ranges. Equivalent to gain. Ignored for Linux scaffold, which auto-ranges. More...
 
enum  SurgSim::Devices::LabJack::TIMER {
  SurgSim::Devices::LabJack::TIMER0, SurgSim::Devices::LabJack::TIMER1, SurgSim::Devices::LabJack::TIMER2, SurgSim::Devices::LabJack::TIMER3,
  SurgSim::Devices::LabJack::TIMER4, SurgSim::Devices::LabJack::TIMER5
}
 
enum  SurgSim::Devices::LabJack::FIO_LINE {
  SurgSim::Devices::LabJack::FIO0, SurgSim::Devices::LabJack::FIO1, SurgSim::Devices::LabJack::FIO2, SurgSim::Devices::LabJack::FIO3,
  SurgSim::Devices::LabJack::FIO4, SurgSim::Devices::LabJack::FIO5, SurgSim::Devices::LabJack::FIO6, SurgSim::Devices::LabJack::FIO7
}
 
enum  SurgSim::Devices::LabJack::EIO_LINE {
  SurgSim::Devices::LabJack::EIO0 = 8, SurgSim::Devices::LabJack::EIO1, SurgSim::Devices::LabJack::EIO2, SurgSim::Devices::LabJack::EIO3,
  SurgSim::Devices::LabJack::EIO4, SurgSim::Devices::LabJack::EIO5, SurgSim::Devices::LabJack::EIO6, SurgSim::Devices::LabJack::EIO7
}
 
enum  SurgSim::Devices::LabJack::CIO_LINE { SurgSim::Devices::LabJack::CIO0 = 16, SurgSim::Devices::LabJack::CIO1, SurgSim::Devices::LabJack::CIO2, SurgSim::Devices::LabJack::CIO3 }
 
enum  SurgSim::Devices::LabJack::MIO_LINE { SurgSim::Devices::LabJack::MIO0 = 20, SurgSim::Devices::LabJack::MIO1, SurgSim::Devices::LabJack::MIO2 }
 
enum  SurgSim::Devices::LabJack::AIN {
  SurgSim::Devices::LabJack::AIN0, SurgSim::Devices::LabJack::AIN1, SurgSim::Devices::LabJack::AIN2, SurgSim::Devices::LabJack::AIN3,
  SurgSim::Devices::LabJack::AIN4, SurgSim::Devices::LabJack::AIN5, SurgSim::Devices::LabJack::AIN6, SurgSim::Devices::LabJack::AIN7,
  SurgSim::Devices::LabJack::AIN8, SurgSim::Devices::LabJack::AIN9, SurgSim::Devices::LabJack::AIN10, SurgSim::Devices::LabJack::AIN11,
  SurgSim::Devices::LabJack::AIN12, SurgSim::Devices::LabJack::AIN13, SurgSim::Devices::LabJack::AIN14, SurgSim::Devices::LabJack::AIN15
}
 
enum  SurgSim::Devices::LabJack::DAC { SurgSim::Devices::LabJack::DAC0, SurgSim::Devices::LabJack::DAC1 }
 
enum  SurgSim::Devices::LabJack::TIMER {
  SurgSim::Devices::LabJack::TIMER0, SurgSim::Devices::LabJack::TIMER1, SurgSim::Devices::LabJack::TIMER2, SurgSim::Devices::LabJack::TIMER3,
  SurgSim::Devices::LabJack::TIMER4, SurgSim::Devices::LabJack::TIMER5
}
 
enum  SurgSim::Devices::LabJack::FIO_LINE {
  SurgSim::Devices::LabJack::FIO0, SurgSim::Devices::LabJack::FIO1, SurgSim::Devices::LabJack::FIO2, SurgSim::Devices::LabJack::FIO3,
  SurgSim::Devices::LabJack::FIO4, SurgSim::Devices::LabJack::FIO5, SurgSim::Devices::LabJack::FIO6, SurgSim::Devices::LabJack::FIO7
}
 
enum  SurgSim::Devices::LabJack::EIO_LINE {
  SurgSim::Devices::LabJack::EIO0 = 8, SurgSim::Devices::LabJack::EIO1, SurgSim::Devices::LabJack::EIO2, SurgSim::Devices::LabJack::EIO3,
  SurgSim::Devices::LabJack::EIO4, SurgSim::Devices::LabJack::EIO5, SurgSim::Devices::LabJack::EIO6, SurgSim::Devices::LabJack::EIO7
}
 
enum  SurgSim::Devices::LabJack::CIO_LINE { SurgSim::Devices::LabJack::CIO0 = 16, SurgSim::Devices::LabJack::CIO1, SurgSim::Devices::LabJack::CIO2, SurgSim::Devices::LabJack::CIO3 }
 
enum  SurgSim::Devices::LabJack::MIO_LINE { SurgSim::Devices::LabJack::MIO0 = 20, SurgSim::Devices::LabJack::MIO1, SurgSim::Devices::LabJack::MIO2 }
 
enum  SurgSim::Devices::LabJack::AIN {
  SurgSim::Devices::LabJack::AIN0, SurgSim::Devices::LabJack::AIN1, SurgSim::Devices::LabJack::AIN2, SurgSim::Devices::LabJack::AIN3,
  SurgSim::Devices::LabJack::AIN4, SurgSim::Devices::LabJack::AIN5, SurgSim::Devices::LabJack::AIN6, SurgSim::Devices::LabJack::AIN7,
  SurgSim::Devices::LabJack::AIN8, SurgSim::Devices::LabJack::AIN9, SurgSim::Devices::LabJack::AIN10, SurgSim::Devices::LabJack::AIN11,
  SurgSim::Devices::LabJack::AIN12, SurgSim::Devices::LabJack::AIN13, SurgSim::Devices::LabJack::AIN14, SurgSim::Devices::LabJack::AIN15
}
 
enum  SurgSim::Devices::LabJack::DAC { SurgSim::Devices::LabJack::DAC0, SurgSim::Devices::LabJack::DAC1 }