Motion Master
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
VirtualDevice Class Referenceabstract

#include <virtual_device.h>

Inheritance diagram for VirtualDevice:
Inheritance graph
[legend]

Public Types

enum class  Protocol { kUnspecified = 0 , kMock , kEcat , kSerial }
 
enum class  Type { kUnspecified = 0 , kCia402Drive , kDigitalIo }
 

Public Member Functions

virtual ~VirtualDevice ()=default
 
virtual uint16_t get_device_id () const =0
 Get the device ID. More...
 
virtual uint16_t get_hardware_id () const =0
 Get the hardware ID. More...
 
virtual Protocol get_protocol () const
 Get the protocol the device uses. More...
 
virtual Type get_device_type () const
 Get the device type. More...
 
virtual std::list< VirtualParameter * > get_all_virtual_parameters ()=0
 Get all available configuration parameters on the virtual device. More...
 
virtual VirtualParameterget_virtual_parameter (uint16_t index, uint8_t subindex)=0
 Get a configuration parameter. More...
 
virtual std::variant< MotionMasterError, std::list< std::string > > get_file_list ()=0
 Get the list of available files on the device. More...
 
virtual std::variant< MotionMasterError, std::vector< uint8_t > > read_file (const std::string &file_name)=0
 Get the file content from a file from the flash memory. More...
 
virtual MotionMasterError write_file (const std::string &file_name, const std::vector< uint8_t > &content, std::function< void(uint8_t)> progress_callback)=0
 Write the file to the flash memory. More...
 
virtual MotionMasterError remove_file (const std::string &file_name)=0
 Remove the file from the flash memory. More...
 
virtual bool is_operational () const =0
 Check if the device is operational. More...
 

Static Public Attributes

static const std::map< std::pair< uint32_t, uint32_t >, Typedevice_type_map_
 

Member Enumeration Documentation

◆ Protocol

enum class VirtualDevice::Protocol
strong
Enumerator
kUnspecified 
kMock 
kEcat 
kSerial 

◆ Type

enum class VirtualDevice::Type
strong
Enumerator
kUnspecified 
kCia402Drive 
kDigitalIo 

Constructor & Destructor Documentation

◆ ~VirtualDevice()

virtual VirtualDevice::~VirtualDevice ( )
virtualdefault

Member Function Documentation

◆ get_all_virtual_parameters()

virtual std::list< VirtualParameter * > VirtualDevice::get_all_virtual_parameters ( )
pure virtual

Get all available configuration parameters on the virtual device.

Returns
a list of pointers to all available configuration parameters

Implemented in EthercatSlave, MockSlave, and SoemSlave.

◆ get_device_id()

virtual uint16_t VirtualDevice::get_device_id ( ) const
pure virtual

Get the device ID.

Returns
the device ID

Implemented in EthercatSlave, MockSlave, and SoemSlave.

◆ get_device_type()

virtual Type VirtualDevice::get_device_type ( ) const
inlinevirtual

Get the device type.

Returns
Type enum

Reimplemented in EthercatSlave, MockSlave, and SoemSlave.

◆ get_file_list()

virtual std::variant< MotionMasterError, std::list< std::string > > VirtualDevice::get_file_list ( )
pure virtual

Get the list of available files on the device.

Returns
MotionMasterError or the list of available files on the device

Implemented in EthercatSlave, MockSlave, and SoemSlave.

◆ get_hardware_id()

virtual uint16_t VirtualDevice::get_hardware_id ( ) const
pure virtual

Get the hardware ID.

Returns
the hardware ID

Implemented in EthercatSlave, MockSlave, and SoemSlave.

◆ get_protocol()

virtual Protocol VirtualDevice::get_protocol ( ) const
inlinevirtual

Get the protocol the device uses.

Returns
Protocol enum

Reimplemented in EthercatSlave, and MockSlave.

◆ get_virtual_parameter()

virtual VirtualParameter * VirtualDevice::get_virtual_parameter ( uint16_t  index,
uint8_t  subindex 
)
pure virtual

Get a configuration parameter.

Parameters
indexconfiguration parameter index
subindexconfiguration parameter index
Returns
a pointer to a configuration parameter

Implemented in EthercatSlave, MockSlave, and SoemSlave.

◆ is_operational()

virtual bool VirtualDevice::is_operational ( ) const
pure virtual

Check if the device is operational.

Returns
true if operational, false otherwise

Implemented in EthercatSlave, MockSlave, and SoemSlave.

◆ read_file()

virtual std::variant< MotionMasterError, std::vector< uint8_t > > VirtualDevice::read_file ( const std::string &  file_name)
pure virtual

Get the file content from a file from the flash memory.

Parameters
file_namename of the file in the flash memory
Returns
MotionMasterError or file content

Implemented in EthercatSlave, MockSlave, and SoemSlave.

◆ remove_file()

virtual MotionMasterError VirtualDevice::remove_file ( const std::string &  file_name)
pure virtual

Remove the file from the flash memory.

Parameters
file_namename of the file in the flash memory
Returns
error

Implemented in EthercatSlave, MockSlave, and SoemSlave.

◆ write_file()

virtual MotionMasterError VirtualDevice::write_file ( const std::string &  file_name,
const std::vector< uint8_t > &  content,
std::function< void(uint8_t)>  progress_callback 
)
pure virtual

Write the file to the flash memory.

Parameters
file_namethe name of the file to be written
contentthe content of the file to be written
progress_callbackfunction to call for progress changes
Returns
error

Implemented in EthercatSlave, MockSlave, and SoemSlave.

Member Data Documentation

◆ device_type_map_

const std::map<std::pair<uint32_t, uint32_t>, Type> VirtualDevice::device_type_map_
inlinestatic
Initial value:
= {
#define SOMANET_INTEGRO_PRODUCT_CODE
Definition: virtual_device.h:14
#define SOMANET_CIRCULO_PRODUCT_CODE
Definition: virtual_device.h:12
#define SYNAPTICON_VENDOR_ID
Definition: virtual_device.h:10
#define SOMANET_CIRCULO_SMM_PRODUCT_CODE
Definition: virtual_device.h:13
#define SOMANET_NODE_PRODUCT_CODE
Definition: virtual_device.h:11
#define DIGITAL_IO_PRODUCT_CODE
Definition: virtual_device.h:15

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