class mrpt::hwdrivers::CTaoboticsIMU

Python API: mrpt.hwdrivers.CTaoboticsIMU

Overview

A driver for Taobotics IMU.

Supported models: HFI-A9, HFI-B9, HFI-B6.

#include <mrpt/hwdrivers/CTaoboticsIMU.h>

class CTaoboticsIMU: public mrpt::hwdrivers::CGenericSensor
{
public:
    // construction

    CTaoboticsIMU();

    // methods

    virtual void loadConfig_sensorSpecific(const mrpt::config::CConfigFileBase& configSource, const std::string& iniSection);
    virtual void doProcess();
    virtual void initialize();
    void setSerialPort(const std::string& serialPort);
    void setSerialBaudRate(int rate);
};

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<CGenericSensor> Ptr;
    typedef std::multimap<mrpt::system::TTimeStamp, mrpt::serialization::CSerializable::Ptr> TListObservations;
    typedef std::pair<mrpt::system::TTimeStamp, mrpt::serialization::CSerializable::Ptr> TListObsPair;

    // enums

    enum TSensorState;

    // methods

    virtual const mrpt::hwdrivers::TSensorClassId* GetRuntimeClass() const = 0;
    TSensorState getState() const;
    double getProcessRate() const;
    std::string getSensorLabel() const;
    void setSensorLabel(const std::string& sensorLabel);
    void enableVerbose(bool enabled = true);
    bool isVerboseEnabled() const;
    CGenericSensor& operator = (const CGenericSensor&);
    virtual void loadConfig(const mrpt::config::CConfigFileBase& configSource, const std::string& section);
    virtual void initialize();
    virtual void doProcess() = 0;
    virtual TListObservations getObservations();
    virtual void setPathForExternalImages(] const std::string& directory);
    virtual void setExternalImageFormat(const std::string& ext);
    virtual void setExternalImageJPEGQuality(const unsigned int quality);
    virtual unsigned int getExternalImageJPEGQuality() const;
    static void registerClass(const TSensorClassId* pNewClass);
    static CGenericSensor* createSensor(const std::string& className);
    static Ptr createSensorPtr(const std::string& className);

Methods

virtual void loadConfig_sensorSpecific(
    const mrpt::config::CConfigFileBase& configSource,
    const std::string& iniSection
    )

See the class documentation at the top for expected parameters.

virtual void doProcess()

This method will be invoked at a minimum rate of “process_rate” (Hz)

Parameters:

This

method must throw an exception with a descriptive message if some critical error is found.

virtual void initialize()

Opens the serial port and start streaming data.

You must have called loadConfig_sensorSpecific before calling this function, or set the configuration via the provided methods, e.g. setSerialPort(), etc.

void setSerialPort(const std::string& serialPort)

Must be called before initialize().

If not set, the default is “/dev/ttyUSB0”. Use “COM1”, etc. for Windows.

void setSerialBaudRate(int rate)

Must be called before initialize().

If not called, the default 921600 is used.