Skip to content
Snippets Groups Projects
Commit 396249f8 authored by Sylvain Dupuy's avatar Sylvain Dupuy
Browse files

initial import

parent 4d16a66b
Branches
Tags
No related merge requests found
Showing
with 4617 additions and 0 deletions
README 0 → 100644
//-============================================================
//
// This class has been generated by POGO
// (Program Obviously used to Generate tango Object)
//
// (c) - Software Engineering Group - ESRF
//=============================================================
Files generated:
===============
SingleShotDIO.cpp: Source code for the SingleShotDIO class and its commands.
This class is derived from DeviceImpl_2 class.
It represents the CORBA servant obbject which
will be accessed from the network.
All commands which can be executed on the
SingleShotDIO are implemented in this file.
SingleShotDIO.h: Include for the SingleShotDIO class.
Server class prototypes and descriptions.
SingleShotDIOClass.cpp: A singleton class derived fromSingleShotDIO.
It implements the command list and all properties
and methods required by the SingleShotDIO once per process
SingleShotDIOClass.h: Include for the SingleShotDIOClass root class.
This class is represents the singleton class for
the SingleShotDIO device class.
It contains all properties and methods which the
SingleShotDIO requires only once e.g. the commands.
main.cpp: C++ source for a TANGO device server main.
The main rule is to initialise (and create) the Tango
system and to create the DServerClass singleton.
The main should be the same for every Tango device server.
ClassFactory.cpp: C++ source for the class_factory method of the DServer
device class. This method is responsible to create
all class singletin for a device server. It is called
at device server startup
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<table width="100%" height="20%"><tr>
<td align=LEFT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Synchrotron </FONT></FONT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Soleil</FONT></FONT>
<H5>Saint-Aubin - BP 48 91192 GIF-sur-YVETTE CEDEX<BR>
</td><td>
<A href="http://www.synchrotron-soleil.fr/">
<IMG SRC="http://controle/images/logo-150.gif"
ALT="SOLEIL Logo" ALIGN=RIGHT border="0"></A>
</td></tr></table>
<HR WIDTH="100%"></H5>
<Br>
<center>
<h1>
SingleShotDIOProject<Br>
Device Attributes Description
</h1>
<Br>
<b>
Revision: - Author:
</b>
</center>
<Br>
<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td COLSPAN=4> <Font Size=+2><Center><b>Scalar Attributes</b></td></Font></Center>
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td><Center><b>Attribute name</b></td></Center>
<Td><Center><b>Data Type</b></td></Center>
<Td><Center><b>R/W Type</b></td></Center>
<Td><Center><b>Expert</b></td></Center>
<Tr><Td><b><Center>PA</b><Br>( a 8-bit port , only input for DIO_o board , in/output for DIO board )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ_WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>PB</b><Br>( a 8-bit port, only input for DIO_o board , in/output for DIO board )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ_WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>PC</b><Br>( a 8-bit port, only input for DIO_o board , in/output for DIO board )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ_WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>PD</b><Br>( a 8-bit port, only input for DIO_o board , in/output for DIO board )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ_WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>PE</b><Br>( a 8-bit port, only output for DIO_o board , in/output for DIO board )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ_WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>PF</b><Br>( a 8-bit port, only output for DIO_o board , in/output for DIO board )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ_WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>PG</b><Br>( a 8-bit port, only output for DIO_o board , not valuable for DIO board )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ_WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>PH</b><Br>( a 8-bit port, only output for DIO_o board, not valuable for DIO board )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ_WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
</Table>
</Center>
<Br><Br><Br><Br><Br>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3>(c) SOLEIL : Groupe ICA Contrle et Acquisitions </H33>
</Center>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<table width="100%" height="20%"><tr>
<td align=LEFT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Synchrotron </FONT></FONT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Soleil</FONT></FONT>
<H5>Saint-Aubin - BP 48 91192 GIF-sur-YVETTE CEDEX<BR>
</td><td>
<A href="http://www.synchrotron-soleil.fr/">
<IMG SRC="http://controle/images/logo-150.gif"
ALT="SOLEIL Logo" ALIGN=RIGHT border="0"></A>
</td></tr></table>
<HR WIDTH="100%"></H5>
<Br>
<center>
<h1>
SingleShotDIOProject<Br>
Device Description
</h1>
<Br>
<b>
Revision: - Author:
</b>
</center>
<Center>
<Br>
<Br>
<Br>
<Br>
<Br>
<Br>
This Page Must Be Filled by <Br>
The Programmer
</Center>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3>(c) SOLEIL : Groupe ICA Contrle et Acquisitions </H33>
</Center>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<table width="100%" height="20%"><tr>
<td align=LEFT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Synchrotron </FONT></FONT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Soleil</FONT></FONT>
<H5>Saint-Aubin - BP 48 91192 GIF-sur-YVETTE CEDEX<BR>
</td><td>
<A href="http://www.synchrotron-soleil.fr/">
<IMG SRC="http://controle/images/logo-150.gif"
ALT="SOLEIL Logo" ALIGN=RIGHT border="0"></A>
</td></tr></table>
<HR WIDTH="100%"></H5>
<Br>
<center>
<h1>
SingleShotDIOProject<Br>
Device Commands Description
</h1>
<Br>
<b>
Revision: - Author:
</b>
</center>
<Br>
<Br>
<Br>
<A NAME="Init"><!-- --></A>
<A NAME="Init"><!-- --></A>
<h2>1 - Init</h2>
<ul>
<Li><Strong>Description: </Strong> This commands re-initialise a device keeping the same network connection.<Br>
After an Init command executed on a device, it is not necessary for client to re-connect to the device.<Br>
This command first calls the device <i> delete_device() </i>method and then execute its <i> init_device()</i> method.<Br>
For C++ device server, all the memory allocated in the <i> nit_device() </i> method must be freed in the <i> delete_device() </i> method.<Br>
The language device desctructor automatically calls the <i> delete_device() </i> method.<Br>&nbsp
<Li><Strong>Argin:<Br>DEV_VOID</Strong>
: none.<Br>&nbsp
<Li><Strong>Argout:<Br>DEV_VOID</Strong>
: none.<Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="State"><!-- --></A>
<A NAME="State"><!-- --></A>
<h2>2 - State</h2>
<ul>
<Li><Strong>Description: </Strong> This command gets the device state (stored in its <i>device_state</i> data member) and returns it to the caller.<Br>&nbsp
<Li><Strong>Argin:<Br>DEV_VOID</Strong>
: none.<Br>&nbsp
<Li><Strong>Argout:<Br>DEV_STATE</Strong>
: State Code<Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="Status"><!-- --></A>
<A NAME="Status"><!-- --></A>
<h2>3 - Status</h2>
<ul>
<Li><Strong>Description: </Strong> This command gets the device status (stored in its <i>device_status</i> data member) and returns it to the caller.<Br>&nbsp
<Li><Strong>Argin:<Br>DEV_VOID</Strong>
: none.<Br>&nbsp
<Li><Strong>Argout:<Br>CONST_DEV_STRING</Strong>
: Status descrition<Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="ReadLine"><!-- --></A>
<A NAME="ReadLine"><!-- --></A>
<h2>4 - ReadLine</h2>
<ul>
<Li><Strong>Description: </Strong> Read the current value of the specified line of a port.<Br>&nbsp
<Li><Strong>Argin:<Br>CONST_DEV_STRING</Strong>
: The line to read ,from Px0 to Px7)<Br>&nbsp
<Li><Strong>Argout:<Br>DEV_BOOLEAN</Strong>
: The state of the line<Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="SetLine"><!-- --></A>
<A NAME="SetLine"><!-- --></A>
<h2>5 - SetLine</h2>
<ul>
<Li><Strong>Description: </Strong> Set the specified line (put it in high state).<Br>&nbsp
<Li><Strong>Argin:<Br>CONST_DEV_STRING</Strong>
: The line to set ,Px0 to Px7)<Br>&nbsp
<Li><Strong>Argout:<Br>DEV_VOID</Strong>
: <Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="ResetLine"><!-- --></A>
<A NAME="ResetLine"><!-- --></A>
<h2>6 - ResetLine</h2>
<ul>
<Li><Strong>Description: </Strong> Reset the specified line (put it in low state).<Br>&nbsp
<Li><Strong>Argin:<Br>CONST_DEV_STRING</Strong>
: The line to reset ,from Px0 to Px7)<Br>&nbsp
<Li><Strong>Argout:<Br>DEV_VOID</Strong>
: <Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="ReadPort"><!-- --></A>
<A NAME="ReadPort"><!-- --></A>
<h2>7 - ReadPort</h2>
<ul>
<Li><Strong>Description: </Strong> Read the current state of the specified port.<Br>&nbsp
<Li><Strong>Argin:<Br>CONST_DEV_STRING</Strong>
: The port to read ,PA to PD for DIO_o and PA to PF for DIO)<Br>&nbsp
<Li><Strong>Argout:<Br>DEV_SHORT</Strong>
: The current state of the port ,8-bit value)<Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="WritePort"><!-- --></A>
<A NAME="WritePort"><!-- --></A>
<h2>8 - WritePort</h2>
<ul>
<Li><Strong>Description: </Strong> Write the specified value to the specified port.<Br>&nbsp
<Li><Strong>Argin:<Br>DEVVAR_LONGSTRINGARRAY</Strong>
: The port to write ,PE to PH for DIO_o and PA to PF for DIO), and the value to write ,8-bit)<Br>&nbsp
<Li><Strong>Argout:<Br>DEV_VOID</Strong>
: <Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3>(c) SOLEIL : Groupe ICA Contrôle et Acquisitions </H33>
</Center>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<FRAMESET cols="20%,80%">
<FRAME src="DevCommandsList.html" name="DevCommandsList">
<FRAME src="DevCommands.html" name="DevCommands">
</FRAMESET>
<NOFRAMES>
<H2>
Frame Alert</H2>
<P>
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
<BR>
Link to <A HREF="DevCommands.html">Non-frame version.</A></NOFRAMES>
</HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML><HEAD>
<TITLE>Commands
</TITLE></HEAD>
<BODY BGCOLOR="white">
<FONT size="+1" ID="FrameHeadingFont">
<B>Commands:</B></FONT>
<Br>
<Br>
<Br>
<A Href="DevCommands.html#Init" TARGET="DevCommands"> Init</a><Br>
<A Href="DevCommands.html#State" TARGET="DevCommands"> State</a><Br>
<A Href="DevCommands.html#Status" TARGET="DevCommands"> Status</a><Br>
<A Href="DevCommands.html#ReadLine" TARGET="DevCommands"> ReadLine</a><Br>
<A Href="DevCommands.html#SetLine" TARGET="DevCommands"> SetLine</a><Br>
<A Href="DevCommands.html#ResetLine" TARGET="DevCommands"> ResetLine</a><Br>
<A Href="DevCommands.html#ReadPort" TARGET="DevCommands"> ReadPort</a><Br>
<A Href="DevCommands.html#WritePort" TARGET="DevCommands"> WritePort</a><Br>
</BODY>
</HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<table width="100%" height="20%"><tr>
<td align=LEFT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Synchrotron </FONT></FONT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Soleil</FONT></FONT>
<H5>Saint-Aubin - BP 48 91192 GIF-sur-YVETTE CEDEX<BR>
</td><td>
<A href="http://www.synchrotron-soleil.fr/">
<IMG SRC="http://controle/images/logo-150.gif"
ALT="SOLEIL Logo" ALIGN=RIGHT border="0"></A>
</td></tr></table>
<HR WIDTH="100%"></H5>
<Br>
<center>
<h1>
SingleShotDIOProject<Br>
Device Commands Description
</h1>
<Br>
<b>
Revision: - Author:
</b>
</center>
<Center>
<Br><Br>
<A Href="DevCommandsFrame.html"> More Details on commands.... </a><Br>
<Br> <Br>
<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td COLSPAN=3> <Font Size=+2><Center><b>Device Commands for Operator Level</b></td></Font></Center>
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td><Center><b>Command name</b></td></Center>
<Td><Center><b>Argument In</b></td></Center>
<Td><Center><b>Argument Out</b></td></Center>
<Tr><Td>Init</Td>
<Td>DEV_VOID</Td>
<Td>DEV_VOID</Td>
<Tr><Td>State</Td>
<Td>DEV_VOID</Td>
<Td>DEV_STATE</Td>
<Tr><Td>Status</Td>
<Td>DEV_VOID</Td>
<Td>CONST_DEV_STRING</Td>
<Tr><Td>ReadLine</Td>
<Td>CONST_DEV_STRING</Td>
<Td>DEV_BOOLEAN</Td>
<Tr><Td>SetLine</Td>
<Td>CONST_DEV_STRING</Td>
<Td>DEV_VOID</Td>
<Tr><Td>ResetLine</Td>
<Td>CONST_DEV_STRING</Td>
<Td>DEV_VOID</Td>
<Tr><Td>ReadPort</Td>
<Td>CONST_DEV_STRING</Td>
<Td>DEV_SHORT</Td>
<Tr><Td>WritePort</Td>
<Td>DEVVAR_LONGSTRINGARRAY</Td>
<Td>DEV_VOID</Td>
</Table></Center>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3>(c) SOLEIL : Groupe ICA Contrle et Acquisitions </H33>
</Center>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<table width="100%" height="20%"><tr>
<td align=LEFT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Synchrotron </FONT></FONT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Soleil</FONT></FONT>
<H5>Saint-Aubin - BP 48 91192 GIF-sur-YVETTE CEDEX<BR>
</td><td>
<A href="http://www.synchrotron-soleil.fr/">
<IMG SRC="http://controle/images/logo-150.gif"
ALT="SOLEIL Logo" ALIGN=RIGHT border="0"></A>
</td></tr></table>
<HR WIDTH="100%"></H5>
<Br>
<center>
<h1>
SingleShotDIOProject<Br>
Properties Description
</h1>
<Br>
<b>
Revision: - Author:
</b>
</center>
<Br> <Br> <Br>
<Center>
<Br> <Br> <Br>
<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td COLSPAN=3> <Font Size=+2><Center><b>Device Properties</b></td></Font></Center>
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td><Center><b>Property name</b></td></Center>
<Td><Center><b>Property type</b></td></Center>
<Td><Center><b>Description</b></td></Center>
<Tr><Td>BoardNum</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>The number of the board in the cPCI crate (between 0 and 7).</Td></Tr>
<Tr><Td>BoardType</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>The board type (the possible values are DIO or DIO_o for this device).</Td></Tr>
<Tr><Td>PA_direction</Td>
<Td>Tango::DEV_STRING</Td>
<Td>The direction of PA (IN or OUT). Only valuable for DIO (cPCI7248) board.</Td></Tr>
<Tr><Td>PB_direction</Td>
<Td>Tango::DEV_STRING</Td>
<Td>The direction of PB (IN or OUT). Only valuable for DIO (cPCI7248) board.</Td></Tr>
<Tr><Td>PC_direction</Td>
<Td>Tango::DEV_STRING</Td>
<Td>The direction of PC (IN or OUT). Only valuable for DIO (cPCI7248) board.</Td></Tr>
<Tr><Td>PD_direction</Td>
<Td>Tango::DEV_STRING</Td>
<Td>The direction of PD (IN or OUT). Only valuable for DIO (cPCI7248) board.</Td></Tr>
<Tr><Td>PE_direction</Td>
<Td>Tango::DEV_STRING</Td>
<Td>The direction of PE (IN or OUT). Only valuable for DIO (cPCI7248) board.</Td></Tr>
<Tr><Td>PF_direction</Td>
<Td>Tango::DEV_STRING</Td>
<Td>The direction of PF (IN or OUT). Only valuable for DIO (cPCI7248) board.</Td></Tr>
</Table>
<Br><Br><Br>
<Center><b>
There is no Class properties.<Br><Br>
</Center></b>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3>(c) SOLEIL : Groupe ICA Contrle et Acquisitions </H33>
</Center>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<table width="100%" height="20%"><tr>
<td align=LEFT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Synchrotron </FONT></FONT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Soleil</FONT></FONT>
<H5>Saint-Aubin - BP 48 91192 GIF-sur-YVETTE CEDEX<BR>
</td><td>
<A href="http://www.synchrotron-soleil.fr/">
<IMG SRC="http://controle/images/logo-150.gif"
ALT="SOLEIL Logo" ALIGN=RIGHT border="0"></A>
</td></tr></table>
<HR WIDTH="100%"></H5>
<Br>
<center>
<h1>
SingleShotDIOProject<Br>
Device States Description
</h1>
<Br>
<b>
Revision: - Author:
</b>
</center>
<Center>
<Br> <Br> <Br>
<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td COLSPAN=2> <Font Size=+2><Center><b>States</b></td></Font></Center>
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td><Center><b>Names</b></td></Center>
<Td><Center><b>Descriptions</b></td></Center>
</Table>
</Center>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3>(c) SOLEIL : Groupe ICA Contrle et Acquisitions </H33>
</Center>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<table width="100%" height="20%"><tr>
<td align=LEFT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Synchrotron </FONT></FONT>
<FONT COLOR="#0000FF"><FONT SIZE=+4>Soleil</FONT></FONT>
<H5>Saint-Aubin - BP 48 91192 GIF-sur-YVETTE CEDEX<BR>
</td><td>
<A href="http://www.synchrotron-soleil.fr/">
<IMG SRC="http://controle/images/logo-150.gif"
ALT="SOLEIL Logo" ALIGN=RIGHT border="0"></A>
</td></tr></table>
<HR WIDTH="100%"></H5>
<Br>
<center>
<h1>
SingleShotDIOProject<Br>
Device Server User's Guide
</h1>
<Br>
<b>
Revision: - Author:
</b>
</center>
<Br>
<Br>
<Br>
<Br>
<Br>
<Br>
<h2>Introduction:</h2>
Controls ADLink DIO (cPCI7248) and DIO_O (cPCI7432) boards in single shot
digital input/ouput modes.<Br>
<Br>
<Br>
<h2>Description:</h2>
<ul>
<li> <a href=Description.html> Device description.</a>
<li> <a href=Properties.html> Properties description</a>
<li> <a href=TangoDevStates.html> States description</a>
<li> <a href=DevCommandsFrame.html> Commands description</a>
<li> <a href=Attributes.html> Attributes description</a>
</ul>
<Br>
<Br>
<Br>
<h2>Programmer's guide:</h2>
<ul>
<li> <a href="html/index.html"> Software description.</a>
</ul>
<Br>
<Br>
<Br>
<h2>Conclusion:</h2>
The device server is ready for distribution application programmers.<Br>
The author will be interested inany feedback which arise from their usage of this device server.
<Br>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<Title> Tango Device Server User's Guide </Title>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; HP-UX B.10.20 9000/735) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#FF0000" ALINK="#FF0000">
<P><!-------TITLE------></P>
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3>(c) SOLEIL : Groupe ICA Contrle et Acquisitions </H33>
</Center>
</body>
</html>
static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/InputOutput/ADLINK/SingleShotDIO/src/ClassFactory.cpp,v 1.1.1.1 2004-07-02 15:24:52 syldup Exp $";
//+=============================================================================
//
// file : ClassFactory.cpp
//
// description : C++ source for the class_factory method of the DServer
// device class. This method is responsible to create
// all class singletin for a device server. It is called
// at device server startup
//
// project : TANGO Device Server
//
// $Author: syldup $
//
// $Revision: 1.1.1.1 $
//
// $Log: not supported by cvs2svn $
//
// copyleft : European Synchrotron Radiation Facility
// BP 220, Grenoble 38043
// FRANCE
//
//-=============================================================================
//
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//
// (c) - Software Engineering Group - ESRF
//=============================================================================
#include <tango.h>
#include <SingleShotDIOClass.h>
/**
* Create SingleShotDIOClass singleton and store it in DServer object.
*
* @author $Author: syldup $
* @version $Revision: 1.1.1.1 $ $
*/
void Tango::DServer::class_factory()
{
add_class(SingleShotDIO::SingleShotDIOClass::init("SingleShotDIO"));
}
This diff is collapsed.
#=============================================================================
#
# file : Makefile.h
#
# description : Include for the SingleShotDIO class.
#
# project : Makefile to generate a Tango server
#
# $Author: syldup $
#
# $Revision: 1.1.1.1 $
#
# $Log: not supported by cvs2svn $
#
# copyleft : European Synchrotron Radiation Facility
# BP 220, Grenoble 38043
# FRANCE
#
#=============================================================================
# This file is generated by POGO
# (Program Obviously used to Generate tango Object)
#
# (c) - Software Engineering Group - ESRF
#=============================================================================
#
ifdef _solaris
CC = CC
BIN_DIR = solaris7_CC
endif
ifdef linux
CC = c++
AR = ar
BIN_DIR = suse72
endif
TANGO_HOME = /segfs/tango
INCLUDE_DIRS = -I$(TANGO_HOME)/include/$(BIN_DIR) -I.
LIB_DIRS = -L $(TANGO_HOME)/lib/$(BIN_DIR)
ifdef _solaris
CXXFLAGS = -mt -D_PTHREADS $(INCLUDE_DIRS)
LFLAGS = -g $(LIB_DIRS) \
-ltango \
-llog4tango \
-lomniORB4 \
-lomniDynamic4 \
-lomnithread \
-lpthread \
-lposix4 -lsocket -lnsl
endif
ifdef linux
CXXFLAGS = -g -D_REENTRANT $(INCLUDE_DIRS)
LFLAGS = -g $(LIB_DIRS) \
-ltango \
-llog4tango \
-lomniORB4 \
-lomniDynamic4 \
-lomnithread \
-ldl -lpthread
endif
CLASS = SingleShotDIO
SVC_OBJS = main.o \
ClassFactory.o \
$(CLASS)Class.o \
$(CLASS).o
SVC_INC = $(CLASS)Class.h \
$(CLASS).h
%.o: %.cpp $(SVC_INC)
$(CC) $(CXXFLAGS) -c $<
all: $(CLASS)
$(CLASS): $(SVC_OBJS)
$(CC) $(SVC_OBJS) -o $(CLASS) $(LFLAGS)
clean:
rm -f *.o $(CLASS) core
install:
cp $(CLASS) $(TANGO_HOME)/bin/$(BIN_DIR)
#
device_server= SingleShotDIO
#
# Des includes particuliers
# Mettre /Ic:\monchemininclude /:\monautrechemininclude
INCUSER= /IC:\ADLINK\D2k-DASK\Include /IC:\ADLINK\PCI-DASK\Include
#
# et vos Librairies
# style
#
# LIBUSER = "x:\moncheminlibrairie\malibrairie.lib"
LIBUSER=
#
# ------------------Fin des modifications pour le end user -------------------------------------
#
make_dir=$(TANGO_WIN32_ROOT)\env
# Les définitions communes à tous les DeviceServeurs
!include $(make_dir)\tango.opt
exe_device_server= $(EXEDIR)\ds_$(device_server).exe
pdb_name= $(TEMPLIBDIR)\$(device_server).pdb
# --------------------------------------
# Partie spécifique Device Server
# --------------------------------------
LISTEOBJ = \
$(OBJDIR)\$(device_server).OBJ\
$(OBJDIR)\ClassFactory.OBJ\
$(OBJDIR)\main.OBJ\
$(OBJDIR)\$(device_server)Class.OBJ
SRCS = \
$(device_server).CPP\
ClassFactory.CPP\
main.CPP \
$(device_server)Class.CPP
# --------------------------------------
!include $(make_dir)\common_target.opt
This diff is collapsed.
//=============================================================================
//
// file : SingleShotDIO.h
//
// description : Include for the SingleShotDIO class.
//
// project : SingleShotDIOProject
//
// $Author: syldup $
//
// $Revision: 1.1.1.1 $
//
// $Log: not supported by cvs2svn $
//
// copyleft : European Synchrotron Radiation Facility
// BP 220, Grenoble 38043
// FRANCE
//
//=============================================================================
//
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//
// (c) - Software Engineering Group - ESRF
//=============================================================================
#ifndef _SINGLESHOTDIO_H
#define _SINGLESHOTDIO_H
#include <asl\SingleShotDI.h>
#include <asl\SingleShotDO.h>
#include <tango.h>
//using namespace Tango;
#include <asl\DAQException.h>
/**
* @author $Author: syldup $
* @version $Revision: 1.1.1.1 $ $
*/
// Add your own constants definitions here.
//-----------------------------------------------
namespace SingleShotDIO
{
/**
* Class Description:
* Controls ADLink DIO (cPCI7248) and DIO_O (cPCI7432) boards in single shot
* digital input/ouput modes.
*/
/*
* Device States Description:
*/
class SingleShotDIO: public Tango::Device_2Impl
{
public :
// Add your own data members here
//-----------------------------------------
// Here is the Start of the automatic code generation part
//-------------------------------------------------------------
/**
* @name attributes
* Attributs member data.
*/
//@{
Tango::DevShort *attr_PA_read;
Tango::DevShort attr_PA_write;
Tango::DevShort *attr_PB_read;
Tango::DevShort attr_PB_write;
Tango::DevShort *attr_PC_read;
Tango::DevShort attr_PC_write;
Tango::DevShort *attr_PD_read;
Tango::DevShort attr_PD_write;
Tango::DevShort *attr_PE_read;
Tango::DevShort attr_PE_write;
Tango::DevShort *attr_PF_read;
Tango::DevShort attr_PF_write;
Tango::DevShort *attr_PG_read;
Tango::DevShort attr_PG_write;
Tango::DevShort *attr_PH_read;
Tango::DevShort attr_PH_write;
//@}
/**
* @name Device properties
* Device properties member data.
*/
//@{
/**
* The number of the board in the cPCI crate (between 0 and 7).
*/
Tango::DevUShort boardNum;
/**
* The board type (the possible values are DIO or DIO_o for this device).
*/
Tango::DevUShort boardType;
/**
* The direction of PA (IN or OUT). Only valuable for DIO (cPCI7248) board.
*/
string pA_direction;
/**
* The direction of PB (IN or OUT). Only valuable for DIO (cPCI7248) board.
*/
string pB_direction;
/**
* The direction of PC (IN or OUT). Only valuable for DIO (cPCI7248) board.
*/
string pC_direction;
/**
* The direction of PD (IN or OUT). Only valuable for DIO (cPCI7248) board.
*/
string pD_direction;
/**
* The direction of PE (IN or OUT). Only valuable for DIO (cPCI7248) board.
*/
string pE_direction;
/**
* The direction of PF (IN or OUT). Only valuable for DIO (cPCI7248) board.
*/
string pF_direction;
//@}
/**@name Constructors
* Miscellaneous constructors */
//@{
/**
* Constructs a newly allocated Command object.
*
* @param cl Class.
* @param s Device Name
*/
SingleShotDIO(Tango::DeviceClass *,string &);
/**
* Constructs a newly allocated Command object.
*
* @param cl Class.
* @param s Device Name
*/
SingleShotDIO(Tango::DeviceClass *,const char *);
/**
* Constructs a newly allocated Command object.
*
* @param cl Class.
* @param s Device name
* @param d Device description.
*/
SingleShotDIO(Tango::DeviceClass *,const char *,const char *);
//@}
/**@name Destructor
* Only one desctructor is defined for this class */
//@{
/**
* The object desctructor.
*/
~SingleShotDIO() {};
/**
* will be called at device destruction or at init command.
*/
void delete_device();
//@}
/**@name Miscellaneous methods */
//@{
/**
* Initialize the device
*/
virtual void init_device();
/**
* Always executed method befor execution command method.
*/
virtual void always_executed_hook();
//@}
/**
* @name SingleShotDIO methods prototypes
*/
//@{
/**
* Hardware acquisition for attributes.
*/
virtual void read_attr_hardware(vector<long> &attr_list);
/**
* Extract real attribute values from hardware acquisition result.
*/
virtual void read_attr(Tango::Attribute &attr);
/**
* Write attribute values to hardware.
*/
virtual void write_attr_hardware(vector<long> &attr_list);
/**
* Read the current value of the specified line of a port.
* @param argin The line to read ,from Px0 to Px7)
* @return The state of the line
* @exception DevFailed
*/
Tango::DevBoolean read_line(Tango::DevString);
/**
* Set the specified line (put it in high state).
* @param argin The line to set ,Px0 to Px7)
* @exception DevFailed
*/
void set_line(Tango::DevString);
/**
* Reset the specified line (put it in low state).
* @param argin The line to reset ,from Px0 to Px7)
* @exception DevFailed
*/
void reset_line(Tango::DevString);
/**
* Read the current state of the specified port.
* @param argin The port to read ,PA to PD for DIO_o and PA to PF for DIO)
* @return The current state of the port ,8-bit value)
* @exception DevFailed
*/
Tango::DevShort read_port(Tango::DevString);
/**
* Write the specified value to the specified port.
* @param argin The port to write ,PE to PH for DIO_o and PA to PF for DIO), and the value to write ,8-bit)
* @exception DevFailed
*/
void write_port(const Tango::DevVarLongStringArray *);
/**
* Read the device properties from database
*/
void get_device_property();
//@}
// Here is the end of the automatic code generation part
//-------------------------------------------------------------
protected :
// Add your own data members here
//-----------------------------------------
asl::SingleShotDI* in;
asl::SingleShotDO* out;
Tango::DevFailed daq_to_tango_exception(const asl::DAQException& de);
short pa, pb, pc, pd, pe, pf, pg, ph;
};
} // namespace
#endif // _SINGLESHOTDIO_H
This diff is collapsed.
//=============================================================================
//
// file : SingleShotDIOClass.h
//
// description : Include for the SingleShotDIOClass root class.
// This class is represents the singleton class for
// the SingleShotDIO device class.
// It contains all properties and methods which the
// SingleShotDIO requires only once e.g. the commands.
//
// project : TANGO Device Server
//
// $Author: syldup $
//
// $Revision: 1.1.1.1 $
//
// $Log: not supported by cvs2svn $
//
// copyleft : European Synchrotron Radiation Facility
// BP 220, Grenoble 38043
// FRANCE
//
//=============================================================================
//
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//
// (c) - Software Engineering Group - ESRF
//=============================================================================
#ifndef _SINGLESHOTDIOCLASS_H
#define _SINGLESHOTDIOCLASS_H
#include <tango.h>
namespace SingleShotDIO
{
//
// Define classes for commands
//
class WritePortCmd : public Tango::Command
{
public:
WritePortCmd(const char *,Tango::CmdArgType, Tango::CmdArgType,const char *,const char *, Tango::DispLevel);
WritePortCmd(const char *,Tango::CmdArgType, Tango::CmdArgType);
~WritePortCmd() {};
virtual bool is_allowed (Tango::DeviceImpl *, const CORBA::Any &);
virtual CORBA::Any *execute (Tango::DeviceImpl *, const CORBA::Any &);
};
class ReadPortCmd : public Tango::Command
{
public:
ReadPortCmd(const char *,Tango::CmdArgType, Tango::CmdArgType,const char *,const char *, Tango::DispLevel);
ReadPortCmd(const char *,Tango::CmdArgType, Tango::CmdArgType);
~ReadPortCmd() {};
virtual bool is_allowed (Tango::DeviceImpl *, const CORBA::Any &);
virtual CORBA::Any *execute (Tango::DeviceImpl *, const CORBA::Any &);
};
class ResetLineCmd : public Tango::Command
{
public:
ResetLineCmd(const char *,Tango::CmdArgType, Tango::CmdArgType,const char *,const char *, Tango::DispLevel);
ResetLineCmd(const char *,Tango::CmdArgType, Tango::CmdArgType);
~ResetLineCmd() {};
virtual bool is_allowed (Tango::DeviceImpl *, const CORBA::Any &);
virtual CORBA::Any *execute (Tango::DeviceImpl *, const CORBA::Any &);
};
class SetLineCmd : public Tango::Command
{
public:
SetLineCmd(const char *,Tango::CmdArgType, Tango::CmdArgType,const char *,const char *, Tango::DispLevel);
SetLineCmd(const char *,Tango::CmdArgType, Tango::CmdArgType);
~SetLineCmd() {};
virtual bool is_allowed (Tango::DeviceImpl *, const CORBA::Any &);
virtual CORBA::Any *execute (Tango::DeviceImpl *, const CORBA::Any &);
};
class ReadLineCmd : public Tango::Command
{
public:
ReadLineCmd(const char *,Tango::CmdArgType, Tango::CmdArgType,const char *,const char *, Tango::DispLevel);
ReadLineCmd(const char *,Tango::CmdArgType, Tango::CmdArgType);
~ReadLineCmd() {};
virtual bool is_allowed (Tango::DeviceImpl *, const CORBA::Any &);
virtual CORBA::Any *execute (Tango::DeviceImpl *, const CORBA::Any &);
};
//
// The SingleShotDIOClass singleton definition
//
class SingleShotDIOClass : public Tango::DeviceClass
{
public:
// add your own data members here
//------------------------------------
public:
// Method prototypes
static SingleShotDIOClass *init(const char *);
static SingleShotDIOClass *instance();
~SingleShotDIOClass();
protected:
SingleShotDIOClass(string &);
static SingleShotDIOClass *_instance;
void command_factory();
void attribute_factory(vector<Tango::Attr *> &);
void write_class_property();
private:
void device_factory(const Tango::DevVarStringArray *);
};
} // namespace SingleShotDIO
#endif // _SINGLESHOTDIOCLASS_H
static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/InputOutput/ADLINK/SingleShotDIO/src/main.cpp,v 1.1.1.1 2004-07-02 15:24:52 syldup Exp $";
//+=============================================================================
//
// file : main.cpp
//
// description : C++ source for a TANGO device server main.
// The main rule is to initialise (and create) the Tango
// system and to create the DServerClass singleton.
// The main should be the same for every Tango device server.
//
// project : TANGO Device Server
//
// $Author: syldup $
//
// $Revision: 1.1.1.1 $ $
//
// $Log: not supported by cvs2svn $
//
// copyleft : European Synchrotron Radiation Facility
// BP 220, Grenoble 38043
// FRANCE
//
//-=============================================================================
//
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//
// (c) - Software Engineering Group - ESRF
//=============================================================================
#include <ace/ACE.h>
#include <tango.h>
int main(int argc,char *argv[])
{
Tango::Util *tg;
try
{
// Initialise the device server
//----------------------------------------
tg = Tango::Util::init(argc,argv);
// Create the device server singleton
// which will create everything
//----------------------------------------
tg->server_init(false);
// Run the endless loop
//----------------------------------------
cout << "Ready to accept request" << endl;
tg->server_run();
}
catch (bad_alloc)
{
cout << "Can't allocate memory to store device object !!!" << endl;
cout << "Exiting" << endl;
}
catch (CORBA::Exception &e)
{
Tango::Except::print_exception(e);
cout << "Received a CORBA_Exception" << endl;
cout << "Exiting" << endl;
}
return(0);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment