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

#include <mtsLoPoMoCo.h>

Inheritance diagram for mtsLoPoMoCo:
mtsComponent cmnGenericObject

Public Types

enum  { NB_AXIS = 4 }
 
- Public Types inherited from mtsComponent
typedef mtsComponent ThisType
 

Public Member Functions

 mtsLoPoMoCo (const std::string &deviceName, unsigned int numberOfBoards)
 
virtual ~mtsLoPoMoCo ()
 
virtual void Configure (const std::string &filename)
 
- 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 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)
 
mtsInterfaceProvidedAddInterfaceProvided (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY)
 
virtual mtsInterfaceProvidedAddInterfaceProvidedWithoutSystemEvents (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY, bool isProxy=false)
 
CISST_DEPRECATED
mtsInterfaceProvided
AddProvidedInterface (const std::string &interfaceProvidedName)
 
virtual mtsInterfaceOutputAddInterfaceOutput (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
 
mtsInterfaceProvidedGetInterfaceProvided (const std::string &interfaceProvidedName) const
 
mtsInterfaceOutputGetInterfaceOutput (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)
 
mtsInterfaceRequiredAddInterfaceRequired (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
 
virtual mtsInterfaceRequiredAddInterfaceRequiredWithoutSystemEventHandlers (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
 
CISST_DEPRECATED
mtsInterfaceRequired
AddRequiredInterface (const std::string &requiredInterfaceName)
 
virtual mtsInterfaceInputAddInterfaceInput (const std::string &interfaceInputName)
 
const mtsInterfaceProvidedGetInterfaceProvidedFor (const std::string &interfaceRequiredName)
 
mtsInterfaceRequiredGetInterfaceRequired (const std::string &interfaceRequiredName)
 
mtsInterfaceInputGetInterfaceInput (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 mtsManagerComponentServicesGetManagerComponentServices (void) const
 
mtsManagerComponentServicesGetManagerComponentServices (void)
 
mtsStateTableGetStateTable (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::StreamBufTypeGetLogMultiplexer (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 mtsComponentStateGetState (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
 

Protected Member Functions

void LatchEncoders (void)
 
void StartMotorCurrentConv (void)
 
void StartPotFeedbackConv (void)
 
void StartPotFeedbackConvFast (void)
 
void EnableAll (void)
 
void DisableAll (void)
 
void GetPositions (mtsLongVec &Positions) const
 
void GetVelocities (mtsShortVec &Velocities) const
 
void GetMotorCurrents (mtsShortVec &MotorCurrents) const
 
void GetPotFeedbacks (mtsShortVec &PotFeedbacks) const
 
void SetMotorVoltages (const mtsShortVec &MotorVoltages)
 
void SetCurrentLimits (const mtsShortVec &CurrentLimits)
 
void SetPositions (const mtsLongVec &Positions)
 
void LoadMotorVoltages (void)
 
void LoadCurrentLimits (void)
 
void LoadMotorVoltagesCurrentLimits (void)
 
void FrequencyToRPS (const mtsShortVec &fromData, mtsDoubleVec &toData) const
 
void ADCToMotorCurrents (const mtsShortVec &fromData, mtsDoubleVec &toData) const
 
void ADCToPotFeedbacks (const mtsShortVec &fromData, mtsVector< double > &toData) const
 
void MotorVoltagesToDAC (const mtsDoubleVec &fromData, mtsShortVec &toData) const
 
void CurrentLimitsToDAC (const mtsDoubleVec &fromData, mtsShortVec &toData) const
 
void Enable (const mtsShort &axisIndex)
 
void Disable (const mtsShort &axisIndex)
 
void ResetEncoders (const mtsShort &axisIndex)
 
void SetDigitalOutput (const mtsIntVec &DigitalOutput)
 
void GetDigitalInput (mtsIntVec &DigitalInput) const
 
void GetLatchedIndex (mtsShortVec &latchedIndex) const
 
- Protected Member Functions inherited from mtsComponent
 mtsComponent (void)
 
 mtsComponent (const mtsComponent &other)
 
void Initialize (void)
 
mtsInterfaceRequiredAddInterfaceRequiredExisting (const std::string &interfaceRequiredName, mtsInterfaceRequired *interfaceRequired)
 
mtsInterfaceRequiredAddInterfaceRequiredUsingMailbox (const std::string &interfaceRequiredName, mtsMailBox *mailBox, mtsRequiredType required)
 
mtsInterfaceProvidedAddInterfaceProvidedUsingMailbox (const std::string &interfaceProvidedName, mtsMailBox *mailBox)
 
mtsInterfaceInputAddInterfaceInputExisting (const std::string &interfaceInputName, mtsInterfaceInput *interfaceInput)
 
mtsInterfaceOutputAddInterfaceOutputExisting (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)
 
mtsInterfaceRequiredEnableDynamicComponentManagement (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)
 

Additional Inherited Members

- 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 Attributes inherited from mtsComponent
std::string Name
 
mtsComponentState State
 
mtsInterfaceProvidedInterfaceProvidedToManager
 
bool UseSeparateLogFileFlag
 
cmnLogger::StreamBufTypeLoDMultiplexerStreambuf
 
std::ofstream * LogFile
 
StateTableMapType StateTables
 
mtsManagerComponentServicesManagerComponentServices
 
mtsFunctionWrite EventGeneratorChangeState
 
bool ReplayMode
 
InterfacesProvidedMapType InterfacesProvided
 
InterfacesOutputMapType InterfacesOutput
 
InterfacesRequiredMapType InterfacesRequired
 
InterfacesInputMapType InterfacesInput
 

Detailed Description

A specific device class for the LoPoMoCo motion controller card.

Member Enumeration Documentation

anonymous enum

Number of axis per board

Enumerator
NB_AXIS 

Constructor & Destructor Documentation

mtsLoPoMoCo::mtsLoPoMoCo ( const std::string &  deviceName,
unsigned int  numberOfBoards 
)

Constructor. Prepares the maps.

virtual mtsLoPoMoCo::~mtsLoPoMoCo ( )
virtual

Default destructor. Disables motor power.

Member Function Documentation

void mtsLoPoMoCo::ADCToMotorCurrents ( const mtsShortVec fromData,
mtsDoubleVec toData 
) const
protected

Convert motor currents in ADC counts to mA. It is indexed by the string ADCToMotorCurrents in the QualifiedReadMap.

void mtsLoPoMoCo::ADCToPotFeedbacks ( const mtsShortVec fromData,
mtsVector< double > &  toData 
) const
protected

Convert pot feedback in ADC counts to V. It is indexed by the string ADCToPotFeedbacks in the QualifiedReadMap.

virtual void mtsLoPoMoCo::Configure ( const std::string &  filename)
virtual

Configure takes the top level configuration file which points to the configuration file for each board.

Reimplemented from mtsComponent.

void mtsLoPoMoCo::CurrentLimitsToDAC ( const mtsDoubleVec fromData,
mtsShortVec toData 
) const
protected

Convert currents limits in mA to DAC counts. It is indexed by the string CurrentLimitsToDAC in the QualifiedReadMap.

void mtsLoPoMoCo::Disable ( const mtsShort axisIndex)
protected

Disable the specified axis

void mtsLoPoMoCo::DisableAll ( void  )
protected

Disable all axes on this board

void mtsLoPoMoCo::Enable ( const mtsShort axisIndex)
protected

Enable the specified axis

void mtsLoPoMoCo::EnableAll ( void  )
protected

Enable all axis on this board

void mtsLoPoMoCo::FrequencyToRPS ( const mtsShortVec fromData,
mtsDoubleVec toData 
) const
protected

Convert encoder frequencies to revolutions per second. It is indexed by the string FrequencyToRPS in the QualifiedReadMap.

void mtsLoPoMoCo::GetDigitalInput ( mtsIntVec DigitalInput) const
protected
void mtsLoPoMoCo::GetLatchedIndex ( mtsShortVec latchedIndex) const
protected
void mtsLoPoMoCo::GetMotorCurrents ( mtsShortVec MotorCurrents) const
protected

Get the latest motor currents. Assumes that a conversion has been started using the void operation StartMotorCurrentConv. It is indexed by the string MotorCurrents in the ReadMap.

void mtsLoPoMoCo::GetPositions ( mtsLongVec Positions) const
protected

Get the latest encoder positions. Assumes that encoders are latched using the void operation LatchEncoders. It is indexed by the string Positions in the ReadMap.

void mtsLoPoMoCo::GetPotFeedbacks ( mtsShortVec PotFeedbacks) const
protected

Get the latest pot position. Assumes that a conversion has been started using the void operation StartPotFeedbackConv. It is indexed by the string PotFeedbacks in the ReadMap.

void mtsLoPoMoCo::GetVelocities ( mtsShortVec Velocities) const
protected

Get the velocity. Assumes that encoders are latched using the void operation LatchEncoders and that Encoders are read using GetPosition. It is indexed by the string Velocities in the ReadMap.

void mtsLoPoMoCo::LatchEncoders ( void  )
protected

Latch the encoder positions. It is indexed by the string LatchEncoders in the PreReadMap.

void mtsLoPoMoCo::LoadCurrentLimits ( void  )
protected

Load the current limits DAC buffer to actual analog output. It is indexed by the string LoadCurrentLimits in the VoidMap.

void mtsLoPoMoCo::LoadMotorVoltages ( void  )
protected

Load the motor voltage DAC buffer to actual analog output. It is indexed by the string LoadMotorVoltages in the VoidMap.

void mtsLoPoMoCo::LoadMotorVoltagesCurrentLimits ( void  )
protected

Load the motor voltages and current limits DAC buffer to actual analog output. It is indexed by the string LoadMotorVoltagesCurrentLimits in the VoidMap.

void mtsLoPoMoCo::MotorVoltagesToDAC ( const mtsDoubleVec fromData,
mtsShortVec toData 
) const
protected

Convert motor voltages in V to DAC counts. It is indexed by the string MotorVoltagesToDAC in the QualifiedReadMap.

void mtsLoPoMoCo::ResetEncoders ( const mtsShort axisIndex)
protected

Reset Encoder

void mtsLoPoMoCo::SetCurrentLimits ( const mtsShortVec CurrentLimits)
protected

Write current limits to the DAC buffer. Assumes that these would be loaded using the void operation LoadCurrentLimits or LoadMotorVoltagesCurrentLimits. It is indexed by the string CurrentLimits in the WriteMap.

void mtsLoPoMoCo::SetDigitalOutput ( const mtsIntVec DigitalOutput)
protected
void mtsLoPoMoCo::SetMotorVoltages ( const mtsShortVec MotorVoltages)
protected

Write motor votlages to the DAC buffer. Assumes that these would be loaded using the void operation LoadMotorVoltages or LoadMotorVoltagesCurrentLimits. It is indexed by the string MotorVoltages in the WriteMap.

void mtsLoPoMoCo::SetPositions ( const mtsLongVec Positions)
protected

Write the current positions to the encoder buffer. It is indexed by the string SetPositions in the WriteMap.

void mtsLoPoMoCo::StartMotorCurrentConv ( void  )
protected

Start conversion on ADC connected to current limits. It is indexed by the string StartMotorCurrentConv in the PreReadMap.

void mtsLoPoMoCo::StartPotFeedbackConv ( void  )
protected

Start conversion on ADC connected to pots. It is indexed by the string StartPotFeedbackConv in the PreReadMap.

void mtsLoPoMoCo::StartPotFeedbackConvFast ( void  )
protected

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