Skip to content
Snippets Groups Projects
Commit 8518ce36 authored by Florent LANGLOIS's avatar Florent LANGLOIS
Browse files

- memorise the gain

- don't allow a gain < 0
parent 263af6b6
No related branches found
No related tags found
No related merge requests found
......@@ -11,18 +11,21 @@
<TR>
<TD ALIGN="left">
<A HREF="http://www.esrf.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/esrf_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="center">
<A HREF="http://www.elettra.trieste.it/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/elettra_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<TD ALIGN="center">
<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/soleil_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<A HREF="http://www.cells.es/" TARGET=new>
<IMG SRC="http://controle/icons/alba_logo.gif" BORDER=0></A>
</Td>
<Td>
<Td>
<H2><FONT COLOR="#7F00FF">
<Center><A HREF="http://www.esrf.fr/Infrastructure/Computing/tango/" TARGET="_top">
......@@ -55,26 +58,33 @@ Revision: - Author:
<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>gain</b><Br>( Select a Gain (0-6). <BR> ------------------------------------------------------<BR> 0 & HS -> 10^5 ; 0 & LN -> 10^3<BR> 1 & HS -> 10^6 ; 1 & LN -> 10^4<BR> 2 & HS -> 10^7 ; 2 & LN -> 10^5<BR> 3 & HS -> 10^8 ; 3 & LN -> 10^6<BR> 4 & HS -> 10^9 ; 4 & LN -> 10^7<BR> 5 & HS -> 10^10; 5 & LN -> 10^8<BR> 6 & HS -> 10^11; 6 & LN -> 10^9 )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Font Size=-1>
<Tr><Td><b>gain</b>: <Font Size=-1>Select a Gain (0-6). <BR> ------------------------------------------------------<BR> 0 & HS -> 10^5 ; 0 & LN -> 10^3<BR> 1 & HS -> 10^6 ; 1 & LN -> 10^4<BR> 2 & HS -> 10^7 ; 2 & LN -> 10^5<BR> 3 & HS -> 10^8 ; 3 & LN -> 10^6<BR> 4 & HS -> 10^9 ; 4 & LN -> 10^7<BR> 5 & HS -> 10^10; 5 & LN -> 10^8<BR> 6 & HS -> 10^11; 6 & LN -> 10^9</Font></Td>
<Td><Center><Font Size=-1>DEV_SHORT</Font></Center></Td><Td><Center><Font Size=-1>WRITE</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
<Tr><Td><b><Center>coupling</b><Br>( Set the Coupling Mode (AC/DC):<BR> false -> AC<BR> true -> DC )</Center></Td>
<Td><Center>DEV_BOOLEAN</Center></Td><Td><Center>WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Font Size=-1>
<Tr><Td><b>coupling</b>: <Font Size=-1>Set the Coupling Mode (AC/DC):<BR> false -> AC<BR> true -> DC</Font></Td>
<Td><Center><Font Size=-1>DEV_BOOLEAN</Font></Center></Td><Td><Center><Font Size=-1>WRITE</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
<Tr><Td><b><Center>gainMode</b><Br>( Set the Gain Mode (HS/LN):<BR> false -> High Speed Gain <BR> true -> Low Noise Gain )</Center></Td>
<Td><Center>DEV_BOOLEAN</Center></Td><Td><Center>WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Font Size=-1>
<Tr><Td><b>gainMode</b>: <Font Size=-1>Set the Gain Mode (HS/LN):<BR> false -> High Speed Gain <BR> true -> Low Noise Gain</Font></Td>
<Td><Center><Font Size=-1>DEV_BOOLEAN</Font></Center></Td><Td><Center><Font Size=-1>WRITE</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
<Tr><Td><b><Center>overload</b><Br>( Tell if Femto is overloaded:<BR> 0 -> not Overloaded<BR> 1 -> Overloaded )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
<Font Size=-1>
<Tr><Td><b>overload</b>: <Font Size=-1>Tell if Femto is overloaded:<BR> 0 -> not Overloaded<BR> 1 -> Overloaded</Font></Td>
<Td><Center><Font Size=-1>DEV_SHORT</Font></Center></Td><Td><Center><Font Size=-1>READ</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
<Tr><Td><b><Center>outputSignal</b><Br>( Value of the output signal )</Center></Td>
<Td><Center>DEV_DOUBLE</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
<Font Size=-1>
<Tr><Td><b>outputSignal</b>: <Font Size=-1>Value of the output signal</Font></Td>
<Td><Center><Font Size=-1>DEV_DOUBLE</Font></Center></Td><Td><Center><Font Size=-1>READ</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
<Tr><Td><b><Center>gainSelected</b><Br>( Gain Selected )</Center></Td>
<Td><Center>DEV_STRING</Center></Td><Td><Center>READ</Center></Td><Td><Center>No</Center></Td></Tr>
<Font Size=-1>
<Tr><Td><b>gainSelected</b>: <Font Size=-1>Gain Selected</Font></Td>
<Td><Center><Font Size=-1>DEV_STRING</Font></Center></Td><Td><Center><Font Size=-1>READ</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
<Tr><Td><b><Center>upperBWLimit</b><Br>( Upper BandWidth Limit:<BR> 0 -> Full Bandwidth<BR> 1 -> 10 MHz<BR> 2 -> 1 MHz )</Center></Td>
<Td><Center>DEV_SHORT</Center></Td><Td><Center>WRITE</Center></Td><Td><Center>No</Center></Td></Tr>
<Font Size=-1>
<Tr><Td><b>upperBWLimit</b>: <Font Size=-1>Upper BandWidth Limit:<BR> 0 -> Full Bandwidth<BR> 1 -> 10 MHz<BR> 2 -> 1 MHz</Font></Td>
<Td><Center><Font Size=-1>DEV_SHORT</Font></Center></Td><Td><Center><Font Size=-1>WRITE</Font></Center></Td><Td><Center><Font Size=-1>No</Font></Center></Td></Tr>
</Table>
</Center>
......@@ -83,7 +93,7 @@ Revision: - Author:
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3> ESRF - Software Engineering Group </H33>
<H3> ESRF - Software Engineering Group </H3>
</Center>
</body>
</html>
......@@ -10,20 +10,20 @@
<TR>
<TD ALIGN="left">
<A HREF="http://www.esrf.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/esrf_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="center">
<A HREF="http://www.elettra.trieste.it/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/elettra_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="center">
<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/soleil_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<A HREF="http://www.cells.es/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/alba.jpg" BORDER=0></A>
<IMG SRC="http://controle/icons/alba_logo.gif" BORDER=0></A>
</Td>
<Td>
<H2><FONT COLOR="#7F00FF">
......
......@@ -11,18 +11,21 @@
<TR>
<TD ALIGN="left">
<A HREF="http://www.esrf.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/esrf_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="center">
<A HREF="http://www.elettra.trieste.it/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/elettra_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<TD ALIGN="center">
<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/soleil_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<A HREF="http://www.cells.es/" TARGET=new>
<IMG SRC="http://controle/icons/alba_logo.gif" BORDER=0></A>
</Td>
<Td>
<Td>
<H2><FONT COLOR="#7F00FF">
<Center><A HREF="http://www.esrf.fr/Infrastructure/Computing/tango/" TARGET="_top">
......@@ -89,7 +92,7 @@ The language device desctructor automatically calls the <i> delete_device() </i>
<Li><Strong>Argin:<Br>DEV_VOID</Strong>
: none.<Br>&nbsp
<Li><Strong>Argout:<Br>CONST_DEV_STRING</Strong>
: Status descrition<Br>&nbsp
: Status description<Br>&nbsp
<Li><Strong>Command allowed for: </Strong><Ul>
<Li>Tango::ON<Li>Tango::ALARM<Li>Tango::RUNNING<Li>Tango::FAULT</Ul>
<Br>&nbsp
......@@ -144,7 +147,7 @@ Check if Overload
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3> ESRF - Software Engineering Group </H33>
<H3> ESRF - Software Engineering Group </H3>
</Center>
</body>
</html>
......@@ -11,18 +11,21 @@
<TR>
<TD ALIGN="left">
<A HREF="http://www.esrf.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/esrf_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="center">
<A HREF="http://www.elettra.trieste.it/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/elettra_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<TD ALIGN="center">
<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/soleil_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<A HREF="http://www.cells.es/" TARGET=new>
<IMG SRC="http://controle/icons/alba_logo.gif" BORDER=0></A>
</Td>
<Td>
<Td>
<H2><FONT COLOR="#7F00FF">
<Center><A HREF="http://www.esrf.fr/Infrastructure/Computing/tango/" TARGET="_top">
......@@ -57,21 +60,21 @@ Revision: - Author:
<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>IncreaseGain</Td>
<Td>DEV_VOID</Td>
<Td>DEV_VOID</Td>
<Tr><Td>DecreaseGain</Td>
<Td>DEV_VOID</Td>
<Td>DEV_VOID</Td>
<Tr><Td><b>Init</b></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
<Tr><Td><b>State</b></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
<Td><Font Size=-1>DEV_STATE</Font></Td>
<Tr><Td><b>Status</b></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
<Td><Font Size=-1>CONST_DEV_STRING</Font></Td>
<Tr><Td><b>IncreaseGain</b></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
<Tr><Td><b>DecreaseGain</b></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
......@@ -85,9 +88,9 @@ Revision: - Author:
<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>AutoSearchGain</Td>
<Td>DEV_VOID</Td>
<Td>DEV_VOID</Td>
<Tr><Td><b>AutoSearchGain</b></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
<Td><Font Size=-1>DEV_VOID</Font></Td>
......@@ -96,7 +99,7 @@ Revision: - Author:
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3> ESRF - Software Engineering Group </H33>
<H3> ESRF - Software Engineering Group </H3>
</Center>
</body>
</html>
......@@ -11,18 +11,21 @@
<TR>
<TD ALIGN="left">
<A HREF="http://www.esrf.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/esrf_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="center">
<A HREF="http://www.elettra.trieste.it/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/elettra_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<TD ALIGN="center">
<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/soleil_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<A HREF="http://www.cells.es/" TARGET=new>
<IMG SRC="http://controle/icons/alba_logo.gif" BORDER=0></A>
</Td>
<Td>
<Td>
<H2><FONT COLOR="#7F00FF">
<Center><A HREF="http://www.esrf.fr/Infrastructure/Computing/tango/" TARGET="_top">
......@@ -56,55 +59,51 @@ Revision: - Author:
<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>DIOBoardName</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Name of the DIO board device server</Td></Tr>
<Tr><Td><b>DIOBoardName</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Name of the DIO board device server</Font></Td></Tr>
<Tr><Td>CouplingLine</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Line of the Coupling (AC/DC).</Td></Tr>
<Tr><Td><b>CouplingLine</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Line of the Coupling (AC/DC).</Font></Td></Tr>
<Tr><Td>OverloadLine</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Line of the Overload</Td></Tr>
<Tr><Td><b>OverloadLine</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Line of the Overload</Font></Td></Tr>
<Tr><Td>GainModeLine</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Line of the Gain Mode (HS/LN).</Td></Tr>
<Tr><Td><b>GainModeLine</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Line of the Gain Mode (HS/LN).</Font></Td></Tr>
<Tr><Td>OutputSignalLine</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Line of the Output Signal</Td></Tr>
<Tr><Td><b>OutputSignalLine</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Line of the Output Signal</Font></Td></Tr>
<Tr><Td>LSBGainLine</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Line of the LSB Gain</Td></Tr>
<Tr><Td><b>LSBGainLine</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Line of the LSB Gain</Font></Td></Tr>
<Tr><Td>MidSBGainLine</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Line of the Mid SB Gain</Td></Tr>
<Tr><Td><b>MidSBGainLine</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Line of the Mid SB Gain</Font></Td></Tr>
<Tr><Td>MSBGainLine</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Line of the MSB Gain</Td></Tr>
<Tr><Td><b>MSBGainLine</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Line of the MSB Gain</Font></Td></Tr>
<Tr><Td>FemtoType</Td>
<Td>Tango::DEV_SHORT</Td>
<Td>Type of the Femto Current Amplifier: (Default = 2)<BR>
<Tr><Td><b>FemtoType</b></Td>
<Td><Font Size=-1>Tango::DEV_SHORT</Font></Td>
<Td><Font Size=-1>Type of the Femto Current Amplifier: (Default = 2)<BR>
1 -> DHPCA-100<BR>
2 -> DLPCA-200</Td></Tr>
<Tr><Td>UBWL10MHzLine</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Line of the Upper BandWidth Limit 10 MHz.</Td></Tr>
2 -> DLPCA-200</Font></Td></Tr>
<Tr><Td>UBWL1MHzLine</Td>
<Td>Tango::DEV_STRING</Td>
<Td>Line of the Upper BandWidth Limit 1 MHz.</Td></Tr>
<Tr><Td><b>UBWL10MHzLine</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Line of the Upper BandWidth Limit 10 MHz.</Font></Td></Tr>
<Tr><Td>MI_FEMTOProxyName</Td>
<Td>Tango::DEV_STRING</Td>
<Td></Td></Tr>
<Tr><Td><b>UBWL1MHzLine</b></Td>
<Td><Font Size=-1>Tango::DEV_STRING</Font></Td>
<Td><Font Size=-1>Line of the Upper BandWidth Limit 1 MHz.</Font></Td></Tr>
</Table>
......@@ -116,7 +115,7 @@ There is no Class properties.<Br><Br>
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3> ESRF - Software Engineering Group </H33>
<H3> ESRF - Software Engineering Group </H3>
</Center>
</body>
</html>
......@@ -11,18 +11,21 @@
<TR>
<TD ALIGN="left">
<A HREF="http://www.esrf.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/esrf_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="center">
<A HREF="http://www.elettra.trieste.it/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/elettra_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<TD ALIGN="center">
<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/soleil_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<A HREF="http://www.cells.es/" TARGET=new>
<IMG SRC="http://controle/icons/alba_logo.gif" BORDER=0></A>
</Td>
<Td>
<Td>
<H2><FONT COLOR="#7F00FF">
<Center><A HREF="http://www.esrf.fr/Infrastructure/Computing/tango/" TARGET="_top">
......@@ -54,21 +57,19 @@ Revision: - Author:
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<Td><Center><b>Names</b></td></Center>
<Td><Center><b>Descriptions</b></td></Center>
<Tr><Td>ON</Td>
<Td>Normal operation</Td></Tr>
<Tr><Td>ALARM</Td>
<Td>Femto is on Overload - or overload is not responding</Td></Tr>
<Tr><Td><b>ON</b></Td>
<Td><Font Size=-1>Normal operation</Font></Td></Tr>
<Tr><Td>RUNNING</Td>
<Td> Automatically Searching the good Gain.
</Td></Tr>
<Tr><Td><b>ALARM</b></Td>
<Td><Font Size=-1>Femto is on Overload - or overload is not responding</Font></Td></Tr>
<Tr><Td>FAULT</Td>
<Td>happend when :
<Tr><Td><b>RUNNING</b></Td>
<Td><Font Size=-1>Automatically Searching the good Gain.</Font></Td></Tr>
<Tr><Td><b>FAULT</b></Td>
<Td><Font Size=-1>happend when :
- Tango:exception occured during creation of the device proxy
- memory allocation problem</Td></Tr>
- memory allocation problem</Font></Td></Tr>
......@@ -79,7 +80,7 @@ Revision: - Author:
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3> ESRF - Software Engineering Group </H33>
<H3> ESRF - Software Engineering Group </H3>
</Center>
</body>
</html>
......@@ -10,16 +10,20 @@
<TR>
<TD ALIGN="left">
<A HREF="http://www.esrf.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/gifs/logo/80.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/esrf_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="center">
<A HREF="http://www.elettra.trieste.it/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/elettra_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/elettra_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<TD ALIGN="center">
<A HREF="http://www.synchrotron-soleil.fr/" TARGET=new>
<IMG SRC="http://www.esrf.fr/computing/cs/tango/soleil_logo.gif" BORDER=0></A>
<IMG SRC="http://controle/icons/soleil_logo.gif" BORDER=0></A>
</Td>
<TD ALIGN="right">
<A HREF="http://www.cells.es/" TARGET=new>
<IMG SRC="http://controle/icons/alba_logo.gif" BORDER=0></A>
</Td>
<Td>
<H2><FONT COLOR="#7F00FF">
......@@ -32,26 +36,37 @@
<HR WIDTH="100%"></H5>
<!---------- center>
<center>
<h1>
Femto Low-Noise Current Amplifier <Br>
Device Server User's Guide <Br><Br>
User's Guide <Br><Br>
FemtoCurrentAmplifier Class<Br>
</h1>
<b ---------->
Revision: - Author:
<b>
Revision: - Author: <Br>
Implemented in C++ - CVS repository: sourceforge(tango-ds)
</b>
</center>
<Br>
<Br>
<Br>
<Br>
<Br>
<Br>
<h2>Introduction:</h2>
<ul>
Device which controls the Femto Low-Noise Current Amplifier.<BR>
It uses the SingleShotDIO generic Device to communicate with the Femto.<Br>
</ul>
<Br>
<h2>Class Inheritance:</h2>
<ul>
<li> <a href="http://www.esrf.fr/computing/cs/tango/tango_doc/kernel_doc/cpp_doc/classTango_1_1Device__3Impl.html"> Tango::Device_3Impl</a></li>
<ul>
<li> FemtoCurrentAmplifier</li>
</ul>
</ul>
</ul>
</ul>
<Br>
<Br>
<h2>Description:</h2>
......@@ -73,16 +88,18 @@ It uses the SingleShotDIO generic Device to communicate with the Femto.<Br>
<Br>
<Br>
<h2>Conclusion:</h2>
<ul>
The device server is ready for distribution application programmers.<Br>
The author will be interested in any feedback which arise from their
usage of this device server.
</ul>
<Br>
<Center>
<Br>
<HR WIDTH="100%"></H5>
<H3> ESRF - Software Engineering Group </H33>
<H3> ESRF - Software Engineering Group </H3>
</Center>
</body>
</html>
static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/Femto/src/FemtoCurrentAmplifier.cpp,v 1.10 2007-06-08 10:00:57 sebleport Exp $";
static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/Femto/src/FemtoCurrentAmplifier.cpp,v 1.11 2007-09-19 12:22:32 flanglois Exp $";
//+=============================================================================
//
// file : FemtoCurrentAmplifier.cpp
......@@ -11,9 +11,9 @@ static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentatio
//
// project : TANGO Device Server
//
// $Author: sebleport $
// $Author: flanglois $
//
// $Revision: 1.10 $
// $Revision: 1.11 $
//
// $Log: not supported by cvs2svn $
//
......@@ -360,6 +360,8 @@ void FemtoCurrentAmplifier::read_upperBWLimit(Tango::Attribute &attr)
{
DEBUG_STREAM << "FemtoCurrentAmplifier::read_upperBWLimit(Tango::Attribute &attr) entering... "<< endl;
//- Nothing has to be written here because it's a WRITE ONLY attribute
}
//+----------------------------------------------------------------------------
......@@ -458,7 +460,7 @@ void FemtoCurrentAmplifier::write_gain(Tango::WAttribute &attr)
attr.get_write_value(attr_gain_write);
if(attr_gain_write > MAX_GAIN_INDEX)
if((attr_gain_write > MAX_GAIN_INDEX) || (attr_gain_write < 0))
{
Tango::Except::throw_exception ((const char *)"DATA_OUT_OF_RANGE",
(const char *)"Gain value out of range: value is valid between 0 and 6 (or 0 and 5 for a 100)" ,
......
# Microsoft Developer Studio Project File - Name="FemtoCurrentAmplifier" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=FemtoCurrentAmplifier - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "FemtoCurrentAmplifier.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "FemtoCurrentAmplifier.mak" CFG="FemtoCurrentAmplifier - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "FemtoCurrentAmplifier - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "FemtoCurrentAmplifier - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "FemtoCurrentAmplifier - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "FemtoCurrentAmplifier - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "debug"
# PROP Intermediate_Dir "debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "$(TANGO_HOME)\include\win32" /I "" /I "." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_WINSTATIC" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 tangod.lib log4tangod.lib COS4d.lib omniDynamic4d.lib omniORB4d.lib omnithreadd.lib mswsock.lib ws2_32.lib comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"$(TANGO_HOME)\lib\win32\debug"
!ENDIF
# Begin Target
# Name "FemtoCurrentAmplifier - Win32 Release"
# Name "FemtoCurrentAmplifier - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=ClassFactory.cpp
# End Source File
# Begin Source File
SOURCE=main.cpp
# End Source File
# Begin Source File
SOURCE=FemtoCurrentAmplifier.cpp
# End Source File
# Begin Source File
SOURCE=FemtoCurrentAmplifierClass.cpp
# End Source File
# Begin Source File
SOURCE=FemtoCurrentAmplifierStateMachine.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=FemtoCurrentAmplifier.h
# End Source File
# Begin Source File
SOURCE=FemtoCurrentAmplifierClass.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project
......@@ -6,9 +6,9 @@
//
// project : Femto Low-Noise Current Amplifier
//
// $Author: sebleport $
// $Author: flanglois $
//
// $Revision: 1.9 $
// $Revision: 1.10 $
//
// $Log: not supported by cvs2svn $
//
......@@ -33,8 +33,8 @@
//using namespace Tango;
/**
* @author $Author: sebleport $
* @version $Revision: 1.9 $
* @author $Author: flanglois $
* @version $Revision: 1.10 $
*/
// Add your own constants definitions here.
......
static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/Femto/src/FemtoCurrentAmplifierClass.cpp,v 1.4 2007-06-06 14:36:38 sebleport Exp $";
static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/Femto/src/FemtoCurrentAmplifierClass.cpp,v 1.5 2007-09-19 12:22:32 flanglois Exp $";
static const char *TagName = "$Name: not supported by cvs2svn $";
......@@ -20,9 +20,9 @@ static const char *RCSfile = "$RCSfile: FemtoCurrentAmplifierClass.cpp,v $";
//
// project : TANGO Device Server
//
// $Author: sebleport $
// $Author: flanglois $
//
// $Revision: 1.4 $
// $Revision: 1.5 $
//
// $Log: not supported by cvs2svn $
//
......@@ -317,6 +317,8 @@ void FemtoCurrentAmplifierClass::attribute_factory(vector<Tango::Attr *> &att_li
gain_prop.set_format("%1d");
gain_prop.set_description("Select a Gain (0-6). <BR>\n------------------------------------------------------<BR>\n0 & HS -> 10^5 ; 0 & LN -> 10^3<BR>\n1 & HS -> 10^6 ; 1 & LN -> 10^4<BR>\n2 & HS -> 10^7 ; 2 & LN -> 10^5<BR>\n3 & HS -> 10^8 ; 3 & LN -> 10^6<BR>\n4 & HS -> 10^9 ; 4 & LN -> 10^7<BR>\n5 & HS -> 10^10; 5 & LN -> 10^8<BR>\n6 & HS -> 10^11; 6 & LN -> 10^9");
gain->set_default_properties(gain_prop);
gain->set_memorized();
gain->set_memorized_init(true);
att_list.push_back(gain);
// Attribute : coupling
......
......@@ -12,7 +12,7 @@
//
// $Author: flanglois $
//
// $Revision: 1.2 $
// $Revision: 1.3 $
//
// $Log: not supported by cvs2svn $
//
......
static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/Femto/src/FemtoCurrentAmplifierStateMachine.cpp,v 1.2 2006-10-12 10:18:44 flanglois Exp $";
static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentation/Femto/src/FemtoCurrentAmplifierStateMachine.cpp,v 1.3 2007-09-19 12:22:44 flanglois Exp $";
//+=============================================================================
//
// file : FemtoCurrentAmplifierStateMachine.cpp
......@@ -10,7 +10,7 @@ static const char *RcsId = "$Header: /users/chaize/newsvn/cvsroot/Instrumentatio
//
// $Author: flanglois $
//
// $Revision: 1.2 $
// $Revision: 1.3 $
//
// $Log: not supported by cvs2svn $
//
......
......@@ -6,9 +6,9 @@
#
# project : Makefile to generate a Tango server
#
# $Author: stephle $
# $Author: flanglois $
#
# $Revision: 1.1 $
# $Revision: 1.2 $
#
# $Log: not supported by cvs2svn $
#
......@@ -25,7 +25,10 @@
#
CLASS = FemtoCurrentAmplifier
RELEASE = Release_1_0
MAJOR_VERS = 1
MINOR_VERS = 0
RELEASE = Release_$(MAJOR_VERS)_$(MINOR_VERS)
OS = $(shell /csadmin/common/scripts/get_os)
#-----------------------------------------
# Set default home directories
......@@ -35,24 +38,35 @@ TANGO_HOME = /segfs/tango
CPP_SERVERS = $(TANGO_HOME)/cppserver
ifdef no_debug
DBG = -O
DEBUG = -O
else
DBG = -g
DEBUG = -g
endif
ifdef _solaris
CC = CC
BIN_DIR = solaris9_CC
BIN_DIR=$(OS)_CC
AR_SL = $(CC) -mt -G
VERS_OPT = -h
SL_EXT = so
endif
ifdef linux
CC = c++
CC_SHLIB = $(CC) -fPIC
AR = ar
BIN_DIR=suse82
BIN_DIR=$(OS)
AR_SL = $(CC) -fPIC -shared
SL_EXT = so
VERS_OPT = -Wl,-soname,
endif
INCLUDE_DIRS = -I$(TANGO_HOME)/include/$(BIN_DIR) -I. \
-I$(CPP_SERVERS)/include
OBJS_DIR = obj/$(BIN_DIR)
LIB_DIRS = -L $(TANGO_HOME)/lib/$(BIN_DIR)
TARGET_LIB = $(CPP_SERVERS)/lib/$(BIN_DIR)/libtgclasses.a
......@@ -93,20 +107,26 @@ endif
# Set dependences
#-----------------------------------------
SVC_OBJS = $(OBJS_DIR)/main.o \
$(OBJS_DIR)/ClassFactory.o \
$(OBJS_DIR)/$(CLASS)Class.o \
$(OBJS_DIR)/$(CLASS)StateMachine.o \
$(OBJS_DIR)/$(CLASS).o
SHLIB_OBJS = $(OBJS_DIR)/$(CLASS)Class.so.o \
$(OBJS_DIR)/$(CLASS)StateMachine.so.o \
$(OBJS_DIR)/$(CLASS).so.o
SVC_OBJS = main.o \
ClassFactory.o \
$(CLASS)Class.o \
$(CLASS)StateMachine.o \
$(CLASS).o
SVC_INC = $(CLASS)Class.h \
$(CLASS).h
%.o: %.cpp $(SVC_INC)
$(CC) $(CXXFLAGS) -c $<
$(OBJS_DIR)/%.o: %.cpp $(SVC_INC)
$(CC) $(CXXFLAGS) -c $< -o $(OBJS_DIR)/$*.o
$(OBJS_DIR)/%.so.o: %.cpp $(SVC_INC)
$(CC_SHLIB) $(CXXFLAGS) -c $< -o $(OBJS_DIR)/$*.so.o
#-----------------------------------------
......@@ -114,18 +134,42 @@ SVC_INC = $(CLASS)Class.h \
#-----------------------------------------
all: $(CLASS)
$(CLASS): $(SVC_OBJS)
$(CLASS): make_obj_dir make_bin_dir $(SVC_OBJS)
$(CC) $(SVC_OBJS) -o $(CLASS) $(LFLAGS)
@mv $(CLASS) bin/$(BIN_DIR)/$(CLASS)
shlib: make_obj_dir make_shlib_dir $(SHLIB_OBJS)
$(AR_SL) -o \
shlib/$(BIN_DIR)/$(CLASS).$(SL_EXT).$(MAJOR_VERS).$(MINOR_VERS) \
$(VERS_OPT)$(CLASS).$(SL_EXT).$(MAJOR_VERS) \
$(SHLIB_OBJS) $(LFLAGS)
@rm -f shlib/$(BIN_DIR)/$(CLASS).$(SL_EXT)
@cd shlib/$(BIN_DIR); \
ln -s $(CLASS).$(SL_EXT).$(MAJOR_VERS).$(MINOR_VERS) $(CLASS).$(SL_EXT)
clean:
rm -f *.o $(CLASS) core
rm -f $(OBJS_DIR)/*.o \
$(OBJS_DIR)/*.so.o \
bin/$(BIN_DIR)/$(CLASS) \
core
make_obj_dir:
@mkdir -p obj
@mkdir -p obj/$(BIN_DIR)
make_bin_dir:
@mkdir -p bin
@mkdir -p bin/$(BIN_DIR)
make_shlib_dir:
@mkdir -p shlib
@mkdir -p shlib/$(BIN_DIR)
#-----------------------------------------
# Install binary file
#-----------------------------------------
install:
cp $(CLASS) $(TANGO_HOME)/bin/$(BIN_DIR)
cp bin/$(BIN_DIR)/$(CLASS) $(TANGO_HOME)/bin/$(BIN_DIR)
#-----------------------------------------
# Update class library and header files
......@@ -137,7 +181,7 @@ lib: clean
ar ruv $(TARGET_LIB) $(CLASS).o
ar ruv $(TARGET_LIB) $(CLASS)Class.o
ar ruv $(TARGET_LIB) $(CLASS)StateMachine.o
ident $(TARGET_LIB)
ident $(TARGET_LIB) | grep $(CLASS)
#----------------------------------------------------
# Tag the CVS module corresponding to this class
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment