MRPT logo

mrpt::hwdrivers::CBoardENoses Class Reference

A class for interfacing an e-Noses via a FTDI USB link. More...

#include <mrpt/hwdrivers/CBoardENoses.h>

Inheritance diagram for mrpt::hwdrivers::CBoardENoses:

mrpt::hwdrivers::CInterfaceFTDIMessages mrpt::hwdrivers::CInterfaceFTDI mrpt::utils::CStream

List of all members.

Public Member Functions

 CBoardENoses ()
 Constructor.
virtual ~CBoardENoses ()
 Destructor.
void loadConfig (const mrpt::utils::CConfigFileBase *configSource, const std::string &iniSection)
 Loads specific configuration for the device from a given source of configuration parameters, for example, an ".ini" file, loading from the section "[iniSection]" (see utils::CConfigFileBase and derived classes) See hwdrivers::CBoardENoses for the possible parameters.
bool queryFirmwareVersion (std::string &out_firmwareVersion)
 Query the firmware version on the device (can be used to test communications).
bool getObservation (mrpt::slam::CObservationGasSensors &outObservation)
 Request the master eNose the latest readings from all the eNoses.

Protected Member Functions

bool checkConnectionAndConnect ()
 Tries to connect to the USB device (if disconnected).

Protected Attributes

std::string m_usbSerialNumber
 A copy of the device serial number (to open the USB FTDI chip).
std::vector< float > enose_poses_x
 The 3D pose of the master + N slave eNoses on the robot (meters & radians).
std::vector< float > enose_poses_y
std::vector< float > enose_poses_z
std::vector< float > enose_poses_yaw
std::vector< float > enose_poses_pitch
std::vector< float > enose_poses_roll


Detailed Description

A class for interfacing an e-Noses via a FTDI USB link.

Implemented for the board v1.0 designed by 2007 @ ISA (University of Malaga).

  PARAMETERS IN THE ".INI"-LIKE CONFIGURATION STRINGS:
 -------------------------------------------------------
   [supplied_section_name]
    USB_serialname=ENOSE001

    ; 3D position (in meters) of the master +slave eNoses
    enose_poses_x=<MASTER X> <SLAVE#1 X> <SLAVE#2 X> <SLAVE#3 X>...
    enose_poses_y=<MASTER Y> <SLAVE#1 Y> <SLAVE#2 Y> <SLAVE#3 Y>...
    enose_poses_z=<MASTER Z> <SLAVE#1 Z> <SLAVE#2 Z> <SLAVE#3 Z>...

    ; 3D pose angles (in degrees) of the master +slave eNoses
    enose_poses_yaw=<MASTER YAW> <SLAVE#1 YAW> <SLAVE#2 YAW> <SLAVE#3 YAW>...
    enose_poses_pitch=<MASTER PITCH> <SLAVE#1 PITCH> <SLAVE#2 PITCH> <SLAVE#3 PITCH>...
    enose_poses_roll=<MASTER ROLL> <SLAVE#1 ROLL> <SLAVE#2 ROLL> <SLAVE#3 ROLL>...

Definition at line 64 of file CBoardENoses.h.


Constructor & Destructor Documentation

mrpt::hwdrivers::CBoardENoses::CBoardENoses (  ) 

Constructor.

Parameters:
serialNumberUSBdevice The serial number (text) of the device to open. The constructor will try to open the device. You can check if it failed calling "isOpen()".

virtual mrpt::hwdrivers::CBoardENoses::~CBoardENoses (  )  [virtual]

Destructor.


Member Function Documentation

bool mrpt::hwdrivers::CBoardENoses::checkConnectionAndConnect (  )  [protected]

Tries to connect to the USB device (if disconnected).

Returns:
True on connection OK, false on error.

bool mrpt::hwdrivers::CBoardENoses::getObservation ( mrpt::slam::CObservationGasSensors outObservation  ) 

Request the master eNose the latest readings from all the eNoses.

The output observation contains a valid timestamp and 3D positions if "loadConfig" has been called previously.

Returns:
true if OK, false if there were any error.

void mrpt::hwdrivers::CBoardENoses::loadConfig ( const mrpt::utils::CConfigFileBase configSource,
const std::string &  iniSection 
)

Loads specific configuration for the device from a given source of configuration parameters, for example, an ".ini" file, loading from the section "[iniSection]" (see utils::CConfigFileBase and derived classes) See hwdrivers::CBoardENoses for the possible parameters.

bool mrpt::hwdrivers::CBoardENoses::queryFirmwareVersion ( std::string &  out_firmwareVersion  ) 

Query the firmware version on the device (can be used to test communications).

Returns:
true on success, false on communications errors or device not found.


Member Data Documentation

std::vector<float> mrpt::hwdrivers::CBoardENoses::enose_poses_pitch [protected]

Definition at line 73 of file CBoardENoses.h.

std::vector<float> mrpt::hwdrivers::CBoardENoses::enose_poses_roll [protected]

Definition at line 73 of file CBoardENoses.h.

std::vector<float> mrpt::hwdrivers::CBoardENoses::enose_poses_x [protected]

The 3D pose of the master + N slave eNoses on the robot (meters & radians).

Definition at line 73 of file CBoardENoses.h.

std::vector<float> mrpt::hwdrivers::CBoardENoses::enose_poses_y [protected]

Definition at line 73 of file CBoardENoses.h.

std::vector<float> mrpt::hwdrivers::CBoardENoses::enose_poses_yaw [protected]

Definition at line 73 of file CBoardENoses.h.

std::vector<float> mrpt::hwdrivers::CBoardENoses::enose_poses_z [protected]

Definition at line 73 of file CBoardENoses.h.

A copy of the device serial number (to open the USB FTDI chip).

Definition at line 69 of file CBoardENoses.h.




Page generated by Doxygen 1.5.7.1 for MRPT 0.6.5 SVN: at Mon Feb 23 13:25:04 EST 2009