|
ChimeraTK-DeviceAccess
03.18.00
|
Go to the documentation of this file.
14 std::shared_ptr<UioAccess> _uioAccess;
16 std::thread _interruptWaitingThread;
17 std::atomic<bool> _stopInterruptLoop{
false};
19 void waitForInterruptLoop(std::promise<void> subscriptionDonePromise);
23 UioBackend(std::string deviceName, std::string mapFileName);
27 std::string address, std::map<std::string, std::string> parameters);
36 void read(uint64_t bar, uint64_t address, int32_t* data,
size_t sizeInBytes)
override;
37 void write(uint64_t bar, uint64_t address, int32_t
const* data,
size_t sizeInBytes)
override;
std::string readDeviceInfo() override
Return a device information string containing hardware details like the firmware version number or th...
UioBackend(std::string deviceName, std::string mapFileName)
void read(uint64_t bar, uint64_t address, int32_t *data, size_t sizeInBytes) override
Read function to be implemented by backends.
bool barIndexValid(uint64_t bar) override
Function to be implemented by the backends.
std::future< void > activateSubscription(uint32_t interruptNumber, boost::shared_ptr< async::DomainImpl< std::nullptr_t >> asyncDomain) override
Activate/create the subscription for a given interrupt (for instance by starting the according interr...
void open() override
Open the device.
Base class for address-based device backends (e.g.
static boost::shared_ptr< DeviceBackend > createInstance(std::string address, std::map< std::string, std::string > parameters)
void write(uint64_t bar, uint64_t address, int32_t const *data, size_t sizeInBytes) override
Write function to be implemented by backends.
size_t minimumTransferAlignment([[maybe_unused]] uint64_t bar) const override
Determines the supported minimum alignment for any read/write requests.
boost::shared_ptr< async::DomainImpl< std::nullptr_t > > _asyncDomain
void closeImpl() override
All backends derrived from NumericAddressedBackend must implement closeImpl() instead of close.