Experimental Physics and
| |||||||||||||||||
|
Mark, I added those environment variables, trace outputs, fixed a missing parenthesis in the original st.cmd, and then recompiled before running. I also disabled the firewall on this mac laptop, just in case that was causing problems. Here now is the output: #!../../bin/darwin-x86/ps365controlTest ########################################## # Setup Environment < envPaths epicsEnvSet("ARCH","darwin-x86") epicsEnvSet("IOC","iocps365controlTest") epicsEnvSet("TOP","/Users/fdfuller/src/EPICS/myapps/ps365control") epicsEnvSet("ASYN","/Users/fdfuller/src/EPICS/modules/asyn") epicsEnvSet("STREAM","/Users/fdfuller/src/EPICS/modules/streams") epicsEnvSet("EPICS_BASE","/Users/fdfuller/src/EPICS/base") epicsEnvSet "STREAM_PROTOCOL_PATH" "/Users/fdfuller/src/EPICS/myapps/ps365control/db" ########################################## # Allow PV prefixes and serial port name to be set from the environment epicsEnvSet "P" "ps365control" epicsEnvSet "R" "Test" epicsEnvSet "TTY" "/dev/cu.usbserial-FTWDR32T" ########################################## # Register all support components cd /Users/fdfuller/src/EPICS/myapps/ps365control dbLoadDatabase(dbd/ps365controlTest.dbd) ps365controlTest_registerRecordDeviceDriver(pdbbase) ########################################## # Set up ASYN ports drvAsynSerialPortConfigure("L0","/dev/cu.usbserial-FTWDR32T",0,0,0) #sets up a port L0 at $TTY (see above) #now we fill in the details of the port connection #9600/8/N/1 is the most typical serial port configuration asynSetOption("L0",0,"baud","9600") asynSetOption("L0",0,"bits","8") asynSetOption("L0",0,"parity","none") asynSetOption("L0",0,"stop","1") asynSetTraceIOMask("L0",0,2) asynSetTraceMask("L0",0,255) ########################################## ## Load record instances dbLoadRecords("db/devps365control.db","P=ps365control,R=Test,PORT=L0,A=0") ########################################## # Start EPICS cd /Users/fdfuller/src/EPICS/myapps/ps365control/iocBoot/iocps365controlTest iocInit Starting iocInit ############################################################################ ## EPICS R3.14.12.4 $Date: Mon 2013-12-16 15:51:45 -0600$ ## EPICS Base built Sep 21 2014 ############################################################################ 2014/12/11 09:46:01.492 L0 addr -1 queueRequest priority 0 not lockHolder 2014/12/11 09:46:01.493 L0 schedule queueRequest timeout 2014/12/11 09:46:01.493 asynManager::portThread port=L0 callback 2014/12/11 09:46:01.493 L0 addr -1 queueRequest priority 0 not lockHolder 2014/12/11 09:46:01.493 L0 schedule queueRequest timeout 2014/12/11 09:46:01.493 L0 addr -1 queueRequest priority 0 not lockHolder 2014/12/11 09:46:01.493 L0 schedule queueRequest timeout 2014/12/11 09:46:01.493 asynManager::portThread port=L0 callback 2014/12/11 09:46:01.493 /dev/cu.usbserial-FTWDR32T read. 2014/12/11 09:46:01.493 /dev/cu.usbserial-FTWDR32T read 0, return 1 2014/12/11 09:46:01.493 /dev/cu.usbserial-FTWDR32T write. 2014/12/11 09:46:01.493 /dev/cu.usbserial-FTWDR32T write 5 *IDN? cas warning: Configured TCP port was unavailable. cas warning: Using dynamically assigned TCP port 49730, cas warning: but now two or more servers share the same UDP port. cas warning: Depending on your IP kernel this server may not be cas warning: reachable with UDP unicast (a host's IP in EPICS_CA_ADDR_LIST) 2014/12/11 09:46:01.494 wrote 5 to /dev/cu.usbserial-FTWDR32T, return asynSuccess 2014/12/11 09:46:01.494 L0 wrote *IDN? 2014/12/11 09:46:01.494 L0 addr -1 queueRequest priority 0 from lockHolder 2014/12/11 09:46:01.494 L0 schedule queueRequest timeout 2014/12/11 09:46:01.494 asynManager::portThread port=L0 callback 2014/12/11 09:46:01.494 /dev/cu.usbserial-FTWDR32T read. iocRun: All initialization complete epics> 2014/12/11 09:46:02.489 /dev/cu.usbserial-FTWDR32T timeout handler. 2014/12/11 09:46:02.594 /dev/cu.usbserial-FTWDR32T read 0, return 1 2014/12/11 09:46:02.594534 L0 ps365controlTestIDN: No reply from device within 1000 ms 2014/12/11 09:46:02.595 asynManager::portThread port=L0 callback 2014/12/11 09:46:02.595 L0 addr -1 queueRequest priority 0 not lockHolder 2014/12/11 09:46:02.595 L0 schedule queueRequest timeout 2014/12/11 09:46:02.595 asynManager::portThread port=L0 callback 2014/12/11 09:46:02.595 /dev/cu.usbserial-FTWDR32T read. 2014/12/11 09:46:02.595 /dev/cu.usbserial-FTWDR32T read 0, return 1 2014/12/11 09:46:02.595 /dev/cu.usbserial-FTWDR32T write. 2014/12/11 09:46:02.595 /dev/cu.usbserial-FTWDR32T write 5 *IDN? 2014/12/11 09:46:02.595 wrote 5 to /dev/cu.usbserial-FTWDR32T, return asynSuccess 2014/12/11 09:46:02.595 L0 wrote *IDN? 2014/12/11 09:46:02.595 L0 addr -1 queueRequest priority 0 from lockHolder 2014/12/11 09:46:02.595 L0 schedule queueRequest timeout 2014/12/11 09:46:02.595 asynManager::portThread port=L0 callback 2014/12/11 09:46:02.595 /dev/cu.usbserial-FTWDR32T read. 2014/12/11 09:46:03.591 /dev/cu.usbserial-FTWDR32T timeout handler. 2014/12/11 09:46:03.695 /dev/cu.usbserial-FTWDR32T read 0, return 1 2014/12/11 09:46:03.695444 L0 ps365controlTestIDNwf: No reply from device within 1000 ms So the upshot is that it looks like it's doing something. The downside is: I don't know why it isn't receiving a response. As I said, if you manually send values to /dev/cu.usbserial-FTWDR32T, such as the *IDN? command that it's trying, you get a response. I tested other commands and full control is possible. Still reading this streamDevice documentation to figure out where I can add some communication timeout time. Not sure that's the issue anymore, now that I see this trace output. ~Franklin On Thu, Dec 11, 2014 at 3:37 AM, Mark Rivers <[email protected]> wrote: --------
| ||||||||||||||||
ANJ, 17 Dec 2015 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |