Robot Raconteur Core C++ Library
Loading...
Searching...
No Matches
RobotRaconteur::HardwareTransport Class Reference

Transport for USB, Bluetooth, and PCIe hardware devices. More...

#include <HardwareTransport.h>

Inheritance diagram for RobotRaconteur::HardwareTransport:
RobotRaconteur::Transport

Public Member Functions

 HardwareTransport (const boost::shared_ptr< RobotRaconteurNode > &node=RobotRaconteurNode::sp())
 Construct a new HardwareTransport.
virtual int32_t GetMaxMessageSize ()
 Get the maximum serialized message size.
virtual void SetMaxMessageSize (int32_t size)
 Set the maximum serialized message size.
virtual bool GetDisableMessage4 ()
 Get disable Message Format Version 4.
virtual void SetDisableMessage4 (bool d)
 Set disable Message Format Version 4.
virtual bool GetDisableStringTable ()
 Get disable string table.
virtual void SetDisableStringTable (bool d)
 Set disable string table.
virtual bool GetDisableAsyncMessageIO ()
 Get if async message io is disabled.
virtual void SetDisableAsyncMessageIO (bool d)
 Get if async message io is disabled.
virtual void AddUsbDevice (uint16_t vid, uint16_t pid, uint8_t interface_)
 Add a USB VID/PID pair to the search list.
virtual void RemoveUsbDevice (uint16_t vid, uint16_t pid, uint8_t interface_)
 Remove a registered USB VID/PID pair.
virtual bool IsValidUsbDevice (uint16_t vid, uint16_t pid, uint8_t interface_)
 Check if VID/PID pair has been registered.

Detailed Description

Transport for USB, Bluetooth, and PCIe hardware devices.

WARNING: THE HARDWARE TRANSPORT IS EXPERIMENTAL!

The HardwareTransport is disabled by default by the node setup classes. Use --robotraconteur-hardware-enable=true option to enable.

It is recommended that ClientNodeSetup, ServerNodeSetup, or SecureServerNodeSetup be used to construct this class.

See robotraconteur_url for more information on URLs.

Contact Wason Technology, LLC for more information on the hardware transport.

Constructor & Destructor Documentation

◆ HardwareTransport()

RobotRaconteur::HardwareTransport::HardwareTransport ( const boost::shared_ptr< RobotRaconteurNode > & node = RobotRaconteurNode::sp())

Construct a new HardwareTransport.

Must use boost::make_shared<HardwareTransport>()

The use of RobotRaconteurNodeSetup and subclasses is recommended to construct transports.

The transport must be registered with the node using RobotRaconteurNode::RegisterTransport() after construction.

Parameters
nodeThe node that will use the transport. Default is the singleton node

Member Function Documentation

◆ AddUsbDevice()

virtual void RobotRaconteur::HardwareTransport::AddUsbDevice ( uint16_t vid,
uint16_t pid,
uint8_t interface_ )
virtual

Add a USB VID/PID pair to the search list.

Parameters
vidThe USB VID
pidThe USB PID
interface_The Robot Raconteur USB interface number

◆ GetDisableAsyncMessageIO()

virtual bool RobotRaconteur::HardwareTransport::GetDisableAsyncMessageIO ( )
virtual

Get if async message io is disabled.

Async message io has better memory handling, at the expense of slightly higher latency.

Default: Async io enabled

Returns
true Async message io is disabled
false Async message io is not disabled

◆ GetDisableMessage4()

virtual bool RobotRaconteur::HardwareTransport::GetDisableMessage4 ( )
virtual

Get disable Message Format Version 4.

Message Format Version 2 will be used

Default: Message V4 is enabled

Returns
true Disable Message V4
false Enable Message V4

◆ GetDisableStringTable()

virtual bool RobotRaconteur::HardwareTransport::GetDisableStringTable ( )
virtual

Get disable string table.

Default: false

RobotRaconteurNodeSetup and its subclasses will disable the string table by default

Returns
true Disable the string table
false String table is not disabled

◆ GetMaxMessageSize()

virtual int32_t RobotRaconteur::HardwareTransport::GetMaxMessageSize ( )
virtual

Get the maximum serialized message size.

Default: 10 MB

Returns
int32_t The size in bytes

◆ IsValidUsbDevice()

virtual bool RobotRaconteur::HardwareTransport::IsValidUsbDevice ( uint16_t vid,
uint16_t pid,
uint8_t interface_ )
virtual

Check if VID/PID pair has been registered.

Parameters
vidThe USB VID
pidThe USB PID
interface_The Robot Raconteur USB interface number
Returns
true
false

◆ RemoveUsbDevice()

virtual void RobotRaconteur::HardwareTransport::RemoveUsbDevice ( uint16_t vid,
uint16_t pid,
uint8_t interface_ )
virtual

Remove a registered USB VID/PID pair.

Parameters
vidThe USB VID
pidThe USB PID
interface_The Robot Raconteur USB interface number

◆ SetDisableAsyncMessageIO()

virtual void RobotRaconteur::HardwareTransport::SetDisableAsyncMessageIO ( bool d)
virtual

Get if async message io is disabled.

Async message io has better memory handling, at the expense of slightly higher latency.

Default: Async io enabled

Returns
true Async message io is disabled
false Async message io is not disabled

◆ SetDisableMessage4()

virtual void RobotRaconteur::HardwareTransport::SetDisableMessage4 ( bool d)
virtual

Set disable Message Format Version 4.

Message Format Version 2 will be used

Default: Message V4 is enabled

Parameters
dIf true, Message V4 is disabled

◆ SetDisableStringTable()

virtual void RobotRaconteur::HardwareTransport::SetDisableStringTable ( bool d)
virtual

Set disable string table.

Default: false

RobotRaconteurNodeSetup and its subclasses will disable the string table by default

Parameters
dIf true, string table is disabled

◆ SetMaxMessageSize()

virtual void RobotRaconteur::HardwareTransport::SetMaxMessageSize ( int32_t size)
virtual

Set the maximum serialized message size.

Default: 10 MB

Parameters
sizeThe size in bytes

The documentation for this class was generated from the following file: