#pragma once #include #include #include "lasp_deviceinfo.h" /** \addtogroup device * @{ * \addtogroup uldaq */ /** * @brief Throws an appropriate stream exception based on the UlError number. * The mapping is based on the error numbers as given in uldaq.h. There are a * log of errors definded here (109 in total). Except for some, we will map * most of them to a driver error. * * @param e The backend error code. */ void throwOnPossibleUlException(UlError err); /** * @brief Return a string corresponding to the UlDaq API error * * @param err error code * * @return Error string */ string getErrMsg(UlError err); /** * @brief Print error message to stderr * * @param errstr The string to print */ void showErr(UlError err); /** * @brief Get a string representation of the error * * @param errstr */ void showErr(std::string errstr); /** * @brief UlDaq-specific device information. Adds a copy of the underlying * DaqDeDaqDeviceDescriptor. */ class UlDaqDeviceInfo : public DeviceInfo { public: DaqDeviceDescriptor _uldaqDescriptor; virtual std::unique_ptr clone() const override { DEBUGTRACE_ENTER; return std::make_unique(*this); } }; /** * @brief List of available sampling frequencies for DT9837A */ const std::vector ULDAQ_SAMPLERATES = {8000, 10000, 11025, 16000, 20000, 22050, 24000, 32000, 44056, 44100, 47250, 48000, 50000, 50400, 51000}; /** @} */ /** @} */