46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
/* #define DEBUGTRACE_ENABLED */
|
|
#include "debugtrace.hpp"
|
|
#include "lasp_config.h"
|
|
|
|
#if LASP_HAS_ULDAQ == 1
|
|
#include "lasp_uldaq_common.h"
|
|
#include "lasp_daq.h"
|
|
|
|
string getErrMsg(UlError err) {
|
|
string errstr;
|
|
errstr.reserve(ERR_MSG_LEN);
|
|
char errmsg[ERR_MSG_LEN];
|
|
errstr = "UlDaq API Error: ";
|
|
ulGetErrMsg(err, errmsg);
|
|
errstr += errmsg;
|
|
return errstr;
|
|
}
|
|
void showErr(string errstr) {
|
|
std::cerr << "\b\n**************** UlDAQ backend error **********\n";
|
|
std::cerr << errstr << std::endl;
|
|
std::cerr << "***********************************************\n\n";
|
|
}
|
|
void showErr(UlError err) {
|
|
if (err != ERR_NO_ERROR)
|
|
showErr(getErrMsg(err));
|
|
}
|
|
|
|
|
|
void throwOnPossibleUlException(UlError err) {
|
|
if (err == ERR_NO_ERROR) {
|
|
return;
|
|
}
|
|
string errstr = getErrMsg(err);
|
|
showErr(errstr);
|
|
Daq::StreamStatus::StreamError serr;
|
|
if ((int)err == 18) {
|
|
serr = Daq::StreamStatus::StreamError::inputXRun;
|
|
} else if ((int)err == 19) {
|
|
serr = Daq::StreamStatus::StreamError::outputXRun;
|
|
} else {
|
|
serr = Daq::StreamStatus::StreamError::driverError;
|
|
}
|
|
|
|
throw Daq::StreamException(serr, errstr);
|
|
}
|
|
#endif |