Motion Master
Loading...
Searching...
No Matches
VirtualDevice Class Referenceabstract

#include <virtual_device.h>

Inheritance diagram for VirtualDevice:

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.
virtual uint16_t get_hardware_id () const =0
 Get the hardware ID.
virtual Protocol get_protocol () const
 Get the protocol the device uses.
virtual Type get_device_type () const
 Get the device type.
virtual std::list< VirtualParameter * > get_all_virtual_parameters ()=0
 Get all available configuration parameters on the virtual device.
virtual VirtualParameterget_virtual_parameter (uint16_t index, uint8_t subindex)=0
 Get a configuration parameter.
virtual std::variant< MotionMasterError, std::list< std::string > > get_file_list ()=0
 Get the list of available files on the device.
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.
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.
virtual MotionMasterError remove_file (const std::string &file_name)=0
 Remove the file from the flash memory.
virtual bool is_operational () const =0
 Check if the device is operational.

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 ( )
nodiscardpure virtual

Get all available configuration parameters on the virtual device.

Returns
a list of pointers to all available configuration parameters

Implemented in EthercatSlave, EthernetSlave, MockSlave, and SoemSlave.

◆ get_device_id()

virtual uint16_t VirtualDevice::get_device_id ( ) const
nodiscardpure virtual

Get the device ID.

Returns
the device ID

Implemented in EthercatSlave, EthernetSlave, MockSlave, and SoemSlave.

◆ get_device_type()

virtual Type VirtualDevice::get_device_type ( ) const
inlinenodiscardvirtual

Get the device type.

Returns
Type enum

Reimplemented in EthercatSlave, EthernetSlave, MockSlave, and SoemSlave.

◆ get_file_list()

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

Get the list of available files on the device.

Returns
MotionMasterError or the list of available files on the device

Implemented in EthercatSlave, EthernetSlave, MockSlave, and SoemSlave.

◆ get_hardware_id()

virtual uint16_t VirtualDevice::get_hardware_id ( ) const
nodiscardpure virtual

Get the hardware ID.

Returns
the hardware ID

Implemented in EthercatSlave, EthernetSlave, MockSlave, and SoemSlave.

◆ get_protocol()

virtual Protocol VirtualDevice::get_protocol ( ) const
inlinenodiscardvirtual

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 )
nodiscardpure virtual

Get a configuration parameter.

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

Implemented in EthercatSlave, EthernetSlave, MockSlave, and SoemSlave.

◆ is_operational()

virtual bool VirtualDevice::is_operational ( ) const
nodiscardpure virtual

Check if the device is operational.

Returns
true if operational, false otherwise

Implemented in EthercatSlave, EthernetSlave, MockSlave, and SoemSlave.

◆ read_file()

virtual std::variant< MotionMasterError, std::vector< uint8_t > > VirtualDevice::read_file ( const std::string & file_name)
nodiscardpure 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, EthernetSlave, 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, EthernetSlave, 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, EthernetSlave, 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:
= {
@ kDigitalIo
Definition virtual_device.h:24
@ kCia402Drive
Definition virtual_device.h:24
#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: