cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
mtsRTSocketCAN Class Reference

A RTSocketCAN device wrapped with MTS interfaces. More...

#include <mtsRTSocketCAN.h>

Inheritance diagram for mtsRTSocketCAN:
mtsCANBus osaRTSocketCAN mtsComponent osaCANBus cmnGenericObject

Public Member Functions

 mtsRTSocketCAN (const std::string &cmpname, const std::string &canname, osaCANBus::Rate rate, osaCANBus::Loopback loopback=osaCANBus::LOOPBACK_OFF)
 Main constructor. More...
 
- Public Member Functions inherited from mtsCANBus
 mtsCANBus (const std::string &componentname, osaCANBus *can)
 
- Public Member Functions inherited from mtsComponent
 mtsComponent (const std::string &deviceName)
 
virtual ~mtsComponent ()
 
const std::string & GetName (void) const
 
void GetName (std::string &placeHolder) const
 
void SetName (const std::string &componentName)
 
virtual void Configure (const std::string &filename="")
 
virtual void Create (void)
 
bool CreateAndWait (double timeoutInSeconds)
 
virtual void Start (void)
 
bool StartAndWait (double timeoutInSeconds)
 
virtual void Suspend (void)
 
virtual void Kill (void)
 
bool KillAndWait (double timeoutInSeconds)
 
virtual void Startup (void)
 
virtual void Cleanup (void)
 
mtsInterfaceProvided * AddInterfaceProvided (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY)
 
virtual mtsInterfaceProvided * AddInterfaceProvidedWithoutSystemEvents (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY, bool isProxy=false)
 
CISST_DEPRECATED
mtsInterfaceProvided * 
AddProvidedInterface (const std::string &interfaceProvidedName)
 
virtual mtsInterfaceOutput * AddInterfaceOutput (const std::string &interfaceOutputName)
 
bool InterfaceExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
bool InterfaceProvidedOrOutputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
bool InterfaceRequiredOrInputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
mtsInterfaceProvided * GetInterfaceProvided (const std::string &interfaceProvidedName) const
 
mtsInterfaceOutput * GetInterfaceOutput (const std::string &interfaceOutputName) const
 
size_t GetNumberOfInterfacesProvided (void) const
 
size_t GetNumberOfInterfacesOutput (void) const
 
bool RemoveInterfaceProvided (const std::string &interfaceProvidedName, const bool skipDisconnect=false)
 
mtsInterfaceRequired * AddInterfaceRequired (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
 
virtual mtsInterfaceRequired * AddInterfaceRequiredWithoutSystemEventHandlers (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
 
CISST_DEPRECATED
mtsInterfaceRequired * 
AddRequiredInterface (const std::string &requiredInterfaceName)
 
virtual mtsInterfaceInput * AddInterfaceInput (const std::string &interfaceInputName)
 
const mtsInterfaceProvided * GetInterfaceProvidedFor (const std::string &interfaceRequiredName)
 
mtsInterfaceRequired * GetInterfaceRequired (const std::string &interfaceRequiredName)
 
mtsInterfaceInput * GetInterfaceInput (const std::string &interfaceInputName) const
 
size_t GetNumberOfInterfacesRequired (void) const
 
size_t GetNumberOfInterfacesInput (void) const
 
bool RemoveInterfaceRequired (const std::string &interfaceRequiredName, const bool skipDisconnect=false)
 
const mtsManagerComponentServices * GetManagerComponentServices (void) const
 
mtsManagerComponentServices * GetManagerComponentServices (void)
 
mtsStateTable * GetStateTable (const std::string &stateTableName)
 
bool AddStateTable (mtsStateTable *existingStateTable, bool addInterfaceProvided=true)
 
void UseSeparateLogFileDefault (bool forwardToLogger=true)
 
void UseSeparateLogFileDefaultWithDate (bool forwardToLogger=true)
 
void UseSeparateLogFile (const std::string &filename, bool forwardToLogger=true)
 
cmnLogger::StreamBufType * GetLogMultiplexer (void) const
 
bool IsRunning (void) const
 
bool CISST_DEPRECATED Running (void) const
 
bool IsStarted (void) const
 
bool IsTerminated (void) const
 
bool IsEndTask (void) const
 
const mtsComponentState & GetState (void) const
 
void GetState (mtsComponentState &state) const
 
void ToStream (std::ostream &outputStream) const
 
bool SetReplayMode (void)
 
bool SetReplayData (const std::string &stateTableName, const std::string &fileName)
 
bool SetReplayTime (const double time)
 
std::vector< std::string > GetNamesOfInterfacesProvidedOrOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesProvided (void) const
 
std::vector< std::string > GetNamesOfInterfacesOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequiredOrInput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequired (void) const
 
std::vector< std::string > GetNamesOfInterfacesInput (void) const
 
- Public Member Functions inherited from cmnGenericObject
virtual ~cmnGenericObject (void)
 
virtual const
cmnClassServicesBase * 
Services (void) const =0
 
bool ReconstructFrom (const cmnGenericObject &other)
 
std::string ToString (void) const
 
virtual void ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const
 
virtual bool FromStreamRaw (std::istream &inputStream, const char delimiter= ' ')
 
virtual void SerializeRaw (std::ostream &outputStream) const
 
virtual void DeSerializeRaw (std::istream &inputStream)
 
virtual size_t ScalarNumber (void) const
 
virtual bool ScalarNumberIsFixed (void) const
 
virtual double Scalar (const size_t CMN_UNUSED(index)) const throw (std::out_of_range)
 
virtual std::string ScalarDescription (const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const
 
- Public Member Functions inherited from osaRTSocketCAN
 osaRTSocketCAN (const std::string &devicename, osaCANBus::Rate rate, osaCANBus::Loopback loopback=osaCANBus::LOOPBACK_OFF)
 Constructor. More...
 
 ~osaRTSocketCAN ()
 Destructor. More...
 
osaCANBus::Errno Open ()
 Open and configure the CAN socket. More...
 
osaCANBus::Errno Close ()
 Close the CAN socket. More...
 
osaCANBus::Errno Send (const osaCANBusFrame &frame, osaCANBus::Flags flags=osaCANBus::MSG_NOFLAG)
 Send a CAN frame on the bus. More...
 
osaCANBus::Errno Recv (osaCANBusFrame &frame, osaCANBus::Flags flags=osaCANBus::MSG_NOFLAG)
 Receive a CAN frame. More...
 
osaCANBus::Errno AddFilter (const osaCANBus::Filter &filter)
 Add a filter to the RTSocketCAN device. More...
 
- Public Member Functions inherited from osaCANBus
 osaCANBus (osaCANBus::Rate rate, osaCANBus::Loopback loopback=osaCANBus::LOOPBACK_OFF)
 Default constructor. More...
 
virtual ~osaCANBus ()
 Default destructor. More...
 

Additional Inherited Members

- Public Types inherited from mtsComponent
typedef mtsComponent ThisType
 
- Public Types inherited from osaCANBus
enum  Rate { RATE_150 =150000, RATE_300 =300000, RATE_1000 =1000000 }
 The different CAN rates. More...
 
enum  Errno { ESUCCESS, EFAILURE }
 The different CAN rates. More...
 
enum  Flags { MSG_NOFLAG = 0x00, MSG_CONFIRM = 0x01, MSG_DONTWAIT = 0x02 }
 
enum  Loopback { LOOPBACK_ON, LOOPBACK_OFF }
 
- Protected Types inherited from mtsComponent
typedef cmnNamedMap
< mtsStateTable > 
StateTableMapType
 
typedef cmnNamedMap
< mtsInterfaceProvided > 
InterfacesProvidedMapType
 
typedef cmnNamedMap
< mtsInterfaceOutput > 
InterfacesOutputMapType
 
typedef cmnNamedMap
< mtsInterfaceRequired > 
InterfacesRequiredMapType
 
typedef cmnNamedMap
< mtsInterfaceInput > 
InterfacesInputMapType
 
- Protected Member Functions inherited from mtsComponent
 mtsComponent (void)
 
 mtsComponent (const mtsComponent &other)
 
void Initialize (void)
 
mtsInterfaceRequired * AddInterfaceRequiredExisting (const std::string &interfaceRequiredName, mtsInterfaceRequired *interfaceRequired)
 
mtsInterfaceRequired * AddInterfaceRequiredUsingMailbox (const std::string &interfaceRequiredName, mtsMailBox *mailBox, mtsRequiredType required)
 
mtsInterfaceProvided * AddInterfaceProvidedUsingMailbox (const std::string &interfaceProvidedName, mtsMailBox *mailBox)
 
mtsInterfaceInput * AddInterfaceInputExisting (const std::string &interfaceInputName, mtsInterfaceInput *interfaceInput)
 
mtsInterfaceOutput * AddInterfaceOutputExisting (const std::string &interfaceOutputName, mtsInterfaceOutput *interfaceOutput)
 
void KillSeparateLogFile (void)
 
virtual bool WaitForState (mtsComponentState desiredState, double timeout)
 
size_t ProcessMailBoxes (InterfacesProvidedMapType &interfaces)
 
size_t ProcessQueuedCommands (void)
 
size_t ProcessQueuedEvents (void)
 
mtsInterfaceRequired * EnableDynamicComponentManagement (void)
 Enable support for dynamic component management services. More...
 
bool AddInterfaceInternal (const bool useMangerComponentServices=false)
 Add internal interfaces. More...
 
void InterfaceInternalCommands_GetEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
 
void InterfaceInternalCommands_AddObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)
 
void InterfaceInternalCommands_RemoveEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
 
void InterfaceInternalCommands_RemoveObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)
 
void InterfaceInternalCommands_ComponentCreate (const mtsDescriptionComponent &componentDescription, bool &result)
 
void InterfaceInternalCommands_ComponentStartOther (const mtsComponentStatusControl &arg)
 
- Protected Attributes inherited from mtsCANBus
mtsInterfaceProvided * io
 The input/output interface. More...
 
mtsInterfaceProvided * ctl
 The control interface. More...
 
- Protected Attributes inherited from mtsComponent
std::string Name
 
mtsComponentState State
 
mtsInterfaceProvided * InterfaceProvidedToManager
 
bool UseSeparateLogFileFlag
 
cmnLogger::StreamBufType * LoDMultiplexerStreambuf
 
std::ofstream * LogFile
 
StateTableMapType StateTables
 
mtsManagerComponentServices * ManagerComponentServices
 
mtsFunctionWrite EventGeneratorChangeState
 
bool ReplayMode
 
InterfacesProvidedMapType InterfacesProvided
 
InterfacesOutputMapType InterfacesOutput
 
InterfacesRequiredMapType InterfacesRequired
 
InterfacesInputMapType InterfacesInput
 
- Protected Attributes inherited from osaCANBus
osaCANBus::Rate rate
 The rate of the device. More...
 
osaCANBus::Loopback loopback
 

Detailed Description

A RTSocketCAN device wrapped with MTS interfaces.

This class combines the MTS CAN interfaces to osaRTSocketCAN. It simply derives from both osaRTSocketCAN and mtsCAN

Constructor & Destructor Documentation

mtsRTSocketCAN::mtsRTSocketCAN ( const std::string &  cmpname,
const std::string &  canname,
osaCANBus::Rate  rate,
osaCANBus::Loopback  loopback = osaCANBus::LOOPBACK_OFF 
)
inline

Main constructor.

Parameters
cmpnameMTS component name
cannameThe name of the RT Socket CAN device (rtcan0, rtcan1, ... )
rateThe CAN rate of the device
loopbackSpecify if the device is operating in loopback mode

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