HMR3300 Class Reference

Class for interfacing with a Honeywell HMR-3300 compass. More...

#include <Devices/HMR3300.H>

Inheritance diagram for HMR3300:
Inheritance graph
[legend]
Collaboration diagram for HMR3300:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 HMR3300 (OptionManager &mgr, const std::string &descrName="HMR3300", const std::string &tagName="HMR3300", const char *dev="/dev/ttyS0")
 Initialize.
 ~HMR3300 ()
 Destructor.
void setListener (rutz::shared_ptr< HMR3300Listener > &listener)
 Install a callback (listener).
void get (Angle &heading, Angle &pitch, Angle &roll)
 Get the current filtered heading, pitch, and roll from the compass.
Angle getHeading ()
 Get the current filtered heading.
Angle getPitch ()
 Get the current filtered pitch.
Angle getRoll ()
 Get the current filtered roll.
void run ()
 The user need not concern himself with this method.

Protected Member Functions

void start2 ()
 get started
void stop1 ()
 get stopped

Detailed Description

Class for interfacing with a Honeywell HMR-3300 compass.

This is a 3-axis compass. The compass communicates with a host via RS-232 at 19,200 bauds. The compass sends the 3 angular measurements at regular intervals.

In our BeoSub, Pitch is approx 0.0 when horizontal; tilting the sub nose down makes the pitch more negative.

For Heading, 0.0 is north, turning left decreases the heading angle.

For Roll, rolling leftwards (so that the left side of the sub goes down while the right side goes up) increases the roll angle.

Definition at line 70 of file HMR3300.H.


Constructor & Destructor Documentation

HMR3300::HMR3300 ( OptionManager mgr,
const std::string descrName = "HMR3300",
const std::string tagName = "HMR3300",
const char *  dev = "/dev/ttyS0" 
)

Initialize.

Definition at line 57 of file HMR3300.C.

References ModelComponent::addSubComponent().

HMR3300::~HMR3300 (  ) 

Destructor.

Definition at line 84 of file HMR3300.C.


Member Function Documentation

void HMR3300::get ( Angle heading,
Angle pitch,
Angle roll 
)

Get the current filtered heading, pitch, and roll from the compass.

Definition at line 120 of file HMR3300.C.

Angle HMR3300::getHeading (  ) 

Get the current filtered heading.

Definition at line 128 of file HMR3300.C.

Angle HMR3300::getPitch (  ) 

Get the current filtered pitch.

Definition at line 137 of file HMR3300.C.

Angle HMR3300::getRoll (  ) 

Get the current filtered roll.

Definition at line 146 of file HMR3300.C.

void HMR3300::run (  ) 

The user need not concern himself with this method.

Should have been protected, but is not because of the pthread hack.

Definition at line 90 of file HMR3300.C.

References rutz::shared_ptr< T >::is_valid().

void HMR3300::setListener ( rutz::shared_ptr< HMR3300Listener > &  listener  ) 

Install a callback (listener).

This callback will be called with the corresponding data each time new data is received from the device.

Definition at line 69 of file HMR3300.C.

void HMR3300::start2 (  )  [protected, virtual]

get started

Reimplemented from ModelComponent.

Definition at line 73 of file HMR3300.C.

void HMR3300::stop1 (  )  [protected, virtual]

get stopped

Reimplemented from ModelComponent.

Definition at line 77 of file HMR3300.C.


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:43:21 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3