DynExp
Highly flexible laboratory automation for dynamically changing experiments.
HardwareAdapter.h File Reference

Implementation of DynExp hardware adapter objects. More...

Go to the source code of this file.

Classes

class  DynExp::HardwareAdapterParamsBase
 Parameter class for HardwareAdapterBase. More...
 
class  DynExp::HardwareAdapterConfiguratorBase
 Configurator class for HardwareAdapterBase. More...
 
class  DynExp::HardwareAdapterBase
 Defines the base class for a hardware adapter object. Hardware adapters describe interfaces/connections to physical hardware. More...
 
class  DynExp::SerialCommunicationException
 Defines an exception caused by a serial communication operation of a hardware adapter. More...
 
class  DynExp::SerialCommunicationHardwareAdapterParams
 Parameter class for SerialCommunicationHardwareAdapter. More...
 
class  DynExp::SerialCommunicationHardwareAdapterConfigurator
 Configurator class for SerialCommunicationHardwareAdapter. More...
 
class  DynExp::SerialCommunicationHardwareAdapter
 Defines a hardware adapter for serial communication. Logical const-ness: see declaration of class DynExp::Object. More...
 
struct  DynExp::SerialCommunicationHardwareAdapter::endl
 Type denoting the end of a line when piped to operator<<(endl) More...
 
class  DynExp::QSerialCommunicationHardwareAdapterParams
 Parameter class for QSerialCommunicationHardwareAdapter. More...
 
class  DynExp::QSerialCommunicationHardwareAdapterConfigurator
 Configurator class for QSerialCommunicationHardwareAdapter. More...
 
class  DynExp::QSerialCommunicationHardwareAdapterWorker
 Qt worker which performs actual serial communication hardware operations in a separate thread in order not to interfer with processor time used to update the user interface. All functions are inherently thead-safe since they are only called by the worker thread the respective instance of this class lives in. More...
 
class  DynExp::QSerialCommunicationHardwareAdapter
 SerialCommunicationHardwareAdapter is based on a Qt communication object (wrapped by QSerialCommunicationHardwareAdapterWorker) which cannot be shared between different threads. Instead, it lives in a DynExpCore's worker thread. QSerialCommunicationHardwareAdapter just pushes messages to it and allows the QSerialCommunicationHardwareAdapterWorker instance to communicate its state and data to the corresponding QSerialCommunicationHardwareAdapter instance. More...
 
class  DynExp::QSerialCommunicationHardwareAdapter::QSerialCommunicationHardwareAdapterWorkerOnlyType
 Allow exclusive access to some of QSerialCommunicationHardwareAdapter's private methods to QSerialCommunicationHardwareAdapterWorkerOnlyType. More...
 

Namespaces

 DynExp
 DynExp's main namespace contains the implementation of DynExp including classes to manage resources (DynExp objects like hardware adapters, instruments, and modules) as well as their dependencies and parameters.
 
 DynExpHardware
 DynExp's hardware namespace contains the implementation of DynExp hardware adapters which extend DynExp's core functionality in a modular way.
 

Typedefs

using DynExp::HardwareAdapterPtrType = std::shared_ptr< HardwareAdapterBase >
 Pointer type to store a hardware adapter (DynExp::HardwareAdapterBase) with. More...
 

Functions

template<typename HardwareAdapterT >
ConfiguratorBasePtrType DynExp::MakeHardwareAdapterConfig ()
 Factory function to generate a configurator for a specific hardware adapter type. More...
 
template<typename HardwareAdapterT >
HardwareAdapterPtrType DynExp::MakeHardwareAdapter (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Factory function to generate a hardware adapter of a specific type. More...
 

Detailed Description

Implementation of DynExp hardware adapter objects.

Definition in file HardwareAdapter.h.


Class Documentation

◆ DynExp::SerialCommunicationHardwareAdapter::endl

struct DynExp::SerialCommunicationHardwareAdapter::endl

Type denoting the end of a line when piped to operator<<(endl)

Definition at line 270 of file HardwareAdapter.h.