Experimental Physics and
| |||||||||||||||||
|
Hi, I've been investigating an issue with the PMAC driver regarding reconnection via Ethernet. When the controller is powered off the IOC starts emitting messages like the following (as expected):2018/02/12 12:00:14.826 pmacController::lowLevelWriteRead: Error from pasynOctetSyncIO->writeRead. command: #2 ? F P 2018/02/12 12:00:14.826 drvPmacAxisGetStatus: not all status values returned. Status: 3 Command :#2 ? F P pasynOctetSyncIO->writeRead calls pasynManager->queueLockPort pasynManager->queueLockPort calls pasynManager->queueRequest queueRequest sets checkPortConnect = TRUE Since the port is disconnected, queueRequest returns an error https://github.com/epics-modules/asyn/blob/87e784335736de782980b7600bd7d6e42179511a/asyn/asynDriver/asynManager.c#L1505 If checkPortConnected was FALSE autoConnectDevice would be called later on and a new connection would be attempted. But for this particular call chain checkPortConnected is always set to TRUE. Now, since queueRequest fails a request is never queued and pasynManager->portThread's autoConnectDevice is also not reached. So my question is how to properly configure/trigger an auto connect? PS.: I found this old thread that might be related: https://epics.anl.gov/tech-talk/2012/msg01216.php Thanks! Bruno
| ||||||||||||||||
ANJ, 12 Feb 2018 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |