2023-06-07 19:49:07 +00:00
|
|
|
#pragma once
|
|
|
|
#include <uldaq.h>
|
|
|
|
#include <string>
|
|
|
|
#include "lasp_deviceinfo.h"
|
|
|
|
|
2023-06-09 08:43:04 +00:00
|
|
|
/** \addtogroup device
|
|
|
|
* @{
|
|
|
|
* \addtogroup uldaq
|
|
|
|
*/
|
2023-06-07 19:49:07 +00:00
|
|
|
/**
|
|
|
|
* @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<DeviceInfo> clone() const override {
|
|
|
|
DEBUGTRACE_ENTER;
|
|
|
|
return std::make_unique<UlDaqDeviceInfo>(*this);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief List of available sampling frequencies for DT9837A
|
|
|
|
*/
|
|
|
|
const std::vector<d> ULDAQ_SAMPLERATES = {8000, 10000, 11025, 16000, 20000,
|
|
|
|
22050, 24000, 32000, 44056, 44100,
|
|
|
|
47250, 48000, 50000, 50400, 51000};
|
|
|
|
|
|
|
|
|
2023-06-09 08:43:04 +00:00
|
|
|
/** @} */
|
|
|
|
/** @} */
|