A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
std::chrono::duration< rep, period > duration
void initialize() override
Tries to open the camera, after setting all the parameters with a call to loadConfig.
std::vector< float > enose_poses_z
void loadConfig_sensorSpecific(const mrpt::config::CConfigFileBase &configSource, const std::string §ion) override
See the class documentation at the top for expected parameters.
std::unique_ptr< mrpt::comms::CInterfaceFTDI > m_stream_FTDI
FTDI comms pipe (when not in serial port mode)
void setSerialPortBaud(unsigned int baud)
Set the serial port baud rate (default: 115200)
Contains classes for various device interfaces.
std::string getSerialPort() const
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
bool getObservation(mrpt::obs::CObservationGasSensors &outObservation)
Request the master eNose the latest readings from all the eNoses.
CBoardENoses()
Constructor.
void setSerialPort(const std::string &port)
If not an empty string, will open that serial port, otherwise will try to open USB FTDI device "m_usb...
std::vector< float > enose_poses_yaw
This class allows loading and storing values and vectors of different types from a configuration text...
A class for interfacing an e-Noses via a FTDI USB link.
std::unique_ptr< mrpt::comms::CSerialPort > m_stream_SERIAL
Serial port comms.
Declares a class derived from "CObservation" that represents a set of readings from gas sensors...
GLsizei const GLchar ** string
mrpt::io::CStream * checkConnectionAndConnect()
Tries to connect to the USB device (if disconnected).
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
std::vector< float > enose_poses_y
std::string m_usbSerialNumber
A copy of the device serial number (to open the USB FTDI chip)
unsigned int getSerialPortBaud() const
mrpt::Clock::duration initial_timestamp
std::vector< float > enose_poses_pitch
std::vector< float > enose_poses_roll
std::string m_COM_port
If not an empty string (default), will open that serial port, otherwise will try to open USB FTDI dev...
unsigned int m_COM_baud
Default=115200.
void doProcess() override
This method should be called periodically (at least at 1Hz to capture ALL the real-time data) It is t...
std::vector< float > enose_poses_x
The 3D pose of the master + N slave eNoses on the robot (meters & radians)
bool setActiveChamber(unsigned char chamber)
Set the active chamber (afected by poluted air) on the device.
bool queryFirmwareVersion(std::string &out_firmwareVersion)
Query the firmware version on the device (can be used to test communications).