Classes | Typedefs | Enumerations | Functions
segwayrmp Namespace Reference

Classes

class  FiniteConcurrentSharedQueue
 
class  FTD2XXRMPIO
 
struct  Packet
 
class  RMPIO
 
class  SegwayRMP
 
class  SegwayStatus
 
class  SegwayTime
 
class  SerialRMPIO
 

Typedefs

typedef boost::function< void(const std::exception &)> ExceptionCallback
 
typedef boost::function< SegwayTime(void)> GetTimeCallback
 
typedef boost::function< void(const std::string &)> LogMsgCallback
 
typedef boost::function< void(SegwayStatus::Ptr)> SegwayStatusCallback
 

Enumerations

enum  ConfigurationType { by_serial_number = 0, by_description = 1, by_index = 2, by_none = 3 }
 
enum  ControllerGainSchedule { light = 0, tall = 1, heavy = 2 }
 
enum  InterfaceType {
  can = 0, usb = 1, serial = 2, ethernet = 3,
  no_interface = -1
}
 
enum  OperationalMode { disabled = 0, tractor = 1, balanced = 2, power_down = 3 }
 
enum  SegwayRMPType {
  rmp50 = 0, rmp100 = 1, rmp200 = 2, rmp400 = 3,
  rmpx440 = 4
}
 

Functions

 DEFINE_EXCEPTION (PacketRetrievalException,"Error retrieving a packet from the"" SegwayRMP: ","Unspecified")
 
 DEFINE_EXCEPTION (NoHighPerformanceTimersException,"","This system does not ""appear to have a High Precision Event Timer (HPET) device.")
 
 DEFINE_EXCEPTION (ConnectionFailedException,"Error connecting to the ""SegwayRMP: ","Unspecified")
 
 DEFINE_EXCEPTION (ReadFailedException,"Error reading from the SegwayRMP: ","Unspecified")
 
 DEFINE_EXCEPTION (WriteFailedException,"Error writing to the SegwayRMP: ","Unspecified")
 
 DEFINE_EXCEPTION (MoveFailedException,"Error moving the SegwayRMP: ","Unspecified")
 
 DEFINE_EXCEPTION (ConfigurationException,"Error configuring the SegwayRMP: ","Unspecified")
 
std::vector< FT_DEVICE_LIST_INFO_NODEenumerateUSBDevices ()
 

Typedef Documentation

typedef boost::function<void(const std::exception&)> segwayrmp::ExceptionCallback

Definition at line 330 of file segwayrmp.h.

typedef boost::function<SegwayTime(void)> segwayrmp::GetTimeCallback

Definition at line 329 of file segwayrmp.h.

typedef boost::function<void(const std::string&)> segwayrmp::LogMsgCallback

Definition at line 331 of file segwayrmp.h.

typedef boost::function<void(SegwayStatus::Ptr)> segwayrmp::SegwayStatusCallback

Definition at line 328 of file segwayrmp.h.

Enumeration Type Documentation

Defines the possible methods of configuring the usb port.

Enumerator
by_serial_number 

This method requires a serial number like "FT000001".

by_description 

This method requires a description like "Robotic Mobile Platform".

by_index 

This method requires an index like 0 or 1. This selects amoung all FTD2XX devices.

by_none 

Means it hasn't been set yet.

Definition at line 50 of file rmp_ftd2xx.h.

Defines the controller gain schedule options for the Segway vehicle.

Enumerator
light 

For relatively small weights (20 kg) near the platform

tall 

For relatively small weights (20 kg) spread out vertically on the platform

heavy 

For heavy weights (40 kg) near the platform

Definition at line 173 of file segwayrmp.h.

Defines the possible modes of communication for the Segway Interface.

Enumerator
can 

This method is unsupported currently.

usb 

This method communicates to the Segway via usb using the FTD2XX library.

serial 

This method communicates to the Segway via a virtual serial port.

ethernet 

This method communicates to the Segway via a UDP/IP ethernet interface. Note: This is only allowed with the rmpx440

no_interface 

Definition at line 99 of file segwayrmp.h.

Defines the operational modes of the Segway vehicle.

Enumerator
disabled 

This means the Segway has not been set to a mode yet.

tractor 

This mode means the Segway will move without balancing, i.e. it has a caster.

balanced 

This mode means the Segway will balance on its two drive wheels.

power_down 

This mode means the Segway will power down.

Definition at line 150 of file segwayrmp.h.

Defines the type of Segway RMP you are using.

Enumerator
rmp50 

This indicates you have an RMP50 vehicle.

rmp100 

This indicates you have an RMP100 vehicle.

rmp200 

This indicates you have an RMP200 vehicle.

rmp400 

You still need to run two instances of SegwayRMP, this is the same as setting SegwayRMPType as rmp200.

rmpx440 

This is the new rmp400, dubbed the rmpx440, which allows ethernet control.

Definition at line 123 of file segwayrmp.h.

Function Documentation

segwayrmp::DEFINE_EXCEPTION ( PacketRetrievalException  ,
"Error retrieving a packet from the"" SegwayRMP: "  ,
"Unspecified"   
)
segwayrmp::DEFINE_EXCEPTION ( NoHighPerformanceTimersException  ,
""  ,
"This system does not ""appear to have a High Precision Event Timer (HPET) device."   
)
segwayrmp::DEFINE_EXCEPTION ( ConnectionFailedException  ,
"Error connecting to the ""SegwayRMP: "  ,
"Unspecified"   
)
segwayrmp::DEFINE_EXCEPTION ( ReadFailedException  ,
"Error reading from the SegwayRMP: "  ,
"Unspecified"   
)
segwayrmp::DEFINE_EXCEPTION ( WriteFailedException  ,
"Error writing to the SegwayRMP: "  ,
"Unspecified"   
)
segwayrmp::DEFINE_EXCEPTION ( MoveFailedException  ,
"Error moving the SegwayRMP: "  ,
"Unspecified"   
)
segwayrmp::DEFINE_EXCEPTION ( ConfigurationException  ,
"Error configuring the SegwayRMP: "  ,
"Unspecified"   
)
std::vector< FT_DEVICE_LIST_INFO_NODE > segwayrmp::enumerateUSBDevices ( )

Definition at line 78 of file rmp_ftd2xx.cc.



libsegwayrmp
Author(s): William Woodall
autogenerated on Mon Jun 10 2019 13:46:50