|
| DecoratorBackend (std::string mapFileName) |
|
| DEFINE_VIRTUAL_FUNCTION_OVERRIDE_VTABLE (ExceptionDummy, getRegisterAccessor_impl, boost::shared_ptr< NDRegisterAccessor< T > >(const RegisterPath &, size_t, size_t, AccessModeFlags)) |
|
template<typename UserType > |
boost::shared_ptr< NDRegisterAccessor< UserType > > | getRegisterAccessor_impl (const RegisterPath ®isterPathName, size_t numberOfWords, size_t wordOffsetInRegister, AccessModeFlags flags) |
|
template<> |
boost::shared_ptr< NDRegisterAccessor< std::string > > | getRegisterAccessor_impl (const RegisterPath &, size_t, size_t, AccessModeFlags) |
|
| ExceptionDummy (std::string const &mapFileName, const std::string &dataConsistencyKeyDescriptor="") |
|
| DEFINE_VIRTUAL_FUNCTION_OVERRIDE_VTABLE (DummyBackendBase, getRegisterAccessor_impl, boost::shared_ptr< NDRegisterAccessor< T > >(const RegisterPath &, size_t, size_t, AccessModeFlags)) |
|
void | open () override |
| Open the device.
|
|
void | closeImpl () override |
| This closes the device, clears all internal registers, read-only settings and callback functions.
|
|
void | read (uint64_t bar, uint64_t address, int32_t *data, size_t sizeInBytes) override |
| Read function to be implemented by backends.
|
|
void | write (uint64_t bar, uint64_t address, int32_t const *data, size_t sizeInBytes) override |
| Write function to be implemented by backends.
|
|
void | triggerPush (RegisterPath path, VersionNumber v={}) |
| Function to trigger sending values for push-type variables.
|
|
size_t | getWriteOrder (const RegisterPath &path) |
| Function to obtain the write order number of a register.
|
|
size_t | getWriteCount (const RegisterPath &path) |
| Function to obtain the number of writes of a register since the creation of the backend.
|
|
void | activateAsyncRead () noexcept override |
| Activate asyncronous read for all transfer elements where AccessMode::wait_for_new_data is set.
|
|
void | setExceptionImpl () noexcept override |
| Function to be (optionally) implemented by backends if additional actions are needed when switching to the exception state.
|
|
bool | asyncReadActivated () |
| Function to test whether async read transfers are activated.
|
|
void | setValidity (RegisterPath path, DataValidity val) |
| Use decorator to overwrite returned data validity of individual (poll-type) variables.
|
|
DataValidity | getValidity (RegisterPath path) |
| Query map for overwritten data validities.
|
|
| DummyBackend (const std::string &mapFileName, const std::string &dataConsistencyKeyDescriptor="") |
|
| ~DummyBackend () override=default |
|
std::string | readDeviceInfo () override |
| Return a device information string containing hardware details like the firmware version number or the slot number used by the board.
|
|
DummyRegisterRawAccessor | getRawAccessor (const std::string &module, const std::string ®ister_name) |
| Get a raw accessor to the underlying memory with the convenience of using register names.
|
|
VersionNumber | triggerInterrupt (uint32_t interruptNumber) override |
| Simulate the arrival of an interrupt.
|
|
void | read (uint8_t bar, uint32_t address, int32_t *data, size_t sizeInBytes) final |
| You cannot override the read version with 32 bit address any more.
|
|
void | write (uint8_t bar, uint32_t address, int32_t const *data, size_t sizeInBytes) final |
| You cannot override the write version with 32 bit address any more.
|
|
| DummyBackendBase (std::string const &mapFileName, const std::string &dataConsistencyKeyDescriptor="") |
|
| ~DummyBackendBase () override=default |
|
size_t | minimumTransferAlignment (uint64_t bar) const override |
| Determines the supported minimum alignment for any read/write requests.
|
|
| DEFINE_VIRTUAL_FUNCTION_OVERRIDE_VTABLE (NumericAddressedBackend, getRegisterAccessor_impl, boost::shared_ptr< NDRegisterAccessor< T > >(const RegisterPath &, size_t, size_t, AccessModeFlags)) |
|
void | read (uint8_t bar, uint32_t address, int32_t *data, size_t sizeInBytes) final |
| You cannot override the read version with 32 bit address any more.
|
|
void | write (uint8_t bar, uint32_t address, int32_t const *data, size_t sizeInBytes) final |
| You cannot override the write version with 32 bit address any more.
|
|
bool | barIndexValid (uint64_t bar) override |
| All bars are valid in dummies.
|
|
std::map< uint64_t, size_t > | getBarSizesInBytesFromRegisterMapping () const |
| Determines the size of each bar because the DummyBackends allocate memory per bar.
|
|
template<typename UserType > |
boost::shared_ptr< NDRegisterAccessor< UserType > > | getRegisterAccessor_impl (const RegisterPath ®isterPathName, size_t numberOfWords, size_t wordOffsetInRegister, AccessModeFlags flags) |
| Specific override which allows to create "DUMMY_INTEERRUPT_X" accessors.
|
|
| NumericAddressedBackend (const std::string &mapFileName="", std::unique_ptr< NumericAddressedRegisterCatalogue > registerMapPointer=std::make_unique< NumericAddressedRegisterCatalogue >(), const std::string &dataConsistencyKeyDescriptor="") |
|
| ~NumericAddressedBackend () override=default |
|
virtual bool | canMergeRequests () const |
| Determines whether the backend supports merging of requests (read or write)
|
|
RegisterCatalogue | getRegisterCatalogue () const override |
| Return the register catalogue with detailed information on all registers.
|
|
MetadataCatalogue | getMetadataCatalogue () const override |
| Return the device metadata catalogue.
|
|
NumericAddressedRegisterInfo | getRegisterInfo (const RegisterPath ®isterPathName) |
| getRegisterInfo returns a NumericAddressedRegisterInfo object for the given register.
|
|
void | activateAsyncRead () noexcept override |
| Activate asyncronous read for all transfer elements where AccessMode::wait_for_new_data is set.
|
|
void | close () final |
| Deactivates all asynchronous accessors and calls closeImpl().
|
|
virtual std::future< void > | activateSubscription (uint32_t interruptNumber, boost::shared_ptr< async::DomainImpl< std::nullptr_t > > asyncDomain) |
| Activate/create the subscription for a given interrupt (for instance by starting the according interrupt handling thread).
|
|
void | setExceptionImpl () noexcept override |
| Turn off the internal variable which remembers that async is active.
|
|
template<typename BackendSpecificUserType > |
std::pair< BackendSpecificUserType, VersionNumber > | getAsyncDomainInitialValue (size_t asyncDomainId) |
| Get the initial value for a certain async::Domain.
|
|
bool | isOpen () override |
| Return whether a device has been opened or not.
|
|
bool | isConnected () final |
| Deprecated since 2022-03-03.
|
|
void | checkActiveException () final |
| Function to be called by backends when needing to check for an active exception.
|
|
void | setException (const std::string &message) noexcept final |
| Set the backend into an exception state.
|
|
bool | isFunctional () const noexcept final |
| Return whether a device is working as intended, usually this means it is opened and does not have any errors.
|
|
std::string | getActiveExceptionMessage () noexcept |
|
std::set< DeviceBackend::BackendID > | getInvolvedBackendIDs () override |
| Get the backend IDs of all involved backends.
|
|
virtual | ~DeviceBackend ()=default |
| Every virtual class needs a virtual desctructor.
|
|
template<typename UserType > |
boost::shared_ptr< NDRegisterAccessor< UserType > > | getRegisterAccessor (const RegisterPath ®isterPathName, size_t numberOfWords, size_t wordOffsetInRegister, AccessModeFlags flags) |
| Get a NDRegisterAccessor object from the register name.
|
|
| DEFINE_VIRTUAL_FUNCTION_TEMPLATE_VTABLE (getRegisterAccessor_impl, boost::shared_ptr< NDRegisterAccessor< T > >(const RegisterPath &, size_t, size_t, AccessModeFlags)) |
|
BackendID | getBackendID () |
| Get a unique ID for this backend instance.
|
|