Lely core libraries  1.9.2
lely::canopen::LoopDriver Class Reference

A CANopen driver running its own dedicated event loop in a separate thread. More...

#include <driver.hpp>

Inheritance diagram for lely::canopen::LoopDriver:
Collaboration diagram for lely::canopen::LoopDriver:

Data Structures

struct  Impl_
 The internal implementation of lely::canopen::LoopDriver. More...
 

Additional Inherited Members

- Public Member Functions inherited from lely::canopen::BasicDriver
 BasicDriver (aio::LoopBase &loop, aio::ExecutorBase &exec, BasicMaster &master, uint8_t id)
 Creates a new driver for a remote CANopen node and registers it with the master. More...
 
aio::LoopBase GetLoop () const noexcept
 Returns the event loop used to create promises and futures.
 
aio::ExecutorBase GetExecutor () const noexcept final override
 Returns the executor used to execute event handlers for this driver, including SDO confirmation functions.
 
uint8_t netid () const noexcept final override
 Returns the network-ID.
 
uint8_t id () const noexcept final override
 Returns the node-ID.
 
void Error ()
 Indicates the occurrence of an error event on the remote node and triggers the error handling process. More...
 
template<class T , class F >
void SubmitRead (uint16_t idx, uint8_t subidx, F &&con)
 Equivalent to SubmitRead(uint16_t idx, uint8_t subidx, F&& con, ::std::error_code& ec), except that it throws lely::canopen::SdoError on error.
 
template<class T , class F >
void SubmitRead (uint16_t idx, uint8_t subidx, F &&con, ::std::error_code &ec)
 Equivalent to SubmitRead(uint16_t idx, uint8_t subidx, F&& con, const Sdo::duration& timeout, ::std::error_code& ec), except that it uses the SDO timeout given by lely::canopen::BasicMaster::GetTimeout().
 
template<class T , class F >
void SubmitRead (uint16_t idx, uint8_t subidx, F &&con, const Sdo::duration &timeout)
 Equivalent to SubmitRead(uint16_t idx, uint8_t subidx, F&& con, const Sdo::duration& timeout, ::std::error_code& ec), except that it throws lely::canopen::SdoError on error.
 
template<class T , class F >
void SubmitRead (uint16_t idx, uint8_t subidx, F &&con, const Sdo::duration &timeout, ::std::error_code &ec)
 Queues an asynchronous read (SDO upload) operation. More...
 
template<class T , class F >
void SubmitWrite (uint16_t idx, uint8_t subidx, T &&value, F &&con)
 Equivalent to SubmitWrite(uint16_t idx, uint8_t subidx, T&& value, F&& con, ::std::error_code& ec), except that it throws lely::canopen::SdoError on error.
 
template<class T , class F >
void SubmitWrite (uint16_t idx, uint8_t subidx, T &&value, F &&con, ::std::error_code &ec)
 Equivalent to SubmitWrite(uint16_t idx, uint8_t subidx, T&& value, F&& con, const Sdo::duration& timeout, ::std::error_code& ec), except that it uses the SDO timeout given by lely::canopen::BasicMaster::GetTimeout().
 
template<class T , class F >
void SubmitWrite (uint16_t idx, uint8_t subidx, T &&value, F &&con, const Sdo::duration &timeout)
 Equivalent to SubmitWrite(uint16_t idx, uint8_t subidx, T&& value, F&& con, const Sdo::duration& timeout, ::std::error_code& ec), except that it throws lely::canopen::SdoError on error.
 
template<class T , class F >
void SubmitWrite (uint16_t idx, uint8_t subidx, T &&value, F &&con, const Sdo::duration &timeout, ::std::error_code &ec)
 Queues an asynchronous write (SDO download) operation. More...
 
template<class T >
aio::Future<::std::tuple<::std::error_code, T > > AsyncRead (uint16_t idx, uint8_t subidx)
 Equivalent to AsyncRead(uint16_t idx, uint8_t subidx, const Sdo::duration& timeout), except that it uses the SDO timeout given by lely::canopen::BasicMaster::GetTimeout().
 
template<class T >
aio::Future<::std::tuple<::std::error_code, T > > AsyncRead (uint16_t idx, uint8_t subidx, const Sdo::duration &timeout)
 Queues an asynchronous read (SDO upload) operation and returns a future. More...
 
template<class T >
aio::Future<::std::error_code > AsyncWrite (uint16_t idx, uint8_t subidx, T &&value)
 Equivalent to AsyncWrite(uint16_t idx, uint8_t subidx, T&& value, const Sdo::duration& timeout), except that it uses the SDO timeout given by lely::canopen::BasicMaster::GetTimeout().
 
template<class T >
aio::Future<::std::error_code > AsyncWrite (uint16_t idx, uint8_t subidx, T &&value, const Sdo::duration &timeout)
 Queues an asynchronous write (SDO download) operation and returns a future. More...
 
template<class T >
RunRead (uint16_t idx, uint8_t subidx)
 Equivalent to RunRead(uint16_t idx, uint8_t subidx, ::std::error_code& ec), except that it throws lely::canopen::SdoError on error.
 
template<class T >
RunRead (uint16_t idx, uint8_t subidx, ::std::error_code &ec)
 Equivalent to RunRead(uint16_t idx, uint8_t subidx, const Sdo::duration& timeout, ::std::error_code& ec), except that it uses the SDO timeout given by lely::canopen::BasicMaster::GetTimeout().
 
template<class T >
RunRead (uint16_t idx, uint8_t subidx, const Sdo::duration &timeout)
 Equivalent to RunRead(uint16_t idx, uint8_t subidx, const Sdo::duration& timeout, ::std::error_code& ec), except that it throws lely::canopen::SdoError on error.
 
template<class T >
RunRead (uint16_t idx, uint8_t subidx, const Sdo::duration &timeout, ::std::error_code &ec)
 Queues an asynchronous read (SDO upload) operation and runs the event loop until the operation is complete. More...
 
template<class T >
void RunWrite (uint16_t idx, uint8_t subidx, T &&value)
 Equivalent to RunWrite(uint16_t idx, uint8_t subidx, T&& value, ::std::error_code& ec), except that it throws lely::canopen::SdoError on error.
 
template<class T >
void RunWrite (uint16_t idx, uint8_t subidx, T &&value, ::std::error_code &ec)
 Equivalent to RunWrite(uint16_t idx, uint8_t subidx, T&& value, const Sdo::duration& timeout, ::std::error_code& ec), except that it uses the SDO timeout given by lely::canopen::BasicMaster::GetTimeout().
 
template<class T >
void RunWrite (uint16_t idx, uint8_t subidx, T &&value, const Sdo::duration &timeout)
 Equivalent to RunWrite(uint16_t idx, uint8_t subidx, T&& value, const Sdo::duration& timeout, ::std::error_code& ec), except that it throws lely::canopen::SdoError on error.
 
template<class T >
void RunWrite (uint16_t idx, uint8_t subidx, T &&value, const Sdo::duration &timeout, ::std::error_code &ec)
 Queues an asynchronous write (SDO download) operation and runs the event loop until the operation is complete. More...
 
template<class F >
void Post (F &&f)
 Schedules the specified Callable object for execution by the executor for this driver. More...
 
- Data Fields inherited from lely::canopen::BasicDriver
BasicMastermaster
 A reference to the master with which this driver is registered.
 

Detailed Description

A CANopen driver running its own dedicated event loop in a separate thread.

Definition at line 796 of file driver.hpp.


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