Privacy and Security Notice

Archived Messages for CDEV@cebaf.gov: cdev 1.6.2 beta release and medm_cdev

cdev 1.6.2 beta release and medm_cdev

chen (chen@jlab.org)
Fri, 24 Apr 1998 13:24:36 -0400 (EDT)

--Cluster_of_Spiders_770_000
Content-Type: TEXT/plain; charset=us-ascii
Content-MD5: JTFgRmJfz+A12U1IhUEbQw==

Hi, all:

Cdev 1.6.2 is now available to public as a beta release. Along with
cdev 1.6.2, the first beta version of medm on cdev (medm_cdev) is
also available for evaluation. These two compressed release can be
found at ftp.jlab.org under pub/cdev(cdev_1.6.2.tar.gz, medm_cdev.tar.gz).
The release notes for cdev and readme file for medm_cdev are attatched.
If you find any problems and bug, please send us email at cdev@jlab.org.

#####################################################
Jie Chen
Thomas Jefferson National Accelerator Facility
12000, Jefferson Ave.
Newport News, VA 23606

(757)269-5046 (office) (757)269-5279 (fax)
chen@jlab.org
#####################################################

--Cluster_of_Spiders_770_000
Content-Type: TEXT/plain; name="release_notes.1.6.2"; charset=us-ascii; x-unix-mode=0644
Content-Description: release_notes.1.6.2
Content-MD5: nxgCsN2CK7r8OnhpOqdOBg==

This is the release notes for cdev version 1.6.2. For detailed information
on how to build and install cdev, please check README file and
documentation in the distribution.

1) Enhancements and bug fixes:

a) base (src distribution):

1) cdevData::addTag (char* tag) allows callers to add a new tag
to cdev tag table. The associated integer tag is assigned by the
cdev system.

2) cdev system can load a site configuration routine in the
beginning of the execution. The configuration allows different
site to perform some initialization to site specific control
systems. The configuration routine must start with
_cdev_site_config which is must be in a shared library called
cdevSiteConfig.so.

3) More status code has been added to cdev system.

CDEV_CONN_TIMEOUT
CDEV_BADIO
CDEV_OVERFLOW
CDEV_INCOMPLETE
CDEV_CBK_FINISHED
(This signals the end of multiple callbacks
or a monitor callback has been terminated.)
CDEV_PAUSED
CDEV_MSG_ERR

4) Applications can register timers with cdevSystem. The member
functions are:

cdevSystem.addTimer (cdevTimerHandler* handler,
const void* arg, double delay,
double interval);
cdevSystem.removeTimer (cdevTimerHandler* handler);
cdevSystem.removeTimer (int id);

5) Applications can use cdevRequestObject to talk to cdevDirectory
device. The following is a simple example:

cdevRequestObject* dirobj =
cdevRequestObject::attachPtr (``cdevDirectory'',
``queryMessages'');

cdevData out, result;

if (dirobj)

dirobj->send (out, result);

6) In the previous versions of cdev, a default service (ca) is
used when a device and message pair does not match any service
from ddl files. This behavior can be turned off by
using a new cdevSystem member function. The following is a
simple example:

cdevSystem& system = cdevSystem::defaultSystem ();

system.disableDefaultSvc (); // fall through service
// is turned off

......

system.enableDefaultSvc (); // fall through service is back on

7)Misc bug fixes.

b) extensions (cdevGenericServers)

1) A new cdev name server has been implemented. The name server
monitors all cdev servers and updates the status of servers to
interested clients. All monitor callbacks from clients to servers
will survive server up and downs.

2) A simpler and smaller cdevReactor library is used in place of
ACE library as the communication library.

3) A connection management has been added to cdevGenericServer
and Client using the new cdev name server.

5) Caller can use setCompletionCode (int) to transmitt the result
of server execution.

4) Bug fixes:

1) Server lockup.
2) Remove restriction on network data transfer size.
3) client poll() empties the event queue.


--Cluster_of_Spiders_770_000
Content-Type: TEXT/plain; name=README; charset=us-ascii; x-unix-mode=0644
Content-Description: README
Content-MD5: vM9L80PmQmQWjnzJP9ianw==

This is a beta release for medm_cdev which is a modified medm (version 2.3.3)
using cdev (1.6.2) instead of using channel access library.

1) Enhancements over medm:

a) medm_cdev uses cdev instead of channel access as network
communication layer. By doing so, it enables medm_cdev to display
and monitor data not only from channel access servers but also from
other network servers that have cdev interface.

b) medm_cdev used a free Motif 2d plotting widget in place of XRT
commercial widget. Currently one can compile and run on most
Unix platforms with Motif.

c) A bug which is related to the limit on the open file descriptors
has been fixed.

d) medm_cdev supports more flexible data monitoring/controlling scheme.
In the existing medm, one can only specify channel name to monitor.
Now in addition to the above, one can specify "device verb attribute"
to a display. For example: "cdev_ai0 get VAL" or "cdev_ai0
monitorOn VAL".

2) How to install:

medm_cdev can be installed in two ways.

1) You can unpack medm_cdev entirely in the epics distribution
under $EPICS/extensions/src. The take a look at a
medm_cdev/medm/Makefile.Unix and make sure all flags are correct.
Then typing gmake will do it. The medm_cdev will be installed
in $EPICS/extesions/$(ARCH)/bin.

2) You can unpack medm_cdev anywhere. In the top directory there
is a _makef which is a Makefile for people without the whole EPICS
distribution. Take look at a _makef and choose a correct operating
system, and type make -f _makef. The medm_cdev will be installed
in the same directory. The _makef is a quick hack for now.

Note: You may have to get EPICS license to run medm_cdev.

3) Currently medm_cdev has been compiled and tested on hpux09,
hpux10, solaris-2.x and Linux-2.0.x

3) How to use medm_cdev:

Complete documentation on medm can be found at
http://www.aps.anl.gov/asd/controls/epics/EpicsDocumentation/ExtensionsManuals/MEDM/MEDM.html#Contents.

The medm_cdev works with existing adl files created by existing
medm. In addition, the medm_cdev also allows one to use
"device verb attribute" to specify how to display an attribute.

4) Requirements for cdev services:

In order to use medm_cdev with a cdev service, the service has to
support message "get attribute".

--Cluster_of_Spiders_770_000--