Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions adsApp/src/ADSPortDriver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -329,10 +329,11 @@ asynStatus ADSPortDriver::ADSConnect(asynUser *pasynUser) {
status = static_cast<asynStatus>(
adsConnection->resolve_variables(ads_read_vars));

if (status) {
if (status && lastReadError != status) {
LOG_ERR_ASYN(pasynUser,
"Could not resolve ADS read variable names (%i): %s",
status, ads_errors[status].c_str());
lastReadError = status;
return status;
}
}
Expand All @@ -341,11 +342,11 @@ asynStatus ADSPortDriver::ADSConnect(asynUser *pasynUser) {
status = static_cast<asynStatus>(
adsConnection->resolve_variables(ads_write_vars));

if (status && lastError != status) {
if (status && lastWriteError != status) {
LOG_ERR_ASYN(pasynUser,
"Could not resolve ADS write variable names(%i): %s",
status, ads_errors[status].c_str());
lastError = status;
lastWriteError = status;
return status;
}
}
Expand All @@ -354,10 +355,11 @@ asynStatus ADSPortDriver::ADSConnect(asynUser *pasynUser) {

// initialize sum-read buffers
status = static_cast<asynStatus>(SumRead.initialize());
if (status) {
if (status && lastSumReadError != status) {
LOG_ERR_ASYN(pasynUser,
"Error initializing sum-read request buffers (%i): %s",
status, ads_errors[status].c_str());
lastSumReadError = status;
return status;
}

Expand Down
4 changes: 3 additions & 1 deletion adsApp/src/ADSPortDriver.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,9 @@ class ADSPortDriver : public Autoparam::Driver {
uint32_t const adsFunctionTimeout;
const std::shared_ptr<Connection> adsConnection;
const std::chrono::milliseconds sumReadPeriod;
long lastError;
long lastReadError;
long lastWriteError;
long lastSumReadError;

SumReadRequest SumRead;

Expand Down
8 changes: 4 additions & 4 deletions adsApp/src/err.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@
LOG_MSG_ASYN(asyn_user, ASYN_TRACE_ERROR, "ERROR", format, ##__VA_ARGS__)

#define LOG_WARN_ASYN(asyn_user, format, ...) \
LOG_MSG_ASYN(asyn_user, ASYN_TRACE_WARNING, "WARNING", format, ##__VA_ARGS__)
//LOG_MSG_ASYN(asyn_user, ASYN_TRACE_WARNING, "WARNING", format, ##__VA_ARGS__)

#define LOG_TRACE_ASYN(asyn_user, format, ...) \
LOG_MSG_ASYN(asyn_user, ASYN_TRACE_FLOW, "TRACE", format, ##__VA_ARGS__)
//LOG_MSG_ASYN(asyn_user, ASYN_TRACE_FLOW, "TRACE", format, ##__VA_ARGS__)

/* Error logging macros for use when asyn_user is not available */
#define LOG_MSG(log_level_str, format, ...) \
Expand All @@ -45,10 +45,10 @@
LOG_MSG("ERROR", format, ##__VA_ARGS__)

#define LOG_WARN(format, ...) \
LOG_MSG("WARNING", format, ##__VA_ARGS__)
//LOG_MSG("WARNING", format, ##__VA_ARGS__)

#define LOG_TRACE(format, ...) \
LOG_MSG("TRACE", format, ##__VA_ARGS__)
//LOG_MSG("TRACE", format, ##__VA_ARGS__)

/* EPICS ADS specific return codes */
#define EPICSADS_BASE 1000
Expand Down