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

initial import

parent 8a978e6e
Branches
Tags
No related merge requests found
Showing
with 2823 additions and 0 deletions
File added
This diff is collapsed.
<!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>
Retriggered Continuous Anolog Output<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>errorCounter</b><Br>( Errors occuring during the waveform generation. )</Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>useBoardFifo</b><Br>( Set to 1 if data have been loaded in FIFO. Set to 0 if data is continuously tranfered through DMA (possible underrun) )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
</Table>
</Center>
<Br><Br><Br><Br><Br>
<Table Border=2 Cellpadding=3 CELLSPACING=0 WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td COLSPAN=4> <Font Size=+2><Center><b>Spectrum 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>X Data Length</b></td></Center>
<Td><Center><b>Expert</b></td></Center>
<Tr><Td><b><Center>channel0</b></Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>1000000</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>channel1</b></Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>1000000</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>channel2</b></Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>1000000</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>channel3</b></Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>1000000</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>channel4</b></Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>1000000</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>channel5</b></Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>1000000</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>channel6</b></Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>1000000</Center></Td><Td><Center>No</Center></Td></Tr>
<Tr><Td><b><Center>channel7</b></Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>1000000</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 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>
<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>
Retriggered Continuous Anolog Output<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>
Retriggered Continuous Anolog Output<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>
<Li>Tango::UNKNOWN<Li>Tango::STANDBY<Li>Tango::RUNNING</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>
<Li>Tango::UNKNOWN<Li>Tango::STANDBY<Li>Tango::RUNNING</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>
<Li>Tango::UNKNOWN<Li>Tango::STANDBY<Li>Tango::RUNNING</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="Start"><!-- --></A>
<A NAME="Start"><!-- --></A>
<h2>4 - Start</h2>
<ul>
<Li><Strong>Description: </Strong> start the generation.<Br>&nbsp
<Li><Strong>Argin:<Br>DEV_VOID</Strong>
: <Br>&nbsp
<Li><Strong>Argout:<Br>DEV_VOID</Strong>
: <Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
<Li>Tango::UNKNOWN<Li>Tango::STANDBY<Li>Tango::RUNNING</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="Stop"><!-- --></A>
<A NAME="Stop"><!-- --></A>
<h2>5 - Stop</h2>
<ul>
<Li><Strong>Description: </Strong> stop the generation.<Br>&nbsp
<Li><Strong>Argin:<Br>DEV_VOID</Strong>
: <Br>&nbsp
<Li><Strong>Argout:<Br>DEV_VOID</Strong>
: <Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
<Li>Tango::UNKNOWN<Li>Tango::STANDBY<Li>Tango::RUNNING</Ul>
<Br>&nbsp
</ul><Br>
<Br>
<A NAME="SetAOScaledData"><!-- --></A>
<A NAME="SetAOScaledData"><!-- --></A>
<h2>6 - SetAOScaledData</h2>
<ul>
<Li><Strong>Description: </Strong> Give one period of the signal to generated of a specified channel in volts.<Br>&nbsp
<Li><Strong>Argin:<Br>DEVVAR_DOUBLESTRINGARRAY</Strong>
: The channel number ,in string). The output data in volts ,in double)<Br>&nbsp
<Li><Strong>Argout:<Br>DEV_VOID</Strong>
: <Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
<Li>Tango::UNKNOWN<Li>Tango::STANDBY<Li>Tango::RUNNING</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 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>
<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#Start" TARGET="DevCommands"> Start</a><Br>
<A Href="DevCommands.html#Stop" TARGET="DevCommands"> Stop</a><Br>
<A Href="DevCommands.html#SetAOScaledData" TARGET="DevCommands"> SetAOScaledData</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>
Retriggered Continuous Anolog Output<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>Start</Td>
<Td>DEV_VOID</Td>
<Td>DEV_VOID</Td>
<Tr><Td>Stop</Td>
<Td>DEV_VOID</Td>
<Td>DEV_VOID</Td>
<Tr><Td>SetAOScaledData</Td>
<Td>DEVVAR_DOUBLESTRINGARRAY</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>
Retriggered Continuous Anolog Output<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 chassis cPCI.</Td></Tr>
<Tr><Td>Frequency</Td>
<Td>Tango::DEV_DOUBLE</Td>
<Td>The output frequency (the rate the samples are outputed).</Td></Tr>
<Tr><Td>TriggerMode</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>Trigger mode: POST trigger or DELAY trigger.</Td></Tr>
<Tr><Td>TriggerSource</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>The trigger source. Analog trigger DTRIG or ATRIG.</Td></Tr>
<Tr><Td>ATRIGSelection</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>select the type of analog trigger. Can be BELOW (trigger occurs below ATRIGLevel)
or can be ABOVE (trigger occurs above ATRIGLevel).</Td></Tr>
<Tr><Td>ATRIGLevel</Td>
<Td>Tango::DEV_DOUBLE</Td>
<Td>The analog trigger level in volts.</Td></Tr>
<Tr><Td>DTRIGPolarity</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>The edges on which the trigger are detected. Can be RISING or FALLING.</Td></Tr>
<Tr><Td>AORefA</Td>
<Td>Tango::DEV_DOUBLE</Td>
<Td>The value of the reference voltage gave on pin AORefA.</Td></Tr>
<Tr><Td>AORefB</Td>
<Td>Tango::DEV_DOUBLE</Td>
<Td>The value of the reference voltage gave on pin AORefB.</Td></Tr>
<Tr><Td>Polarity</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>BP for unipolar outputs or UP for bipolar outputs.</Td></Tr>
<Tr><Td>AORefSource</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>Select the internal reference (10.0 volts) with INTERN or the external references
AORefA and AORefB with EXTERN.</Td></Tr>
<Tr><Td>Channel0Enable</Td>
<Td>Tango::DEV_SHORT</Td>
<Td>1 if enable channel 0, 0 otherwise.</Td></Tr>
<Tr><Td>Channel1Enable</Td>
<Td>Tango::DEV_SHORT</Td>
<Td>1 if enable channel 1, 0 otherwise.</Td></Tr>
<Tr><Td>Channel2Enable</Td>
<Td>Tango::DEV_SHORT</Td>
<Td>1 if enable channel 2, 0 otherwise.</Td></Tr>
<Tr><Td>Channel3Enable</Td>
<Td>Tango::DEV_SHORT</Td>
<Td>1 if enable channel 3, 0 otherwise.</Td></Tr>
<Tr><Td>Channel4Enable</Td>
<Td>Tango::DEV_SHORT</Td>
<Td>1 if enable channel 4, 0 otherwise.</Td></Tr>
<Tr><Td>Channel5Enable</Td>
<Td>Tango::DEV_SHORT</Td>
<Td>1 if enable channel 5, 0 otherwise.</Td></Tr>
<Tr><Td>Channel6Enable</Td>
<Td>Tango::DEV_SHORT</Td>
<Td>1 if enable channel 6, 0 otherwise.</Td></Tr>
<Tr><Td>Channel7Enable</Td>
<Td>Tango::DEV_SHORT</Td>
<Td>1 if enable channel 7, 0 otherwise.</Td></Tr>
<Tr><Td>BufferDepth</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>The buffer depth for <b>one channel</b></Td></Tr>
<Tr><Td>Delay</Td>
<Td>Tango::DEV_USHORT</Td>
<Td>If trigger mode is delay, configure the delay in seconds.</Td></Tr>
<Tr><Td>Channel0Waveform</Td>
<Td>Array of double</Td>
<Td>The waveform for channel 0 (attribute persistency).</Td></Tr>
<Tr><Td>Channel1Waveform</Td>
<Td>Array of double</Td>
<Td>The waveform for channel 1 (attribute persistency).</Td></Tr>
<Tr><Td>Channel2Waveform</Td>
<Td>Array of double</Td>
<Td>The waveform for channel 2 (attribute persistency).</Td></Tr>
<Tr><Td>Channel3Waveform</Td>
<Td>Array of double</Td>
<Td>The waveform for channel 3 (attribute persistency).</Td></Tr>
<Tr><Td>Channel4Waveform</Td>
<Td>Array of double</Td>
<Td>The waveform for channel 4 (attribute persistency).</Td></Tr>
<Tr><Td>Channel5Waveform</Td>
<Td>Array of double</Td>
<Td>The waveform for channel 5 (attribute persistency).</Td></Tr>
<Tr><Td>Channel6Waveform</Td>
<Td>Array of double</Td>
<Td>The waveform for channel 6 (attribute persistency).</Td></Tr>
<Tr><Td>Channel7Waveform</Td>
<Td>Array of double</Td>
<Td>The waveform for channel 7 (attribute persistency).</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>
Retriggered Continuous Anolog Output<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>
<Tr><Td>UNKNOWN</Td>
<Td></Td></Tr>
<Tr><Td>STANDBY</Td>
<Td></Td></Tr>
<Tr><Td>RUNNING</Td>
<Td></Td></Tr>
</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>
Retriggered Continuous Anolog Output<Br>
Device Server User's Guide
</h1>
<Br>
<b>
Revision: - Author:
</b>
</center>
<Br>
<Br>
<Br>
<Br>
<Br>
<Br>
<h2>Introduction:</h2>
Perform continuous anolog ouput (waveform generation) on the selected outputs.<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>Extented User's guide (available only for complex DeviceServers):</h2>
<ul>
<li> <a href="../DeviceServerUsersGuide.doc"> In French word format.</a>
<li> <a href="../DeviceServerUsersGuide.pdf"> In French PDF format.</a>
<li> <a href="../DeviceServerUsersGuide_en.doc"> In English word format.</a>
<li> <a href="../DeviceServerUsersGuide_en.pdf"> In English PDF format.</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>
from PyTango import*
import sys
import time
import math
try:
#TODO: put the desired device proxy
contAO = DeviceProxy("generic/acq/RetrigAO")
###############load a sine signal on channel 4####################
#TODO: put the correct BufferDepth (same as in the property of the device)
BufferDepth = 1000
#TODO: put the desired voltage in volts (verify the the input range is coherent with this value)
# The input range is gave by properties Polarity, AORefA, AORefB, AORefSource
max_voltage = 5.0
i = 1
ao_data = [math.sin(0 * 2. * 3.14159 / BufferDepth) * max_voltage]
while i<BufferDepth:
ao_data[i:i] = [math.sin(i * 2. * 3.14159 / BufferDepth) * max_voltage]
i = i + 1
print ao_data
#put ao_data in the argin of the command contAO with the channel number
argin =(ao_data,["4"])
#load the waveform on the device
contAO.SetAOScaledData(argin)
except:
exctype , value = sys.exc_info()[:2]
print "Failed with exception ", exctype
for err in value :
print "---ERROR ELEMENT-------"
print "reason:" , err["reason"]
print "description:" , err["desc"]
print "origin:" , err["origin"]
print "severity:" , err["severity"]
from PyTango import*
import sys
import time
try:
#TODO: put the desired device proxy
contAO = DeviceProxy("generic/acq/RetrigAO")
###############load a square signal on channel 0####################
#TODO: put the correct BufferDepth (same as in the property of the device)
BufferDepth = 1000
#TODO: put the desired voltage in volts (verify the the input range is coherent with this value)
# The input range is gave by properties Polarity, AORefA, AORefB, AORefSource
max_voltage = 5.0
i = 1
ao_data = [-max_voltage]
while i<BufferDepth/2:
ao_data[i:i] = [-max_voltage]
i = i + 1
while i<BufferDepth:
ao_data[i:i] = [max_voltage]
i = i + 1
#print ao_data
#put ao_data in the argin of the command contAO with the channel number
argin =(ao_data,["0"])
#load the waveform on the device
contAO.SetAOScaledData(argin)
except:
exctype , value = sys.exc_info()[:2]
print "Failed with exception ", exctype
for err in value :
print "---ERROR ELEMENT-------"
print "reason:" , err["reason"]
print "description:" , err["desc"]
print "origin:" , err["origin"]
print "severity:" , err["severity"]
\ No newline at end of file
//============================================================
//DEPENDENCIES
//============================================================
#include <asl/ASLExceptionsHandler.h>
#include "ADLinkContinuousAO.h"
//============================================================
//ADLinkContinuousAO::ADLinkContinuousAO
//============================================================
ADLinkContinuousAO::ADLinkContinuousAO (Tango::DeviceImpl* dev)
: Tango::LogAdapter(dev),
asl::ContinuousAO (),
err_ctr(0)
{
}
//============================================================
//ADLinkContinuousAO::~ADLinkContinuousAO
//============================================================
ADLinkContinuousAO::~ADLinkContinuousAO (void)
{
}
//============================================================
//ADLinkContinuousAO::handle_error
//============================================================
void ADLinkContinuousAO::handle_error (const asl::DAQException& de)
{
cout<<"error occured during acquisition"<<endl;
this->lock_data();
err_ctr++;
this->unlock_data();
_ASL_TO_TANGO_EXCEPTION(de, df);
ERROR_STREAM<<"error occured during acquisition"<<endl;
ERROR_STREAM<<df<<endl;
}
#ifndef _ADLinkContinuousAO_H
#define _ADLinkContinuousAO_H
//============================================================
//DEPENDENCIES
//============================================================
#include <asl/ContinuousAO.h>
#include <Tango.h>
class ADLinkContinuousAO: public asl::ContinuousAO, public Tango::LogAdapter
{
public:
ADLinkContinuousAO (Tango::DeviceImpl* dev);
virtual ~ADLinkContinuousAO (void) ;
/**
* Receive errors ocurring during the waveform generation.
* @param de The error
*/
virtual void handle_error (const asl::DAQException& de);
/**
* Get the mutex
*/
inline void lock_data(void)
{
this->data_lock_.acquire();
};
/**
* Release the mutex
*/
inline void unlock_data(void)
{
this->data_lock_.release();
};
unsigned long err_ctr;
private:
ACE_Thread_Mutex data_lock_;
};
#endif // _ADLinkContinuousAO_H
\ No newline at end of file
static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/InputOutput/ADLINK/RetrigAO/src/ClassFactory.cpp,v 1.1.1.1 2004-12-06 10:23:37 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 : Synchrotron SOLEIL
// L'Orme des Merisiers
// Saint-Aubin - BP 48
//
//-=============================================================================
//
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//
// (c) - Software Engineering Group - ESRF
//=============================================================================
#include <tango.h>
#include <RetrigAOClass.h>
/**
* Create ContinuousAOClass singleton and store it in DServer object.
*
* @author $Author: syldup $
* @version $Revision: 1.1.1.1 $ $
*/
void Tango::DServer::class_factory()
{
add_class(RetrigAO::RetrigAOClass::init("RetrigAO"));
}
This diff is collapsed.
#=============================================================================
#
# file : Makefile.h
#
# description : Include for the ContinuousAO 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 = ContinuousAO
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= RetrigAO
#
INCUSER= /I$(D2KDASK_INC) /I$(PCISDASK_INC)
#
LIBUSER= $(ASL_LIB)/asl.lib $(ACE_LIB)/ace.lib
#
# ------------------Fin des modifications pour le end user -------------------------------------
#
make_dir=$(SOLEIL_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)\ADLinkContinuousAO.OBJ\
$(OBJDIR)\$(device_server).OBJ\
$(OBJDIR)\ClassFactory.OBJ\
$(OBJDIR)\main.OBJ\
$(OBJDIR)\$(device_server)Class.OBJ
SRCS = \
ADLinkContinuousAO.CPP\
$(device_server).CPP\
ClassFactory.CPP\
main.CPP \
$(device_server)Class.CPP
# --------------------------------------
!include $(make_dir)\common_target.opt
//-============================================================
//
// This class has been generated by POGO
// (Program Obviously used to Generate tango Object)
//
// (c) - Software Engineering Group - ESRF
//=============================================================
Files generated:
===============
RetrigAO.cpp: Source code for the RetrigAO 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
RetrigAO are implemented in this file.
RetrigAO.h: Include for the RetrigAO class.
Server class prototypes and descriptions.
RetrigAOClass.cpp: A singleton class derived fromRetrigAO.
It implements the command list and all properties
and methods required by the RetrigAO once per process
RetrigAOClass.h: Include for the RetrigAOClass root class.
This class is represents the singleton class for
the RetrigAO device class.
It contains all properties and methods which the
RetrigAO 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment