if (!pdpCommon->connected) {
epicsMutexMustLock(pport->synchronousLock);
status = pasynCommon->connect(drvPvt,pasynUser);
epicsMutexUnlock(pport->synchronousLock);
}
if(status!=asynSuccess) {
asynPrint(pasynUser,ASYN_TRACE_ERROR,
"%s %s %d autoConnect could not connect\n",
pasynUser->errorMessage,pport->portName,addr);
}
So the fact that there’s nothing printed between the time and the port name implies that the USBTMC connect method is returning a value other than asynSuccess but is not filling in an error message.
I had a look through drvAsynUSBTMC.c and can see no place that its connect method returns asynError without filling a value into pasynUser->errorMessage.
What version of ASYN are you using?
Mark, any idea what’s going on here?
I tried the command you suggested. Here is the output when running the IOC.
usbtmcConfigure("U0", 0x05E6, 0x2230, "", 0, 0)
Will connect to first USB TMC device found with vendor ID 0x05e6 and product ID 0x2230.
2019/07/17 12:53:34.209 U0 -1 autoConnect could not connect