EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS-Arduino Serial Communication via Asyn-Stream Drivers
From: "Martin L. Smith" <[email protected]>
To: <[email protected]>
Date: Tue, 26 Jul 2016 06:06:08 -0500
Hi Hulusi,

It sounds like if you don't have the stream option for the DTYP field in VDCT
then stream may not be included in your dbd file which you loaded into VDCT to
start it.

Also looking at the IOC boot output:
If this command loaded properly and it appears that it did ...
dbLoadDatabase("../../dbd/helloWorldIOC.dbd",0,0)

Your IOC is probably being started from a directory other than /opt/epics/
so for the line:
dbLoadRecords("db/arduino.db","PORT='SERIALPORT'")
No such file or directory dbRead opening file db/arduino.db

This assumes that your IOC is currently in the EPICS top directory but I suspect
it is not. You can try changing this line to:
dbLoadRecords("../../db/arduino.db","PORT='SERIALPORT'")

and see if you get a different error message and that the IOC at least finds the
database file. Or you can add the line:
cd ${TOP}

right before dbLoadRecords("db/arduino.db","PORT='SERIALPORT'")

Also try un-commenting the line below in your st.cmd file as this is where
${TOP} will be defined at for your IOC.
#< envPaths


Marty


On 07/26/2016 03:32 AM, Hulusi Öz wrote:
I understand,sir and thank you for recommendation. However, the thing is that
whenever I try to make a simple example, the program can't read the database
file (just I wrote at the first message <No such file or directory dbRead
opening ..> .
You said that they don't come with EPICS BASE, then I try to make a simple
example which includes the same records but at this time both are digital. I
also try to write protocol file (arduino.proto) . That's OK so far.

In somehow, when I tend to write database file (.db) and direct the path of that
(.db) in the "st.cmd" file, I've got an error which says that Record initialised
not correctly..

I also tried to make the same example by using VDCT. In ai and ao records, I set
the DTYP as stream ( but, by default there is no option in VDCT). I've got the
same error .

However, when i say genaretes macros in VDCT (it put a script in .db file like
this (template { } )). At this time, I've got an error exactly the same as I
wrote the first message.

I thougt, the problem may be caused by PORT definitions,maybe the program can't
connect the data. But, I did the exactly same things in examples.

Thanks in advance..
Best Regards..

2016-07-26 0:29 GMT+03:00 Mark Rivers <[email protected]
<mailto:[email protected]>>:

    If you have a computer with a serial port (or USB to serial adapter) you can
    just connect pin 2 to pin 3 (loopback) and can write code that sends
    messages and receives messages over hardware.  Simple to set up, and it will
    get you going with real hardware.  You can use StreamDevice, the asynRecord,
    and other code for testing an experimenting.____

    __ __

    Mark____

    __ __

    __ __

    *From:*Hulusi Öz [mailto:[email protected] <mailto:[email protected]>]
    *Sent:* Monday, July 25, 2016 2:58 PM
    *To:* Mark Rivers; [email protected] <mailto:[email protected]>
    *Subject:* Re: EPICS-Arduino Serial Communication via Asyn-Stream Drivers____

    __ __

    How can i solve that problem ? Can I re-configure it with EPICS functionally
    ?____

    __ __

    Yes, I want to talk a real hardware. But, since I am new at this area, I
    thought, if I can do database stuff with arduino in terms of serial
    communication, I may handle with a real hardware.____

    I don't know what the things requires for Caen digitizier, the things may
    change from hardware to hardware. I mean, talking to arduino and Caen
    digitizer may not be the same stuff. But, I've just started at some point.____

    __ __

    Best Regards..____

    __ __

    2016-07-25 22:51 GMT+03:00 Mark Rivers <[email protected]
    <mailto:[email protected]>>:____

    The files arduino.db and /opt/epics/helloWorld/db/helloWorldIOC.db are some
    local files that were specific to the application in that Web page you
    found.  They don’t come with EPICS base.____

    ____

    What is it you would like to try before beginning to work with the Caen
    digitizer?  Talking to real hardware?____

    ____

    Mark____

    ____

    ____

    *From:*[email protected] <mailto:[email protected]>
    [mailto:[email protected]
    <mailto:[email protected]>] *On Behalf Of *Hulusi Öz
    *Sent:* Monday, July 25, 2016 2:44 PM
    *To:* [email protected] <mailto:[email protected]>
    *Subject:* EPICS-Arduino Serial Communication via Asyn-Stream Drivers____

    ____

    Hi Everyone,____

    ____

    I have just been dealing with EPICS and its applications since a few weeks.
    I've done basic things such as creating IOC, making MEDM
    display,communicating Octave and etc..And I've got help most of the time in
    this tech-talk.____

    ____

    I am now dealing with communication a device that is supported by EPICS. I
    have got a Digitizier which is manufactured by CAEN. But before I deal with
    that device, I want to figure out the database configuration in an
    application. Therefore, I research on the Internet and in this website. I
    found a quite basic example which is :____

    ____

    (/http://www.smolloy.com/2015/12/epics-serial-communication-with-arduino/)/.____

    ____

    I've just done the previous sections of this example,and also followed the
    steps in that link. However, when I run it I've got nothing. ____

    More specifically :____

    ____

    #!/opt/epics/helloWorldIOC/bin/linux-x86_64/helloWorldIOC____

    ## You may have to change helloWorldIOC to something else____

    ## everywhere it appears in this file____

    #< envPaths____

    epicsEnvSet(STREAM_PROTOCOL_PATH,"helloWorldIOCApp/Db")____

    ## Register all support components____

    dbLoadDatabase("../../dbd/helloWorldIOC.dbd",0,0)____

    helloWorldIOC_registerRecordDeviceDriver(pdbbase) ____

    drvAsynSerialPortConfigure("SERIALPORT","/dev/ttyACM0",0,0,0)____

    asynSetOption("SERIALPORT",-1,"baud","115200")____

    asynSetOption("SERIALPORT",-1,"bits","8")____

    asynSetOption("SERIALPORT",-1,"parity","none")____

    asynSetOption("SERIALPORT",-1,"stop","1")____

    asynSetOption("SERIALPORT",-1,"clocal","Y")____

    asynSetOption("SERIALPORT",-1,"crtscts","N")____

    dbLoadRecords("db/arduino.db","PORT='SERIALPORT'")____

    filename="../dbLexRoutines.c" line number=240____

    No such file or directory dbRead opening file db/arduino.db____

    ## Load record instances____

    dbLoadRecords("/opt/epics/helloWorld/db/helloWorldIOC.db","user=hulusi")____

    filename="../dbLexRoutines.c" line number=240____

    No such file or directory dbRead opening file
    /opt/epics/helloWorld/db/helloWorldIOC.db____

    iocInit()____

    Starting iocInit____

    ############################################################################____

    ## EPICS R3.14.12.4 $Date: Mon 2013-12-16 15:51:45 -0600$____

    ## EPICS Base built Jul 21 2016____

    ############################################################################____

    iocRun: All initialization complete____

    ## Start any sequence programs____

    #seq snchelloWorldIOC,"user=hulusi"____

    ____

    I guess, the problem is due to the colored line in this output. But I'm not
    sure that.____

    Is it so ? If it is like that, how can I figure it out ?____

    If it isn't like that, what does the thing cause this problem ?____

    ____

    Thanks in advance..____

    Best regards..____

    ____

    Hulusi____

    __ __




References:
EPICS-Arduino Serial Communication via Asyn-Stream Drivers Hulusi Öz
RE: EPICS-Arduino Serial Communication via Asyn-Stream Drivers Mark Rivers
Re: EPICS-Arduino Serial Communication via Asyn-Stream Drivers Hulusi Öz
RE: EPICS-Arduino Serial Communication via Asyn-Stream Drivers Mark Rivers
Re: EPICS-Arduino Serial Communication via Asyn-Stream Drivers Hulusi Öz

Navigate by Date:
Prev: Re: EPICS-Arduino Serial Communication via Asyn-Stream Drivers Hulusi Öz
Next: Re: EpicsQT and Archiver Appliance rory.clarke
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS-Arduino Serial Communication via Asyn-Stream Drivers Hulusi Öz
Next: Re: EPICS-Arduino Serial Communication via Asyn-Stream Drivers Hulusi Öz
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 27 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·