<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://clonwiki0.jlab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=98.166.92.51</id>
	<title>CLONWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://clonwiki0.jlab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=98.166.92.51"/>
	<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Special:Contributions/98.166.92.51"/>
	<updated>2026-04-07T21:10:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6012</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6012"/>
		<updated>2012-11-21T02:50:42Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changing code:&#039;&#039;&#039; &#039;&#039;ssh clas12run@svt2&#039;&#039;, &#039;&#039;cd $CODA/src/rol&#039;&#039;, &#039;&#039;make&#039;&#039; to recompile &#039;&#039;./code.s/vscm.c&#039;&#039; and &#039;&#039;make urols&#039;&#039; to recompile &#039;&#039;./rol/svt2.c&#039;&#039; (last file must be touched to force makefile to recompile it - bug to be fixed).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data format from the board:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
               0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
               0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
               1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/dictEntry&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data format after ROL2:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/dictEntry&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6011</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6011"/>
		<updated>2012-11-21T02:50:06Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changing code:&#039;&#039;&#039; &#039;&#039;ssh clas12run@svt2&#039;&#039;, &#039;&#039;cd $CODA/src/rol&#039;&#039;, &#039;&#039;make&#039;&#039; to recompile &#039;&#039;./code.s/vscm.c&#039;&#039; and &#039;&#039;make urols&#039;&#039; to recompile &#039;&#039;./rol/svt2.c&#039;&#039; (last file must be touched to force makefile to recompile it - bug to be fixed).&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
               0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
               0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
               1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/dictEntry&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/dictEntry&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6010</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6010"/>
		<updated>2012-11-21T02:48:38Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changing code:&#039;&#039;&#039; &#039;&#039;ssh clas12run@svt2&#039;&#039;, &#039;&#039;cd $CODA/src/rol&#039;&#039;, &#039;&#039;make&#039;&#039; to recompile &#039;&#039;./code.s/vscm.c&#039;&#039; and &#039;&#039;make urols&#039;&#039; to recompile &#039;&#039;./rol/svt2.c&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
               0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
               0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
               1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/dictEntry&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/dictEntry&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6009</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6009"/>
		<updated>2012-11-21T02:45:47Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
               0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
               0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
               1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/dictEntry&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/dictEntry&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6008</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6008"/>
		<updated>2012-11-21T02:43:58Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
               0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
               0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
               1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;/description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/dictEntry&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6007</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6007"/>
		<updated>2012-11-21T02:42:51Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
               0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
               0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
               1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6006</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6006"/>
		<updated>2012-11-21T02:41:59Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      &amp;lt;nowiki&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
               0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
               0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
               1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6005</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6005"/>
		<updated>2012-11-21T02:40:13Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
		       0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
                       0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
                       1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6004</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6004"/>
		<updated>2012-11-21T02:38:40Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;nowiki&amp;gt;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
		       0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
		       0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
		       1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6003</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6003"/>
		<updated>2012-11-21T02:37:12Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
		       0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
		       0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
		       1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6002</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6002"/>
		<updated>2012-11-21T02:36:35Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
		       0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
		       0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
		       1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6001</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6001"/>
		<updated>2012-11-21T02:35:44Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
		       0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
		       0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
		       1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6000</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=6000"/>
		<updated>2012-11-21T02:31:42Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
	&amp;amp;&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
		       0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
		       0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
		       1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=5999</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=5999"/>
		<updated>2012-11-21T02:25:12Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
{|&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
		       0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
		       0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
		       1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=5998</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=5998"/>
		<updated>2012-11-21T02:15:52Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Preliminary document 1: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
Preliminary document 2: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
		       0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
		       0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
		       1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=5997</id>
		<title>JLAB VME VSCM</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_VSCM&amp;diff=5997"/>
		<updated>2012-11-21T02:14:25Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CLAS12 SVT readout board, designed by JLAB Fast Electronics Group (Ben Raydo).&lt;br /&gt;
&lt;br /&gt;
Some preliminary documents: [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_TDR_May2012.docx (docx)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.pdf (pdf)]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_VSCM_D00000-16-08-S004-VSCM_Module.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SVT2 testsetup:&#039;&#039;&#039; contains VSCM board(s), SD, TI and compactflash-based CPU. To start CODA &#039;&#039;ssh clasrun@svt2&#039;&#039; and type &#039;&#039;svt2_start&#039;&#039;. To kill CODA type &#039;&#039;svt2_exit&#039;&#039;. Config file: &#039;&#039;$CLAS/parms/vscm/VSCMConfig.txt&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data format from the board:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Hadrware Data&amp;quot; tag=&amp;quot;0x0000&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x00 &amp;quot;BLKHDR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:11)        &amp;quot;NEVENTS&amp;quot;&lt;br /&gt;
               0(10:00)        &amp;quot;BLOCK&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x01 &amp;quot;BLKTLR&amp;quot;&lt;br /&gt;
               0(26:22)        &amp;quot;SLOTID&amp;quot;&lt;br /&gt;
               0(21:0)         &amp;quot;NWORDS&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x02 &amp;quot;EVTHDR&amp;quot;&lt;br /&gt;
		       0(26:0)         &amp;quot;EVENT&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x03 &amp;quot;TRGTIME&amp;quot;&lt;br /&gt;
		       0(23:0)         &amp;quot;TIMEH&amp;quot;&lt;br /&gt;
		       1(23:0)         &amp;quot;TIMEL&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;BCO&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0E &amp;quot;DNV&amp;quot;&lt;br /&gt;
            0(31:27)=0x10+0x0F &amp;quot;FILLER&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Data format after ROL2:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;dictEntry name=&amp;quot;SVT Raw Data&amp;quot; tag=&amp;quot;0xe104&amp;quot; num=&amp;quot;0&amp;quot; type=&amp;quot;uint32&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;&lt;br /&gt;
            0(31:27)=0x10+0x08 &amp;quot;FSSREVT&amp;quot;&lt;br /&gt;
               0(22:22)        &amp;quot;HFCBID&amp;quot;&lt;br /&gt;
               0(21:19)        &amp;quot;CHIPID&amp;quot;&lt;br /&gt;
               0(18:12)        &amp;quot;CH&amp;quot;&lt;br /&gt;
               0(11:04)        &amp;quot;LATENCY&amp;quot;&lt;br /&gt;
               0(02:00)        &amp;quot;ADC&amp;quot;&lt;br /&gt;
		&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/dictEntry&amp;gt;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Clonweb&amp;diff=5939</id>
		<title>Clonweb</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Clonweb&amp;diff=5939"/>
		<updated>2012-09-27T23:00:21Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RHEL6 ==&lt;br /&gt;
&lt;br /&gt;
* yum install httpd-devel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== old stuff ==&lt;br /&gt;
&lt;br /&gt;
TO BE: Sun X4100 server, currently old desktop.&lt;br /&gt;
&lt;br /&gt;
IP address:&lt;br /&gt;
 clonweb/129.57.167.42&lt;br /&gt;
&lt;br /&gt;
TO BE IP address:&lt;br /&gt;
 clonweb-new/129.57.167.26/00:11:43:35:48:4A&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;clonweb&#039;&#039; is CLON group web server holding monitoring and utility tools as well as documentation.&lt;br /&gt;
It assume to be viewed by everybody but can be modified by CLON system experts only.&lt;br /&gt;
It is running RHEL4 in almost standard configuration, with extra &#039;clonweb&#039; partition from file server&lt;br /&gt;
mounted as &#039;/www&#039; where all CLON applications are held. There are some restrictions: &#039;clonweb&#039; is not&lt;br /&gt;
visible from outside of JLAB firewall. Access to &#039;clonweb&#039; is opened through port 80 only, so only web browsing&lt;br /&gt;
shell be used. Main index.html menu contains full list of applications running on &#039;clonweb&#039;.&lt;br /&gt;
&lt;br /&gt;
Following procedures were used to install an applications:&lt;br /&gt;
&lt;br /&gt;
== apache ==&lt;br /&gt;
&lt;br /&gt;
See [[Apache]] for Apache and PHP installation procedure.&lt;br /&gt;
&lt;br /&gt;
== wiki ==&lt;br /&gt;
&lt;br /&gt;
Wiki were moved to [[Clonwiki]] machine, reference link will point you there.&lt;br /&gt;
&lt;br /&gt;
== phpmyadmin ==&lt;br /&gt;
&lt;br /&gt;
  su&lt;br /&gt;
  download &#039;phpMyAdmin-2.9.1.1-english.tar.gz&#039; from web to &#039;/usr/local/downloads&#039;&lt;br /&gt;
  cp phpMyAdmin-2.9.1.1-english.tar.gz /www/apache2.2.3/htdocs&lt;br /&gt;
  cd /www/apache2.2.3/htdocs&lt;br /&gt;
  gunzip  phpMyAdmin-2.9.1.1-english.tar.gz&lt;br /&gt;
  tar xvf phpMyAdmin-2.9.1.1-english.tar&lt;br /&gt;
  mv phpMyAdmin-2.9.1.1-english phpMyAdmin&lt;br /&gt;
  cd phpMyAdmin&lt;br /&gt;
  cp config.sample.inc.php config.inc.php&lt;br /&gt;
&lt;br /&gt;
Edit config.inc.php setting following (&#039;controlpass&#039; must be the root password to mysql):&lt;br /&gt;
If &#039;holla&#039; is not set message &#039;The configuration file now needs a secret passphrase&lt;br /&gt;
(blowfish_secret).&#039; will shows up (&#039;holla&#039; can be any word ???):&lt;br /&gt;
&lt;br /&gt;
  $cfg[&#039;blowfish_secret&#039;] = &#039;holla&#039;; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */&lt;br /&gt;
  $cfg[&#039;Servers&#039;][$i][&#039;host&#039;] = &#039;clondb1.jlab.org&#039;;&lt;br /&gt;
  $cfg[&#039;Servers&#039;][$i][&#039;controluser&#039;] = &#039;root&#039;;&lt;br /&gt;
  $cfg[&#039;Servers&#039;][$i][&#039;controlpass&#039;] = &#039;********&#039;;&lt;br /&gt;
&lt;br /&gt;
Change config file&#039;s owner to &#039;apache&#039; and set maximum protective mode:&lt;br /&gt;
&lt;br /&gt;
  chown apache.apache config.inc.php&lt;br /&gt;
  chmod 400 config.inc.php&lt;br /&gt;
&lt;br /&gt;
NOTE: make sure that &#039;mysql -h clondb1 -u root -p&#039; works from clonweb; if not, grant&lt;br /&gt;
appropriate mysql privileges.&lt;br /&gt;
&lt;br /&gt;
NOTE: following procedure was recommended but did not worked for me:&lt;br /&gt;
&lt;br /&gt;
  mkdir config&lt;br /&gt;
  chmod 777 config&lt;br /&gt;
  cp config.sample.inc.php config/config.inc.php&lt;br /&gt;
  chmod 666 config/config.inc.php&lt;br /&gt;
  open browser (as &#039;root&#039; ?), type following URL:&lt;br /&gt;
      http://clonweb/phpMyAdmin/scripts/setup.php&lt;br /&gt;
  Click on the &amp;quot;Add&amp;quot; button in the &amp;quot;Servers&amp;quot; section and fill in the following&lt;br /&gt;
  fields:&lt;br /&gt;
      Server hostname:	clondb1.jlab.org&lt;br /&gt;
         (This is the host that your MySQL server is running on)&lt;br /&gt;
      Server port:	3306&lt;br /&gt;
         (the port your MySQL server is configured to use)&lt;br /&gt;
      Password for config auth:	....&lt;br /&gt;
         (the root password for your MySQL server)&lt;br /&gt;
  Press the button that says &amp;quot;Add&amp;quot; in green. Then press the &amp;quot;Save&amp;quot; button in&lt;br /&gt;
  the &amp;quot;Configuration&amp;quot; section.&lt;br /&gt;
  Now copy the configuration file into the main directory and delete the config&lt;br /&gt;
  directory:&lt;br /&gt;
      cp config/config.inc.php ./&lt;br /&gt;
      rm -rf config&lt;br /&gt;
  Assuming your MySQL server is running, you are now ready to connect to it and&lt;br /&gt;
  administer it with phpMyAdmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Start a Web browser and enter the following URL: http://clonweb/phpMyAdmin/&lt;br /&gt;
&lt;br /&gt;
== preparations for dual apachies ==&lt;br /&gt;
&lt;br /&gt;
from web:&lt;br /&gt;
&lt;br /&gt;
    If you need to run two different apache installations on the same box, the quickest way, IMO, is to have two separate conf files for the&lt;br /&gt;
 servers (/usr/local/apache/conf/httpd-server1.conf and /usr/local/apache/conf/httpd-server2.conf). In your startup script, you will need&lt;br /&gt;
 to tell apache where to find the conf file, which I think is -f, but that&#039;s off the top of my head. The drawback here is that if both servers &lt;br /&gt;
 need to share the machine name (both departments use http://foo), then at least one server will need to be on a non-standard port,&lt;br /&gt;
 giving you something like http://foo and http://foo:8080. That&#039;s fine. It works. It&#039;s just extra work for one department.&lt;br /&gt;
   Now, if one machine will run both servers, but under different names (i.e., foo1 and foo2) you can use apache&#039;s vhosting capabilites. I&#039;ve&lt;br /&gt;
 never had to do this, so I don&#039;t know how to. :) The conf file that comes with the distro is pretty well documented, so it shouldn&#039;t be too&lt;br /&gt;
 difficult to figure.&lt;br /&gt;
   A third option is to use .htaccess. I&#039;m going to assume that some form of authentication is going to be used. If not, one department&lt;br /&gt;
 could just as easily look at http://foo1 as changing from http://foo/dept1 to http://foo/dept2. Using .htaccess, you can restrict access to&lt;br /&gt;
 the directories on a per-user basis (which can present maintenance issues) and serve all content off one server. I don&#039;t know all the&lt;br /&gt;
 particulars of your situation, but this is what I would lean toward if I could.&lt;br /&gt;
&lt;br /&gt;
see also page http://httpd.apache.org/docs/2.0/vhosts/examples.html, in particular:&lt;br /&gt;
&lt;br /&gt;
 The server has two IP addresses. On one (172.20.30.40), we will serve the &amp;quot;main&amp;quot; server, server.domain.com and on the other (172.20.30.50), &lt;br /&gt;
 we will serve two or more virtual hosts. Server configuration:&lt;br /&gt;
     Listen 80&lt;br /&gt;
     # This is the &amp;quot;main&amp;quot; server running on 172.20.30.40&lt;br /&gt;
     ServerName server.domain.com&lt;br /&gt;
     DocumentRoot /www/mainserver&lt;br /&gt;
     # This is the other address&lt;br /&gt;
     NameVirtualHost 172.20.30.50&lt;br /&gt;
     &amp;lt;VirtualHost 172.20.30.50&amp;gt;&lt;br /&gt;
     DocumentRoot /www/example1&lt;br /&gt;
     ServerName www.example1.com&lt;br /&gt;
     # Other directives here ...&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
     &amp;lt;VirtualHost 172.20.30.50&amp;gt;&lt;br /&gt;
     DocumentRoot /www/example2&lt;br /&gt;
     ServerName www.example2.org&lt;br /&gt;
     # Other directives here ...&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 Any request to an address other than 172.20.30.50 will be served from the main server. A request to 172.20.30.50&lt;br /&gt;
 with an unknown hostname, or no Host: header, will be served from www.example1.com.&lt;br /&gt;
&lt;br /&gt;
 The server machine has two IP addresses (192.168.1.1 and 172.20.30.40). The machine is sitting between an internal (intranet)&lt;br /&gt;
 network and an external (internet) network. Outside of the network, the name server.example.com resolves to the external &lt;br /&gt;
 address (172.20.30.40), but inside the network, that same name resolves to the internal address (192.168.1.1).&lt;br /&gt;
 The server can be made to respond to internal and external requests with the same content, with just one VirtualHost section.&lt;br /&gt;
 Server configuration:&lt;br /&gt;
     NameVirtualHost 192.168.1.1&lt;br /&gt;
     NameVirtualHost 172.20.30.40&lt;br /&gt;
     &amp;lt;VirtualHost 192.168.1.1 172.20.30.40&amp;gt;&lt;br /&gt;
     DocumentRoot /www/server1&lt;br /&gt;
     ServerName server.example.com&lt;br /&gt;
     ServerAlias server&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 Now requests from both networks will be served from the same VirtualHost.&lt;br /&gt;
 Note:&lt;br /&gt;
   On the internal network, one can just use the name server rather than the fully qualified host name server.example.com.&lt;br /&gt;
   Note also that, in the above example, you can replace the list of IP addresses with *, which will cause the server to respond the same&lt;br /&gt;
   on all addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
&lt;br /&gt;
smartd fails on boot startup 17-jan-2007&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Clonweb&amp;diff=5938</id>
		<title>Clonweb</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Clonweb&amp;diff=5938"/>
		<updated>2012-09-27T22:53:27Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RHEL6 ==&lt;br /&gt;
&lt;br /&gt;
* yum install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== old stuff ==&lt;br /&gt;
&lt;br /&gt;
TO BE: Sun X4100 server, currently old desktop.&lt;br /&gt;
&lt;br /&gt;
IP address:&lt;br /&gt;
 clonweb/129.57.167.42&lt;br /&gt;
&lt;br /&gt;
TO BE IP address:&lt;br /&gt;
 clonweb-new/129.57.167.26/00:11:43:35:48:4A&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;clonweb&#039;&#039; is CLON group web server holding monitoring and utility tools as well as documentation.&lt;br /&gt;
It assume to be viewed by everybody but can be modified by CLON system experts only.&lt;br /&gt;
It is running RHEL4 in almost standard configuration, with extra &#039;clonweb&#039; partition from file server&lt;br /&gt;
mounted as &#039;/www&#039; where all CLON applications are held. There are some restrictions: &#039;clonweb&#039; is not&lt;br /&gt;
visible from outside of JLAB firewall. Access to &#039;clonweb&#039; is opened through port 80 only, so only web browsing&lt;br /&gt;
shell be used. Main index.html menu contains full list of applications running on &#039;clonweb&#039;.&lt;br /&gt;
&lt;br /&gt;
Following procedures were used to install an applications:&lt;br /&gt;
&lt;br /&gt;
== apache ==&lt;br /&gt;
&lt;br /&gt;
See [[Apache]] for Apache and PHP installation procedure.&lt;br /&gt;
&lt;br /&gt;
== wiki ==&lt;br /&gt;
&lt;br /&gt;
Wiki were moved to [[Clonwiki]] machine, reference link will point you there.&lt;br /&gt;
&lt;br /&gt;
== phpmyadmin ==&lt;br /&gt;
&lt;br /&gt;
  su&lt;br /&gt;
  download &#039;phpMyAdmin-2.9.1.1-english.tar.gz&#039; from web to &#039;/usr/local/downloads&#039;&lt;br /&gt;
  cp phpMyAdmin-2.9.1.1-english.tar.gz /www/apache2.2.3/htdocs&lt;br /&gt;
  cd /www/apache2.2.3/htdocs&lt;br /&gt;
  gunzip  phpMyAdmin-2.9.1.1-english.tar.gz&lt;br /&gt;
  tar xvf phpMyAdmin-2.9.1.1-english.tar&lt;br /&gt;
  mv phpMyAdmin-2.9.1.1-english phpMyAdmin&lt;br /&gt;
  cd phpMyAdmin&lt;br /&gt;
  cp config.sample.inc.php config.inc.php&lt;br /&gt;
&lt;br /&gt;
Edit config.inc.php setting following (&#039;controlpass&#039; must be the root password to mysql):&lt;br /&gt;
If &#039;holla&#039; is not set message &#039;The configuration file now needs a secret passphrase&lt;br /&gt;
(blowfish_secret).&#039; will shows up (&#039;holla&#039; can be any word ???):&lt;br /&gt;
&lt;br /&gt;
  $cfg[&#039;blowfish_secret&#039;] = &#039;holla&#039;; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */&lt;br /&gt;
  $cfg[&#039;Servers&#039;][$i][&#039;host&#039;] = &#039;clondb1.jlab.org&#039;;&lt;br /&gt;
  $cfg[&#039;Servers&#039;][$i][&#039;controluser&#039;] = &#039;root&#039;;&lt;br /&gt;
  $cfg[&#039;Servers&#039;][$i][&#039;controlpass&#039;] = &#039;********&#039;;&lt;br /&gt;
&lt;br /&gt;
Change config file&#039;s owner to &#039;apache&#039; and set maximum protective mode:&lt;br /&gt;
&lt;br /&gt;
  chown apache.apache config.inc.php&lt;br /&gt;
  chmod 400 config.inc.php&lt;br /&gt;
&lt;br /&gt;
NOTE: make sure that &#039;mysql -h clondb1 -u root -p&#039; works from clonweb; if not, grant&lt;br /&gt;
appropriate mysql privileges.&lt;br /&gt;
&lt;br /&gt;
NOTE: following procedure was recommended but did not worked for me:&lt;br /&gt;
&lt;br /&gt;
  mkdir config&lt;br /&gt;
  chmod 777 config&lt;br /&gt;
  cp config.sample.inc.php config/config.inc.php&lt;br /&gt;
  chmod 666 config/config.inc.php&lt;br /&gt;
  open browser (as &#039;root&#039; ?), type following URL:&lt;br /&gt;
      http://clonweb/phpMyAdmin/scripts/setup.php&lt;br /&gt;
  Click on the &amp;quot;Add&amp;quot; button in the &amp;quot;Servers&amp;quot; section and fill in the following&lt;br /&gt;
  fields:&lt;br /&gt;
      Server hostname:	clondb1.jlab.org&lt;br /&gt;
         (This is the host that your MySQL server is running on)&lt;br /&gt;
      Server port:	3306&lt;br /&gt;
         (the port your MySQL server is configured to use)&lt;br /&gt;
      Password for config auth:	....&lt;br /&gt;
         (the root password for your MySQL server)&lt;br /&gt;
  Press the button that says &amp;quot;Add&amp;quot; in green. Then press the &amp;quot;Save&amp;quot; button in&lt;br /&gt;
  the &amp;quot;Configuration&amp;quot; section.&lt;br /&gt;
  Now copy the configuration file into the main directory and delete the config&lt;br /&gt;
  directory:&lt;br /&gt;
      cp config/config.inc.php ./&lt;br /&gt;
      rm -rf config&lt;br /&gt;
  Assuming your MySQL server is running, you are now ready to connect to it and&lt;br /&gt;
  administer it with phpMyAdmin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Start a Web browser and enter the following URL: http://clonweb/phpMyAdmin/&lt;br /&gt;
&lt;br /&gt;
== preparations for dual apachies ==&lt;br /&gt;
&lt;br /&gt;
from web:&lt;br /&gt;
&lt;br /&gt;
    If you need to run two different apache installations on the same box, the quickest way, IMO, is to have two separate conf files for the&lt;br /&gt;
 servers (/usr/local/apache/conf/httpd-server1.conf and /usr/local/apache/conf/httpd-server2.conf). In your startup script, you will need&lt;br /&gt;
 to tell apache where to find the conf file, which I think is -f, but that&#039;s off the top of my head. The drawback here is that if both servers &lt;br /&gt;
 need to share the machine name (both departments use http://foo), then at least one server will need to be on a non-standard port,&lt;br /&gt;
 giving you something like http://foo and http://foo:8080. That&#039;s fine. It works. It&#039;s just extra work for one department.&lt;br /&gt;
   Now, if one machine will run both servers, but under different names (i.e., foo1 and foo2) you can use apache&#039;s vhosting capabilites. I&#039;ve&lt;br /&gt;
 never had to do this, so I don&#039;t know how to. :) The conf file that comes with the distro is pretty well documented, so it shouldn&#039;t be too&lt;br /&gt;
 difficult to figure.&lt;br /&gt;
   A third option is to use .htaccess. I&#039;m going to assume that some form of authentication is going to be used. If not, one department&lt;br /&gt;
 could just as easily look at http://foo1 as changing from http://foo/dept1 to http://foo/dept2. Using .htaccess, you can restrict access to&lt;br /&gt;
 the directories on a per-user basis (which can present maintenance issues) and serve all content off one server. I don&#039;t know all the&lt;br /&gt;
 particulars of your situation, but this is what I would lean toward if I could.&lt;br /&gt;
&lt;br /&gt;
see also page http://httpd.apache.org/docs/2.0/vhosts/examples.html, in particular:&lt;br /&gt;
&lt;br /&gt;
 The server has two IP addresses. On one (172.20.30.40), we will serve the &amp;quot;main&amp;quot; server, server.domain.com and on the other (172.20.30.50), &lt;br /&gt;
 we will serve two or more virtual hosts. Server configuration:&lt;br /&gt;
     Listen 80&lt;br /&gt;
     # This is the &amp;quot;main&amp;quot; server running on 172.20.30.40&lt;br /&gt;
     ServerName server.domain.com&lt;br /&gt;
     DocumentRoot /www/mainserver&lt;br /&gt;
     # This is the other address&lt;br /&gt;
     NameVirtualHost 172.20.30.50&lt;br /&gt;
     &amp;lt;VirtualHost 172.20.30.50&amp;gt;&lt;br /&gt;
     DocumentRoot /www/example1&lt;br /&gt;
     ServerName www.example1.com&lt;br /&gt;
     # Other directives here ...&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
     &amp;lt;VirtualHost 172.20.30.50&amp;gt;&lt;br /&gt;
     DocumentRoot /www/example2&lt;br /&gt;
     ServerName www.example2.org&lt;br /&gt;
     # Other directives here ...&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 Any request to an address other than 172.20.30.50 will be served from the main server. A request to 172.20.30.50&lt;br /&gt;
 with an unknown hostname, or no Host: header, will be served from www.example1.com.&lt;br /&gt;
&lt;br /&gt;
 The server machine has two IP addresses (192.168.1.1 and 172.20.30.40). The machine is sitting between an internal (intranet)&lt;br /&gt;
 network and an external (internet) network. Outside of the network, the name server.example.com resolves to the external &lt;br /&gt;
 address (172.20.30.40), but inside the network, that same name resolves to the internal address (192.168.1.1).&lt;br /&gt;
 The server can be made to respond to internal and external requests with the same content, with just one VirtualHost section.&lt;br /&gt;
 Server configuration:&lt;br /&gt;
     NameVirtualHost 192.168.1.1&lt;br /&gt;
     NameVirtualHost 172.20.30.40&lt;br /&gt;
     &amp;lt;VirtualHost 192.168.1.1 172.20.30.40&amp;gt;&lt;br /&gt;
     DocumentRoot /www/server1&lt;br /&gt;
     ServerName server.example.com&lt;br /&gt;
     ServerAlias server&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 Now requests from both networks will be served from the same VirtualHost.&lt;br /&gt;
 Note:&lt;br /&gt;
   On the internal network, one can just use the name server rather than the fully qualified host name server.example.com.&lt;br /&gt;
   Note also that, in the above example, you can replace the list of IP addresses with *, which will cause the server to respond the same&lt;br /&gt;
   on all addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
&lt;br /&gt;
smartd fails on boot startup 17-jan-2007&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5915</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5915"/>
		<updated>2012-08-19T18:08:19Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;span&amp;amp;gt; tag is used to group inline-elements in a document; it provides no visual change by itself; it  provides a way to add a hook to a part of a text or a part of a document; when the text is hooked in a &amp;lt;span&amp;gt; element you can add styles to the content, or manipulate the content with for example JavaScript&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break (Note: use it to insert line breaks, not to create paragraphs); in XHTML must be closed like this: &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table width=100%&amp;amp;gt; - defines width (in pixels); deprecated, but without it table will not use entire browser area, and &#039;align&#039; does not work in following &amp;lt;td&amp;gt; tags&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;select&amp;gt; - tag is used to create a drop-down list.; the &amp;lt;option&amp;gt; tags inside the &amp;lt;select&amp;gt; element define the available options in the list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;select size=&amp;quot;number&amp;quot;&amp;gt; - specifies the number of visible options in a drop-down list; if the value of the size attribute is greater than &amp;quot;1&amp;quot;, but lower than the total number of options in the list, the browser will add a scroll bar to indicate that there are more options to view&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;br /&gt;
&lt;br /&gt;
* {if isset($smarty.request.id)}Edit Cable{else}Insert new cable{/if} - if statement example; another example:&lt;br /&gt;
 {if $name eq &#039;Fred&#039;}&lt;br /&gt;
     Welcome Sir.&lt;br /&gt;
 {elseif $name eq &#039;Wilma&#039;}&lt;br /&gt;
     Welcome Ma&#039;am.&lt;br /&gt;
 {else}&lt;br /&gt;
     Welcome, whatever you are.&lt;br /&gt;
 {/if}&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5914</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5914"/>
		<updated>2012-08-19T17:53:26Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;span&amp;amp;gt; tag is used to group inline-elements in a document; it provides no visual change by itself; it  provides a way to add a hook to a part of a text or a part of a document; when the text is hooked in a &amp;lt;span&amp;gt; element you can add styles to the content, or manipulate the content with for example JavaScript&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break (Note: use it to insert line breaks, not to create paragraphs); in XHTML must be closed like this: &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table width=100%&amp;amp;gt; - defines width (in pixels); deprecated, but without it table will not use entire browser area, and &#039;align&#039; does not work in following &amp;lt;td&amp;gt; tags&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;select&amp;gt; - tag is used to create a drop-down list.; the &amp;lt;option&amp;gt; tags inside the &amp;lt;select&amp;gt; element define the available options in the list.&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;br /&gt;
&lt;br /&gt;
* {if isset($smarty.request.id)}Edit Cable{else}Insert new cable{/if} - if statement example; another example:&lt;br /&gt;
 {if $name eq &#039;Fred&#039;}&lt;br /&gt;
     Welcome Sir.&lt;br /&gt;
 {elseif $name eq &#039;Wilma&#039;}&lt;br /&gt;
     Welcome Ma&#039;am.&lt;br /&gt;
 {else}&lt;br /&gt;
     Welcome, whatever you are.&lt;br /&gt;
 {/if}&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5901</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5901"/>
		<updated>2012-08-11T22:01:09Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Smarty */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;span&amp;amp;gt; tag is used to group inline-elements in a document; it provides no visual change by itself; it  provides a way to add a hook to a part of a text or a part of a document; when the text is hooked in a &amp;lt;span&amp;gt; element you can add styles to the content, or manipulate the content with for example JavaScript&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break (Note: use it to insert line breaks, not to create paragraphs); in XHTML must be closed like this: &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;br /&gt;
&lt;br /&gt;
* {if isset($smarty.request.id)}Edit Cable{else}Insert new cable{/if} - if statement example; another example:&lt;br /&gt;
 {if $name eq &#039;Fred&#039;}&lt;br /&gt;
     Welcome Sir.&lt;br /&gt;
 {elseif $name eq &#039;Wilma&#039;}&lt;br /&gt;
     Welcome Ma&#039;am.&lt;br /&gt;
 {else}&lt;br /&gt;
     Welcome, whatever you are.&lt;br /&gt;
 {/if}&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5900</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5900"/>
		<updated>2012-08-11T21:59:51Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;span&amp;amp;gt; tag is used to group inline-elements in a document; it provides no visual change by itself; it  provides a way to add a hook to a part of a text or a part of a document; when the text is hooked in a &amp;lt;span&amp;gt; element you can add styles to the content, or manipulate the content with for example JavaScript&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break (Note: use it to insert line breaks, not to create paragraphs); in XHTML must be closed like this: &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;br /&gt;
&lt;br /&gt;
* {if isset($smarty.request.id)}Edit Cable{else}Insert new cable{/if} - if statement example&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5899</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5899"/>
		<updated>2012-08-11T21:52:40Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;span&amp;amp;gt; tag is used to group inline-elements in a document; it provides no visual change by itself; it  provides a way to add a hook to a part of a text or a part of a document; when the text is hooked in a &amp;lt;span&amp;gt; element you can add styles to the content, or manipulate the content with for example JavaScript&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break (Note: use it to insert line breaks, not to create paragraphs); in XHTML must be closed like this: &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5898</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5898"/>
		<updated>2012-08-11T21:52:07Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span&amp;gt; tag is used to group inline-elements in a document; it provides no visual change by itself; it  provides a way to add a hook to a part of a text or a part of a document; when the text is hooked in a &amp;lt;span&amp;gt; element you can add styles to the content, or manipulate the content with for example JavaScript&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break (Note: use it to insert line breaks, not to create paragraphs); in XHTML must be closed like this: &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5897</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5897"/>
		<updated>2012-08-11T21:48:33Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break (Note: use it to insert line breaks, not to create paragraphs); in XHTML must be closed like this: &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5896</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5896"/>
		<updated>2012-08-11T21:46:36Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break (Note: use it to insert line breaks, not to create paragraphs); in XHTML must be closed by &amp;amp;lt;\br&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5895</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5895"/>
		<updated>2012-08-11T21:46:04Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break (Note: Use the &amp;lt;br&amp;gt; tag to insert line breaks, not to create paragraphs); in XHTML must be closed by &amp;amp;lt;\br&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5894</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5894"/>
		<updated>2012-08-11T21:44:37Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;br&amp;amp;gt; tag inserts a single line break&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5893</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5893"/>
		<updated>2012-08-11T21:43:54Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;br&amp;gt; tag inserts a single line break&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5892</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5892"/>
		<updated>2012-08-11T21:38:10Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;b&amp;amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5891</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5891"/>
		<updated>2012-08-11T21:37:11Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt; renders as bold text&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5890</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5890"/>
		<updated>2012-08-11T16:51:13Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;returnTo&amp;quot; value=&amp;quot;{$smarty.request.returnTo}&amp;quot;&amp;gt; - &#039;&#039;type&#039;&#039; can be button, checkbox, file, hidden, image, password, radio, reset, submit, text; &#039;&#039;name&#039;&#039; attribute is used to reference elements in a JavaScript, or to reference form data after a form is submitted; &#039;&#039;value&#039;&#039; attribute specifies the value of an &amp;lt;input&amp;gt; element and used differently for different input types: for &amp;quot;button&amp;quot;, &amp;quot;reset&amp;quot;, and &amp;quot;submit&amp;quot; - it defines the text on the button, for &amp;quot;text&amp;quot;, &amp;quot;password&amp;quot;, and &amp;quot;hidden&amp;quot; - it defines the initial (default) value of the input field, for &amp;quot;checkbox&amp;quot;, &amp;quot;radio&amp;quot;, &amp;quot;image&amp;quot; - it defines the value associated with the input (this is also the value that is sent on submit) (Note1: The value attribute is required with &amp;lt;input type=&amp;quot;checkbox&amp;quot;&amp;gt; and &amp;lt;input type=&amp;quot;radio&amp;quot;&amp;gt;)(Note2: The value attribute cannot be used with &amp;lt;input type=&amp;quot;file&amp;quot;&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5889</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5889"/>
		<updated>2012-08-11T12:59:28Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* HTML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - &#039;&#039;name&#039;&#039; &amp;quot;frmCable&amp;quot; will be used to reference elements in a JavaScript (WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !); &#039;&#039;method&#039;&#039;  can be POST (the form-data can be sent as HTTP post) or GET (the form-data can be sent as URL variables); &#039;&#039;enctype&#039;&#039; specifies how the form-data should be encoded when submitting it to the server (only for method=&amp;quot;post&amp;quot;), can be &amp;quot;application/x-www-form-urlencoded&amp;quot; (default. all characters are encoded before sent, spaces are converted to &amp;quot;+&amp;quot; symbols, and special characters are converted to ASCII HEX values), &amp;quot;multipart/form-data&amp;quot; (no characters are encoded, this value is required when you are using forms that have a file upload control), &amp;quot;text/plain&amp;quot; (spaces are converted to &amp;quot;+&amp;quot; symbols, but no special characters are encoded).&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5888</id>
		<title>HTML Help</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=HTML_Help&amp;diff=5888"/>
		<updated>2012-08-11T12:48:23Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HTML ==&lt;br /&gt;
&lt;br /&gt;
See http://www.w3schools.com/tags/tag_form.asp&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tr&amp;gt; tag defines a row in an HTML table; &amp;lt;tr&amp;gt; element contains one or more &amp;lt;th&amp;gt; or &amp;lt;td&amp;gt; elements&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;th&amp;gt; tag defines a header cell in an HTML table, contains header information, text are bold and centered by default.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;td&amp;gt; tag defines a standard cell in an HTML table, contains data, text are regular and left-aligned by default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td class=&#039;&#039;classname&#039;&#039;&amp;gt; - standard attribute, the &#039;&#039;classname&#039;&#039; is mostly used to point to a class in a style sheet; however, it can also be used by a JavaScript (via the HTML DOM) to make changes to HTML elements with a specified class.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;N&amp;quot;&amp;gt; - N is the number of columns a cell should span&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td align=&amp;quot;xxx&amp;quot;&amp;gt; - aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;left&#039;&#039;, &#039;&#039;right&#039;&#039;, &#039;&#039;center&#039;&#039;, &#039;&#039;justify&#039;&#039;, &#039;&#039;char&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td valign=&amp;quot;xxx&amp;quot;&amp;gt; - vertical aligns the content in a cell; &amp;quot;xxx&amp;quot; can be &#039;&#039;top&#039;&#039;, &#039;&#039;middle&#039;&#039;, &#039;&#039;bottom&#039;&#039;, &#039;&#039;baseline&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;lt;table&amp;amp;gt; tag defines an HTML table; an HTML table consists of the &amp;amp;lt;table&amp;amp;gt; element and one or more &amp;lt;tr&amp;gt;, &amp;lt;th&amp;gt;, and &amp;lt;td&amp;gt; elements; the &amp;lt;tr&amp;gt; element defines a table row, the &amp;lt;th&amp;gt; element defines a table header, and the &amp;lt;td&amp;gt; element defines a table cell.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table cellpadding=&#039;&amp;quot;N&amp;quot; cellspacing=&#039;&amp;quot;M&amp;quot;&amp;amp;gt; - N is the space between the cell wall and the cell content, M is the space between cells (in pixels)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;border: 3px solid #DDDDDD&amp;quot;&amp;amp;gt; - the width of the borders around a table will be 3 pixels, it will be solid and light grey&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table style=&amp;quot;display: none;&amp;quot;&amp;amp;gt; - the table will not be displayed at all&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;table id=&amp;quot;tblCblTypes&amp;quot;&amp;amp;gt;  - specifies a unique id &#039;&#039;tblCblTypes&#039;&#039; for the table; it can be used to manipulate table with JavaScript (document.getElementById(`tblCblTypes`)...)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;form&amp;gt; - HTML form is used to pass data to a server; can contain one or more of the following form elements: &amp;lt;input&amp;gt;, &amp;lt;textarea&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;optgroup&amp;gt;, &amp;lt;fieldset&amp;gt;, &amp;lt;label&amp;gt; (NOTE: The &amp;lt;form&amp;gt; element is a block-level element, and browsers create a line break before and after a form)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form name=&amp;quot;frmCable&amp;quot; method=&amp;quot;POST&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt; - form name is &amp;quot;frmCable&amp;quot; (will be used to reference elements in a JavaScript; WILL BE DEPRECATED IN XHTML, use &#039;id&#039; instead !), &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Smarty ==&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=CMON&amp;diff=5829</id>
		<title>CMON</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=CMON&amp;diff=5829"/>
		<updated>2012-06-02T00:16:37Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Algoritms and Structure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;CMON&#039;&#039;&#039; is CLAS Online Data Monitoring program. It does real time event reconstruction using old &#039;sda&#039; program rewritten to C and modified for multithreaded environment.&lt;br /&gt;
&lt;br /&gt;
== Algoritms and Structure ==&lt;br /&gt;
&lt;br /&gt;
Code location: &#039;&#039;$CLON/src/cmon&#039;&#039;. Following describes core libraries. Usually library &#039;xx&#039; has xxinit() and xxlib() calls as an interface.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pattern recognition&#039;&#039;&#039; library, located in &#039;&#039;prlib.s&#039;&#039;:&lt;br /&gt;
* ec_export.c - fills ECPI bank&lt;br /&gt;
* eclib.c - EC (Forward Calorimeter) calorimeter reconstruction library&lt;br /&gt;
* iclib.c - IC (Inner Calorimeter) reconstruction library&lt;br /&gt;
* pr_export.c - interface to offline packages, in particular makes DC1 bank&lt;br /&gt;
* prlib.c - Drift Chamber pattern recognition, in particular Road Finder&lt;br /&gt;
* sglib.c - Drift Chamber Segment Finder&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Track reconstruction&#039;&#039;&#039; library, located in &#039;&#039;trlib.s&#039;&#039;.&lt;br /&gt;
* alu.c&lt;br /&gt;
* cmlib.c - main calls&lt;br /&gt;
* dcbrun.c - called from cmlib in the beginning of every run&lt;br /&gt;
* dcdcam.c - derives &amp;quot;dcam&amp;quot; for each hit of the candidate track (calls: scmatch, scbeta, scdtime, dcdocam, dclramb)&lt;br /&gt;
* dcdocam.c -  calculates distance to the hit wire (calls: none)&lt;br /&gt;
* dcdsect.c - draw sector geometry, tracks and hits&lt;br /&gt;
* dcerun.c&lt;br /&gt;
* dcfield.c - Performs 3-dim 2-nd order interpolation for each component of the magnetic field using Taylor series&lt;br /&gt;
* dcfinde.c - Identify electron for electroproduction, or other particle for photoproduction&lt;br /&gt;
* dcfit.c - Level = 2: Performs track fitting using the stored wire positions and momentum from the pattern recognition templates; Level = 4: Final fitting with corrected drift times&lt;br /&gt;
* dcfitsl.c - fit one track segment in a SuperLayer&lt;br /&gt;
* dchist.c&lt;br /&gt;
* dcicyl.c - Intersection of a Track with a Cylinder. Calculates intersection of track  with cylindrical surface of radius R.  The track is approximated by a cubic in the track length.  To improve stability, the coordinate system is shifted. First the Newton method (by P.D.) is used to find the intersection. Derivatives are calculated analytically using the parameters of cubic approximation. For input parameters given correctly and for the track not too steep to the surface the Newton method converges in 1-2 iterations and gives ultimate accuracy. For the reasons of safety of the procedure the old Half-Interval Division method is used if the first method is failed.&lt;br /&gt;
* dcipln.c - Intersection of a Track with a Plane. Calculates intersection of track  with a plane situated at the distance &#039;d&#039; from the center of coordinates. The vector &#039;ortvec&#039; is the unit length vector directed from the center of coordinates to the direction of the plane and orthogonal to it.  The track is approximated by a cubic in the track length.     To improve stability, the coordinate system is shifted. Normally the Newton method is used to find the intersection. Derivatives are calculated analytically using the parameters of cubic approximation. For input parameters given correctly and for the track not too steep to the surface the Newton method converges in 1-2 iterations and gives ultimate accuracy. For the reasons of safety of the procedure the old Half-Interval Division method is used if the first method is failed.&lt;br /&gt;
* dclast.c - finishing the program&lt;br /&gt;
* dcpdst.c - gives access to a event bank &#039;EVTB&#039; for Level = 2 or 4&lt;br /&gt;
* dcrkuta.c - one-step tracking a particle through a magnetic field using Runge-Kutta method&lt;br /&gt;
* dcrotds.c - vector transformation from Detector to Sector Coordinate System and reverse { DCS &amp;lt;--&amp;gt; SCS }&lt;br /&gt;
* dcstat.c -  keep tallies on different types of analysis cuts; for multithreaded applications: allocate TRstat structure locally for every thread and use &#039;dcstatadd(TRstat *stat)&#039; to accumulate all statistic together&lt;br /&gt;
* dcswim.c - track swimming (traj. propagation) in magnetic field. Calculates track points on detector planes&lt;br /&gt;
* dcswimvt.c - back swimming in the PT magnetic field; calculates track points on the target plane#1&lt;br /&gt;
* dctodst.c - writes the reconstructed event into DST&lt;br /&gt;
* dctrfit.c - perform a fit of the track candidate&lt;br /&gt;
* dctrmat.c - calculates transport matrix for one step; records matrix at point of layer penetration&lt;br /&gt;
* sclib.c - find SC slab &amp;quot;idsc&amp;quot; in data the track points to&lt;br /&gt;
* stlib.c - start counter library&lt;br /&gt;
* tglib.c - tagger library (rewritten a la offline version)&lt;br /&gt;
* trbos.c&lt;br /&gt;
* trconfig.c&lt;br /&gt;
* trinit.c&lt;br /&gt;
* trlib.c&lt;br /&gt;
&lt;br /&gt;
== Road Maps ==&lt;br /&gt;
&lt;br /&gt;
Road maps are used by Pattern Recognition. To generate road map following command must be used:&lt;br /&gt;
&lt;br /&gt;
 makefulldict &lt;br /&gt;
&lt;br /&gt;
If ran without parameters it will show usage:&lt;br /&gt;
&lt;br /&gt;
 Usage: makefulldict IWmin IWmax Pmin Pmax Charge [THETAmin THETAmax]&lt;br /&gt;
                        GeV/c                            Degree&lt;br /&gt;
 Output will go to the prlink.bos file in the current directory.&lt;br /&gt;
&lt;br /&gt;
Go to &#039;&#039;$CLON_PARMS/cmon/prlib/DICT/&#039;&#039; directory and adjust local &#039;&#039;cmon.config&#039;&#039; file. Then run &#039;&#039;makefullduct&#039;&#039;, for example:&lt;br /&gt;
&lt;br /&gt;
 makefulldict 1 130 0.5 1.0 -1.&lt;br /&gt;
&lt;br /&gt;
It will generate roads scaning starting point from wire 1 to wire 130, momentum from 0.5GeV/c to 1.0GeV/c for negative particles.&lt;br /&gt;
&lt;br /&gt;
Several dictionaries can be merged by running&lt;br /&gt;
&lt;br /&gt;
 mergedict&lt;br /&gt;
&lt;br /&gt;
with following usage:&lt;br /&gt;
&lt;br /&gt;
 Usage: mergedict &amp;lt;dictfilename1&amp;gt; &amp;lt;dictfilename2&amp;gt;&lt;br /&gt;
 Output will go to the prlink.bos file in the current directory.&lt;br /&gt;
&lt;br /&gt;
== Calibration Constants ==&lt;br /&gt;
&lt;br /&gt;
Calibration constants are stored in offline database. It can be accessed at this [http://clasweb.jlab.org/cgi-bin/caldb/cq.pl link].&lt;br /&gt;
&lt;br /&gt;
Calibration constants must be extracted from offline database and stored in a form of &#039;&#039;map&#039;&#039; files to be used by CMON. To extract information from database to maps, &#039;&#039;db2clonmap.pl&#039;&#039; script must be used. It can be run with following parameters:&lt;br /&gt;
&lt;br /&gt;
 db2clonmap.pl runMin=&amp;lt;minimum run&amp;gt; runMax=&amp;lt;maximum run&amp;gt; \&lt;br /&gt;
       [system=&amp;lt;system name&amp;gt;] \&lt;br /&gt;
       [skip_run_control=&amp;lt;non-zero to skip RUN_CONTROL system&amp;gt;] \&lt;br /&gt;
       [runIndexTable=&amp;lt;run index table name&amp;gt;] \&lt;br /&gt;
       [time=&amp;lt;date/time of validity&amp;gt;] \&lt;br /&gt;
       [hostname=&amp;lt;db server hostname&amp;gt;] \&lt;br /&gt;
       [quiet=&amp;lt;non-zero to supress printout&amp;gt;] \&lt;br /&gt;
       [help=&amp;lt;non-zero for usage message]&lt;br /&gt;
&lt;br /&gt;
For example, to extract tagger calibration parameters goto &#039;&#039;$CLON_PARMS/Maps&#039;&#039; and run&lt;br /&gt;
&lt;br /&gt;
 db2clonmap.pl system=TAG_CALIB runMin=1 runMax=1000000&lt;br /&gt;
&lt;br /&gt;
it will create subdirectory &#039;&#039;Maps_1-1000000&#039;&#039;, create &#039;&#039;TAG_CALIB.map&#039;&#039; inside and fill it up.&lt;br /&gt;
&lt;br /&gt;
Default runIndexTable is &#039;&#039;RunIndex&#039;&#039;. For some run periods calibration constants are stored under different runIndexTable name, for example for g8b runIndexTable was &#039;&#039;calib_user.RunIndexg8b&#039;&#039;. In that case use command&lt;br /&gt;
&lt;br /&gt;
 db2clonmap.pl system=TAG_CALIB runIndexTable=calib_user.RunIndexg8b runMin=1 runMax=1000000&lt;br /&gt;
 db2clonmap.pl system=SC_CALIBRATIONS_V2 runIndexTable=calib_user.RunIndexg9 runMin=1 runMax=1000000&lt;br /&gt;
&lt;br /&gt;
To extract entire database run following command (it is important to use &#039;skip_run_control=1&#039;, otherwise it takes forever)&lt;br /&gt;
&lt;br /&gt;
 db2clonmap.pl skip_run_control=1 runMin=1 runMax=1000000&lt;br /&gt;
&lt;br /&gt;
After it finished, move all *.map files to &#039;&#039;$CLON_PARMS/Maps&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Calibration databases can be dumped in a form of ascii file using following procedure:&lt;br /&gt;
&lt;br /&gt;
 $CLAS_TOOLS/caldb/caldb_show_constants_run.pl s=TAG_CALIB ss=tag_t i=ci r=40000 &amp;gt; /home/boiarino/z123&lt;br /&gt;
&lt;br /&gt;
JUST FOR INFORMATION, DO NOT DO THAT: To write it back remove first two lines and type:&lt;br /&gt;
&lt;br /&gt;
 $CLAS_TOOLS/caldb/caldb_write_and_link.pl s=TAG_CALIB ss=tag_t i=ci min=40000 max=50000 ci=&amp;quot;test1&amp;quot; f=/home/boiarino/z123&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5828</id>
		<title>EPICS: vxWorks IOC</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5828"/>
		<updated>2012-05-29T01:13:07Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Hardware List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VxWorks IOCs are normally running in VME crate controllers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; $EPICS_BASE/configure/CONFIG was accidently changed and makefiles didnot work, Nerses fixed it - Sep 2011&lt;br /&gt;
&lt;br /&gt;
== Hardware List ==&lt;br /&gt;
&lt;br /&gt;
Following boards are used in CLAS VME vxWorks IOC crates:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|Brand/Model&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|IOC List&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Driver&#039;s subdirectory (in $BASEB/src/)&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|device support (by Matt Bickley on April 2012)&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom DIO XVME-240]] ||classc1, classc3, classc8 ||xy240||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-564]] ||classc3 ||(probably &#039;analog&#039;, since XVME-564 and XVME-560 are similar)||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-560]] ||classc3, classc8 ||analog||superceeded by XVME-564&lt;br /&gt;
|-&lt;br /&gt;
|[[Struck SIS3801]] ||classc1, classc6, classc4, classc2 ||mca||Struck SIS3820 or CAEN V830 (32 channel latch scaler)&lt;br /&gt;
|-&lt;br /&gt;
|[[Joerger VSC16]] ||classc1, classc8 ||scaler||Available/viable or CAEN V830&lt;br /&gt;
|-&lt;br /&gt;
|[[DATEL DVME-628]] ||classc1, classc4 ||DVME628||VMIC VME-4132 or VMIC-4120 (32 channel 12-bit DAC)&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VME44]] ||classc1, classc8 ||motor||Jlab in-house chassis (PC104- and FPGA-based)&lt;br /&gt;
|-&lt;br /&gt;
|[[Compcontrol CC121]] ||classc5, classc12 ||LecroyHV||Still available&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V775]] ||classc7 ||mca||Still available&lt;br /&gt;
|-&lt;br /&gt;
|[[SYSTRAN VMESC5]] ||classc12 ||ipacLib, magnet||Still available (Curtiss Wright Controls)&lt;br /&gt;
|-&lt;br /&gt;
|[[SBS VIPC616]] ||classc6, iocptarg(MCC) ||ipacLib|| ???&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VS4]] ||classc2 ||motor||Still available&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V288]] ||camac2, dccntrl ||iocsy527App||Discontinued; no CAENET controller replacement available&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-3122]] ||iochlb(MCC) ||...||Superceded by VME-3122A&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2120]] ||iochlb(MCC) ||...||Still available&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-1129]] ||iochlb(MCC) ||...||Still available&lt;br /&gt;
|-&lt;br /&gt;
|Machine Protection System I/O ???? ||iochlb(MCC) ||...||Long-term responsibility lies with Jlab engineering&lt;br /&gt;
|-&lt;br /&gt;
|Beam Viewer / SLM Control Board ???? ||iochlb(MCC) ||...||Long-term responsibility lies with Jlab engineering&lt;br /&gt;
|-&lt;br /&gt;
|[[HYTEC VSD2992]] ||iochlb(MCC) ||camacApp||Kinetic Systems KSC-2917 (or eliminate CAMAC)&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2232]] ||iocptarg(MCC) ||...||VMIC VME-2232A&lt;br /&gt;
|-&lt;br /&gt;
|[[JLAB FLEXIO]] ||iocptarg(MCC) ||...||Long-term responsibility lies with Jlab engineering&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-6016]] ||sc-laser1, camac1 ||(tty driver in CLON area, work needed)||VMIC VME-6015 (or IP-to-serial controllers, like the Digi PortServer line)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Standard Installation ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t ioc iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
 The following target architectures are available in base:&lt;br /&gt;
    solaris-sparc&lt;br /&gt;
    vxWorks-ppc604_long&lt;br /&gt;
    solaris-x86&lt;br /&gt;
    linux-x86&lt;br /&gt;
 What architecture do you want to use? vxWorks-ppc604_long&lt;br /&gt;
 The following applications are available:&lt;br /&gt;
    caclient&lt;br /&gt;
    caserver&lt;br /&gt;
    ioc&lt;br /&gt;
    ioccamac&lt;br /&gt;
    iocCore1&lt;br /&gt;
    iocCore&lt;br /&gt;
    iochv&lt;br /&gt;
    iocsy527&lt;br /&gt;
    ioctest&lt;br /&gt;
    support&lt;br /&gt;
 What application should the IOC(s) boot?&lt;br /&gt;
 The default uses the IOC&#039;s name, even if not listed above.&lt;br /&gt;
 Application name? iocsy527&lt;br /&gt;
&lt;br /&gt;
It creates directories &#039;&#039;iocsy527App&#039;&#039; and &#039;&#039;iocBoot/iocsy527&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 cd iocsy527App&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It compiles both unix and vxWorks versions.&lt;br /&gt;
&lt;br /&gt;
 cd ../iocBoot/iocsy527&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It creates useful &#039;&#039;cdCommands&#039;&#039; file. File &#039;&#039;st.cmd&#039; in the same directory contains an example of startup script. Uncommect followibg line&lt;br /&gt;
&lt;br /&gt;
 cd &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocBoot/iocsy527&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and boot. Everything looks good.&lt;br /&gt;
&lt;br /&gt;
== Makefile, source files ==&lt;br /&gt;
&lt;br /&gt;
Original Makefile in &#039;&#039;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 TOP=../..&lt;br /&gt;
 include $(TOP)/configure/CONFIG&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD MACRO DEFINITIONS AFTER THIS LINE&lt;br /&gt;
 #=============================&lt;br /&gt;
 #=============================&lt;br /&gt;
 # build an ioc application&lt;br /&gt;
 PROD_IOC = iocsy527&lt;br /&gt;
 DBD += iocsy527.dbd&lt;br /&gt;
 # iocsy527.dbd will be made up from these files:&lt;br /&gt;
 iocsy527_DBD += base.dbd&lt;br /&gt;
 #include definitions for any other support applications needed&lt;br /&gt;
 #iocsy527_DBD += xxx.dbd&lt;br /&gt;
 # &amp;lt;name&amp;gt;_registerRecordDeviceDriver.cpp will be created from &amp;lt;name&amp;gt;.dbd&lt;br /&gt;
 iocsy527_SRCS += iocsy527_registerRecordDeviceDriver.cpp&lt;br /&gt;
 iocsy527_SRCS_DEFAULT += iocsy527Main.cpp&lt;br /&gt;
 iocsy527_SRCS_vxWorks += -nil-&lt;br /&gt;
 #The following adds support from base/src/vxWorks&lt;br /&gt;
 iocsy527_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary&lt;br /&gt;
 #add a definition for each support application used by this application&lt;br /&gt;
 #iocsy527_LIBS += xxx&lt;br /&gt;
 #NOTES:&lt;br /&gt;
 #      1)It is not possible to build sncExample both as a component of iocsy527&lt;br /&gt;
 #        and standalone. You must choose only one.&lt;br /&gt;
 #      2)To build sncExample SNCSEQ must be defined in &amp;lt;top&amp;gt;/configure/RELEASE&lt;br /&gt;
 #The following builds sncExample as a component of iocsy527&lt;br /&gt;
 #iocsy527_SRCS += sncExample.stt&lt;br /&gt;
 #iocsy527_LIBS += seq pv&lt;br /&gt;
 iocsy527_LIBS += $(EPICS_BASE_IOC_LIBS)&lt;br /&gt;
 #The following builds sncExample as a standalone application&lt;br /&gt;
 #PROD_HOST += sncExample&lt;br /&gt;
 #sncExample_SNCFLAGS += +m&lt;br /&gt;
 #sncExample_SRCS += sncExample.stt&lt;br /&gt;
 #sncExample_LIBS += seq pv&lt;br /&gt;
 #sncExample_LIBS += $(EPICS_BASE_HOST_LIBS)&lt;br /&gt;
 #===========================&lt;br /&gt;
 include $(TOP)/configure/RULES&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD RULES AFTER THIS LINE&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;DriverOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527epics1.h&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics1.c&lt;br /&gt;
 v288.c&lt;br /&gt;
&lt;br /&gt;
Add following to Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288&lt;br /&gt;
 iocsy527_SRCS += sy527&lt;br /&gt;
 iocsy527_SRCS += sy527epics1&lt;br /&gt;
&lt;br /&gt;
Type &#039;&#039;gmake&#039;&#039; - everything compiles and linked with new source files.&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;IocshellOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 command.h&lt;br /&gt;
 sub.c&lt;br /&gt;
 bigsub.c&lt;br /&gt;
 devCAEN.c&lt;br /&gt;
&lt;br /&gt;
Add them to the Makefile the same way, and type &#039;gmake&#039;. It complains for UNIX on linking, but command&lt;br /&gt;
&lt;br /&gt;
 gmake vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
works fine. Reboot IOC - no undefined symbols.&lt;br /&gt;
&lt;br /&gt;
Add our HV database and &#039;src&#039; directories into &#039;&#039;cdCommands&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;br /&gt;
 src = &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add following two lnes to startup script after iocInit() (before - complains):&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
 dbLoadDatabase(&amp;quot;support.dbd&amp;quot;)&lt;br /&gt;
 cd db&lt;br /&gt;
 dbLoadRecords(&amp;quot;caen_04.db&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Reboot ioc again, type &#039;dbl&#039; - all records printed.&lt;br /&gt;
&lt;br /&gt;
Try to caget one of them - vxWorks printed error: we got through but corresponding function support is missing.&lt;br /&gt;
&lt;br /&gt;
Do following on vxWorks prompt:&lt;br /&gt;
&lt;br /&gt;
 registryFunctionAdd(&amp;quot;InitChannel&amp;quot;,InitChannel)&lt;br /&gt;
 registryFunctionAdd(&amp;quot;ScanChannel&amp;quot;,ScanChannel)&lt;br /&gt;
&lt;br /&gt;
does not help. Run driver commands in the very end of startup script - does not help:&lt;br /&gt;
&lt;br /&gt;
 sy527Init()&lt;br /&gt;
 sy527Start(0,&amp;quot;sy527_0x100000_9&amp;quot;)&lt;br /&gt;
 sy527GetMap(0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== trying same, but use type &#039;example&#039; instead of &#039;ioc&#039; ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t example iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
&lt;br /&gt;
Everything compiles and boots, &#039;caget&#039; works.&lt;br /&gt;
&lt;br /&gt;
Now, lets customize it for sy517:&lt;br /&gt;
&lt;br /&gt;
* copy following v288- and sy527-related *.h and *.c files to &#039;&#039;$EPICS_BASE/iocsy527/src&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 v288.c&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics.c&lt;br /&gt;
 sy527epics.h&lt;br /&gt;
&lt;br /&gt;
(sy527epics1 was renamed to sy527epics in a process). Add follwoing lines to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288.c&lt;br /&gt;
 iocsy527_SRCS += sy527.c&lt;br /&gt;
 iocsy527_SRCS += sy527epics.c&lt;br /&gt;
 iocsy527_SRCS += sy527_test.c&lt;br /&gt;
&lt;br /&gt;
Compile, reboot - looks good.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NOTES:&#039;&#039;&#039; our CAEN HV software structure&lt;br /&gt;
&lt;br /&gt;
 1. Everything starts from &#039;&#039;$APP/hvca/db/caen_04.dat&#039;&#039; or similar file generated from &#039;&#039;caen.dat&#039;&#039;&lt;br /&gt;
 2. Statements &#039;&#039;field(INAM,InitChannel)&#039;&#039; and &#039;&#039;field(SNAM,ScanChannel)&#039;&#039; requires functions &#039;&#039;InitChannel&#039;&#039; and &#039;&#039;ScanChannel&#039;&#039;;&lt;br /&gt;
     those functions are in &#039;&#039;bigsub.c&#039;&#039;&lt;br /&gt;
   2.1 &#039;&#039;bigsub.c&#039;&#039; calls one function &#039;&#039;CAEN_GetChannel&#039;&#039;, that function is in &#039;&#039;sy527epics.c&#039;&#039;&lt;br /&gt;
   2.2 &#039;&#039;sy527epics.c&#039;&#039; contains following functions:&lt;br /&gt;
           CAEN_HVinit&lt;br /&gt;
           CAEN_HVstart&lt;br /&gt;
           CAEN_HVstop&lt;br /&gt;
           CAEN_HVload&lt;br /&gt;
           CAEN_GetHv&lt;br /&gt;
           CAEN_GetAlarm&lt;br /&gt;
           CAEN_GetValidity&lt;br /&gt;
           CAEN_SetHV&lt;br /&gt;
           CAEN_GetProperty&lt;br /&gt;
           CAEN_GetChannel&lt;br /&gt;
 3. Statement &#039;&#039;field(DTYP,&amp;quot;CAEN_HV&amp;quot;)&#039;&#039; requires ...&lt;br /&gt;
   3.1 file &#039;&#039;support.dbd&#039;&#039; contains following statements:&lt;br /&gt;
           device(ao,VME_IO,devAoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bo,VME_IO,devBoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bi,VME_IO,devBiCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
   3.2 file &#039;&#039;devCAEN.c&#039;&#039; contains following statements:&lt;br /&gt;
           epicsExportAddress(dset,devAoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBiCAEN)&lt;br /&gt;
   3.3 structure &#039;&#039;devAoCAEN&#039;&#039; contains for example field &#039;&#039;init_record&#039;&#039; containing function &#039;&#039;init_ao&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Continue customization. Copy &#039;&#039;devCAEN.c&#039;&#039;, &#039;&#039;command.h&#039;&#039; and &#039;&#039;support.dbd&#039;&#039; as &#039;&#039;CAENSupport.dbd&#039;&#039; to &#039;&#039;src&#039;&#039; directory. Modify Makefile changing devXxxSoft to devCAEN and xxxSupport to CAENSupport everywhere (I decided not to just add new names, but eliminate old ones, because&lt;br /&gt;
for example &#039;xxxSupport_SRCS += xxxRecord.c&#039; referes to xxxSupport library, and I want to build only one library CAENSupport). Also:&lt;br /&gt;
&lt;br /&gt;
 mv xxxSupport.dbd xxxSupport.dbd_obsolete&lt;br /&gt;
 mv devXxxSoft.c devXxxSoft.c_obsolete&lt;br /&gt;
&lt;br /&gt;
From directory &#039;&#039;iocsy527App&#039;&#039; type &#039;gmake vxWorks-ppc604_long clean&#039; and &#039;gmake vxWorks-ppc604_long&#039;, compiles fine. Reboot, have error:&lt;br /&gt;
&lt;br /&gt;
 ## Load record instances&lt;br /&gt;
 dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
 Error   Last token &amp;quot;)&amp;quot;&lt;br /&gt;
 input line: record(xxx, &amp;quot;boiarino:xxxExample&amp;quot;)&lt;br /&gt;
    in: file db/dbExample1.db line 39&lt;br /&gt;
 db_parse returned -1&lt;br /&gt;
 value = -1 = 0xffffffff&lt;br /&gt;
 filename=&amp;quot;../dbLexRoutines.c&amp;quot; line number=910&lt;br /&gt;
 Record Type does not exist dbFindRecordType&lt;br /&gt;
&lt;br /&gt;
This is probably a result of eliminating xxxSupport.dbd and devXxxSoft.c. (INTERESTING: in Makefile there is following code:&lt;br /&gt;
&lt;br /&gt;
 # xxxRecord.h will be created from xxxRecord.dbd&lt;br /&gt;
 DBDINC += xxxRecord&lt;br /&gt;
&lt;br /&gt;
and devXxxSoft.c has&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;xxxRecord.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- just good to know).&lt;br /&gt;
&lt;br /&gt;
In Makefile comment out lines&lt;br /&gt;
&lt;br /&gt;
 ########DBDINC += xxxRecord&lt;br /&gt;
 ########CAENSupport_SRCS += xxxRecord.c&lt;br /&gt;
&lt;br /&gt;
and in startup script&lt;br /&gt;
&lt;br /&gt;
 #####dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
because it does not work anyway. Rename unused files:&lt;br /&gt;
&lt;br /&gt;
 mv xxxRecord.c xxxRecord.c_obsolete&lt;br /&gt;
 mv xxxRecord.dbd xxxRecord.dbd_obsolete&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Copy bigsub.c (our init and scan functions for the &#039;bigsubRecord&#039;). Add following to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += bigsub.c&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Now interesting part. Add following to the startup script:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5827</id>
		<title>EPICS: vxWorks IOC</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5827"/>
		<updated>2012-05-29T01:08:52Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Hardware List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VxWorks IOCs are normally running in VME crate controllers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; $EPICS_BASE/configure/CONFIG was accidently changed and makefiles didnot work, Nerses fixed it - Sep 2011&lt;br /&gt;
&lt;br /&gt;
== Hardware List ==&lt;br /&gt;
&lt;br /&gt;
Following boards are used in CLAS VME vxWorks IOC crates:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|Brand/Model&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|IOC List&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Driver&#039;s subdirectory (in $BASEB/src/)&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|device support (by Matt Bickley on April 2012)&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom DIO XVME-240]] ||classc1, classc3, classc8 ||xy240||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-564]] ||classc3 ||(probably &#039;analog&#039;, since XVME-564 and XVME-560 are similar)||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-560]] ||classc3, classc8 ||analog||superceeded by XVME-564&lt;br /&gt;
|-&lt;br /&gt;
|[[Struck SIS3801]] ||classc1, classc6, classc4, classc2 ||mca||Struck SIS3820 or CAEN V830 (32 channel latch scaler)&lt;br /&gt;
|-&lt;br /&gt;
|[[Joerger VSC16]] ||classc1, classc8 ||scaler||Available/viable or CAEN V830&lt;br /&gt;
|-&lt;br /&gt;
|[[DATEL DVME-628]] ||classc1, classc4 ||DVME628||VMIC VME-4132 or VMIC-4120 (32 channel 12-bit DAC)&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VME44]] ||classc1, classc8 ||motor||Jlab in-house chassis (PC104- and FPGA-based)&lt;br /&gt;
|-&lt;br /&gt;
|[[Compcontrol CC121]] ||classc5, classc12 ||LecroyHV||Still available&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V775]] ||classc7 ||mca||Still available&lt;br /&gt;
|-&lt;br /&gt;
|[[SYSTRAN VMESC5]] ||classc12 ||ipacLib, magnet||Still available (Curtiss Wright Controls)&lt;br /&gt;
|-&lt;br /&gt;
|[[SBS VIPC616]] ||classc6, iocptarg(MCC) ||ipacLib|| ???&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VS4]] ||classc2 ||motor||Still available&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V288]] ||camac2, dccntrl ||iocsy527App||Discontinued; no CAENET controller replacement available&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-3122]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2120]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-1129]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Machine Protection System I/O ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Beam Viewer / SLM Control Board ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[HYTEC VSD2992]] ||iochlb(MCC) ||camacApp&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2232]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[JLAB FLEXIO]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-6016]] ||sc-laser1, camac1 ||(tty driver in CLON area, work needed)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Standard Installation ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t ioc iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
 The following target architectures are available in base:&lt;br /&gt;
    solaris-sparc&lt;br /&gt;
    vxWorks-ppc604_long&lt;br /&gt;
    solaris-x86&lt;br /&gt;
    linux-x86&lt;br /&gt;
 What architecture do you want to use? vxWorks-ppc604_long&lt;br /&gt;
 The following applications are available:&lt;br /&gt;
    caclient&lt;br /&gt;
    caserver&lt;br /&gt;
    ioc&lt;br /&gt;
    ioccamac&lt;br /&gt;
    iocCore1&lt;br /&gt;
    iocCore&lt;br /&gt;
    iochv&lt;br /&gt;
    iocsy527&lt;br /&gt;
    ioctest&lt;br /&gt;
    support&lt;br /&gt;
 What application should the IOC(s) boot?&lt;br /&gt;
 The default uses the IOC&#039;s name, even if not listed above.&lt;br /&gt;
 Application name? iocsy527&lt;br /&gt;
&lt;br /&gt;
It creates directories &#039;&#039;iocsy527App&#039;&#039; and &#039;&#039;iocBoot/iocsy527&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 cd iocsy527App&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It compiles both unix and vxWorks versions.&lt;br /&gt;
&lt;br /&gt;
 cd ../iocBoot/iocsy527&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It creates useful &#039;&#039;cdCommands&#039;&#039; file. File &#039;&#039;st.cmd&#039; in the same directory contains an example of startup script. Uncommect followibg line&lt;br /&gt;
&lt;br /&gt;
 cd &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocBoot/iocsy527&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and boot. Everything looks good.&lt;br /&gt;
&lt;br /&gt;
== Makefile, source files ==&lt;br /&gt;
&lt;br /&gt;
Original Makefile in &#039;&#039;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 TOP=../..&lt;br /&gt;
 include $(TOP)/configure/CONFIG&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD MACRO DEFINITIONS AFTER THIS LINE&lt;br /&gt;
 #=============================&lt;br /&gt;
 #=============================&lt;br /&gt;
 # build an ioc application&lt;br /&gt;
 PROD_IOC = iocsy527&lt;br /&gt;
 DBD += iocsy527.dbd&lt;br /&gt;
 # iocsy527.dbd will be made up from these files:&lt;br /&gt;
 iocsy527_DBD += base.dbd&lt;br /&gt;
 #include definitions for any other support applications needed&lt;br /&gt;
 #iocsy527_DBD += xxx.dbd&lt;br /&gt;
 # &amp;lt;name&amp;gt;_registerRecordDeviceDriver.cpp will be created from &amp;lt;name&amp;gt;.dbd&lt;br /&gt;
 iocsy527_SRCS += iocsy527_registerRecordDeviceDriver.cpp&lt;br /&gt;
 iocsy527_SRCS_DEFAULT += iocsy527Main.cpp&lt;br /&gt;
 iocsy527_SRCS_vxWorks += -nil-&lt;br /&gt;
 #The following adds support from base/src/vxWorks&lt;br /&gt;
 iocsy527_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary&lt;br /&gt;
 #add a definition for each support application used by this application&lt;br /&gt;
 #iocsy527_LIBS += xxx&lt;br /&gt;
 #NOTES:&lt;br /&gt;
 #      1)It is not possible to build sncExample both as a component of iocsy527&lt;br /&gt;
 #        and standalone. You must choose only one.&lt;br /&gt;
 #      2)To build sncExample SNCSEQ must be defined in &amp;lt;top&amp;gt;/configure/RELEASE&lt;br /&gt;
 #The following builds sncExample as a component of iocsy527&lt;br /&gt;
 #iocsy527_SRCS += sncExample.stt&lt;br /&gt;
 #iocsy527_LIBS += seq pv&lt;br /&gt;
 iocsy527_LIBS += $(EPICS_BASE_IOC_LIBS)&lt;br /&gt;
 #The following builds sncExample as a standalone application&lt;br /&gt;
 #PROD_HOST += sncExample&lt;br /&gt;
 #sncExample_SNCFLAGS += +m&lt;br /&gt;
 #sncExample_SRCS += sncExample.stt&lt;br /&gt;
 #sncExample_LIBS += seq pv&lt;br /&gt;
 #sncExample_LIBS += $(EPICS_BASE_HOST_LIBS)&lt;br /&gt;
 #===========================&lt;br /&gt;
 include $(TOP)/configure/RULES&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD RULES AFTER THIS LINE&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;DriverOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527epics1.h&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics1.c&lt;br /&gt;
 v288.c&lt;br /&gt;
&lt;br /&gt;
Add following to Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288&lt;br /&gt;
 iocsy527_SRCS += sy527&lt;br /&gt;
 iocsy527_SRCS += sy527epics1&lt;br /&gt;
&lt;br /&gt;
Type &#039;&#039;gmake&#039;&#039; - everything compiles and linked with new source files.&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;IocshellOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 command.h&lt;br /&gt;
 sub.c&lt;br /&gt;
 bigsub.c&lt;br /&gt;
 devCAEN.c&lt;br /&gt;
&lt;br /&gt;
Add them to the Makefile the same way, and type &#039;gmake&#039;. It complains for UNIX on linking, but command&lt;br /&gt;
&lt;br /&gt;
 gmake vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
works fine. Reboot IOC - no undefined symbols.&lt;br /&gt;
&lt;br /&gt;
Add our HV database and &#039;src&#039; directories into &#039;&#039;cdCommands&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;br /&gt;
 src = &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add following two lnes to startup script after iocInit() (before - complains):&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
 dbLoadDatabase(&amp;quot;support.dbd&amp;quot;)&lt;br /&gt;
 cd db&lt;br /&gt;
 dbLoadRecords(&amp;quot;caen_04.db&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Reboot ioc again, type &#039;dbl&#039; - all records printed.&lt;br /&gt;
&lt;br /&gt;
Try to caget one of them - vxWorks printed error: we got through but corresponding function support is missing.&lt;br /&gt;
&lt;br /&gt;
Do following on vxWorks prompt:&lt;br /&gt;
&lt;br /&gt;
 registryFunctionAdd(&amp;quot;InitChannel&amp;quot;,InitChannel)&lt;br /&gt;
 registryFunctionAdd(&amp;quot;ScanChannel&amp;quot;,ScanChannel)&lt;br /&gt;
&lt;br /&gt;
does not help. Run driver commands in the very end of startup script - does not help:&lt;br /&gt;
&lt;br /&gt;
 sy527Init()&lt;br /&gt;
 sy527Start(0,&amp;quot;sy527_0x100000_9&amp;quot;)&lt;br /&gt;
 sy527GetMap(0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== trying same, but use type &#039;example&#039; instead of &#039;ioc&#039; ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t example iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
&lt;br /&gt;
Everything compiles and boots, &#039;caget&#039; works.&lt;br /&gt;
&lt;br /&gt;
Now, lets customize it for sy517:&lt;br /&gt;
&lt;br /&gt;
* copy following v288- and sy527-related *.h and *.c files to &#039;&#039;$EPICS_BASE/iocsy527/src&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 v288.c&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics.c&lt;br /&gt;
 sy527epics.h&lt;br /&gt;
&lt;br /&gt;
(sy527epics1 was renamed to sy527epics in a process). Add follwoing lines to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288.c&lt;br /&gt;
 iocsy527_SRCS += sy527.c&lt;br /&gt;
 iocsy527_SRCS += sy527epics.c&lt;br /&gt;
 iocsy527_SRCS += sy527_test.c&lt;br /&gt;
&lt;br /&gt;
Compile, reboot - looks good.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NOTES:&#039;&#039;&#039; our CAEN HV software structure&lt;br /&gt;
&lt;br /&gt;
 1. Everything starts from &#039;&#039;$APP/hvca/db/caen_04.dat&#039;&#039; or similar file generated from &#039;&#039;caen.dat&#039;&#039;&lt;br /&gt;
 2. Statements &#039;&#039;field(INAM,InitChannel)&#039;&#039; and &#039;&#039;field(SNAM,ScanChannel)&#039;&#039; requires functions &#039;&#039;InitChannel&#039;&#039; and &#039;&#039;ScanChannel&#039;&#039;;&lt;br /&gt;
     those functions are in &#039;&#039;bigsub.c&#039;&#039;&lt;br /&gt;
   2.1 &#039;&#039;bigsub.c&#039;&#039; calls one function &#039;&#039;CAEN_GetChannel&#039;&#039;, that function is in &#039;&#039;sy527epics.c&#039;&#039;&lt;br /&gt;
   2.2 &#039;&#039;sy527epics.c&#039;&#039; contains following functions:&lt;br /&gt;
           CAEN_HVinit&lt;br /&gt;
           CAEN_HVstart&lt;br /&gt;
           CAEN_HVstop&lt;br /&gt;
           CAEN_HVload&lt;br /&gt;
           CAEN_GetHv&lt;br /&gt;
           CAEN_GetAlarm&lt;br /&gt;
           CAEN_GetValidity&lt;br /&gt;
           CAEN_SetHV&lt;br /&gt;
           CAEN_GetProperty&lt;br /&gt;
           CAEN_GetChannel&lt;br /&gt;
 3. Statement &#039;&#039;field(DTYP,&amp;quot;CAEN_HV&amp;quot;)&#039;&#039; requires ...&lt;br /&gt;
   3.1 file &#039;&#039;support.dbd&#039;&#039; contains following statements:&lt;br /&gt;
           device(ao,VME_IO,devAoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bo,VME_IO,devBoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bi,VME_IO,devBiCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
   3.2 file &#039;&#039;devCAEN.c&#039;&#039; contains following statements:&lt;br /&gt;
           epicsExportAddress(dset,devAoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBiCAEN)&lt;br /&gt;
   3.3 structure &#039;&#039;devAoCAEN&#039;&#039; contains for example field &#039;&#039;init_record&#039;&#039; containing function &#039;&#039;init_ao&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Continue customization. Copy &#039;&#039;devCAEN.c&#039;&#039;, &#039;&#039;command.h&#039;&#039; and &#039;&#039;support.dbd&#039;&#039; as &#039;&#039;CAENSupport.dbd&#039;&#039; to &#039;&#039;src&#039;&#039; directory. Modify Makefile changing devXxxSoft to devCAEN and xxxSupport to CAENSupport everywhere (I decided not to just add new names, but eliminate old ones, because&lt;br /&gt;
for example &#039;xxxSupport_SRCS += xxxRecord.c&#039; referes to xxxSupport library, and I want to build only one library CAENSupport). Also:&lt;br /&gt;
&lt;br /&gt;
 mv xxxSupport.dbd xxxSupport.dbd_obsolete&lt;br /&gt;
 mv devXxxSoft.c devXxxSoft.c_obsolete&lt;br /&gt;
&lt;br /&gt;
From directory &#039;&#039;iocsy527App&#039;&#039; type &#039;gmake vxWorks-ppc604_long clean&#039; and &#039;gmake vxWorks-ppc604_long&#039;, compiles fine. Reboot, have error:&lt;br /&gt;
&lt;br /&gt;
 ## Load record instances&lt;br /&gt;
 dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
 Error   Last token &amp;quot;)&amp;quot;&lt;br /&gt;
 input line: record(xxx, &amp;quot;boiarino:xxxExample&amp;quot;)&lt;br /&gt;
    in: file db/dbExample1.db line 39&lt;br /&gt;
 db_parse returned -1&lt;br /&gt;
 value = -1 = 0xffffffff&lt;br /&gt;
 filename=&amp;quot;../dbLexRoutines.c&amp;quot; line number=910&lt;br /&gt;
 Record Type does not exist dbFindRecordType&lt;br /&gt;
&lt;br /&gt;
This is probably a result of eliminating xxxSupport.dbd and devXxxSoft.c. (INTERESTING: in Makefile there is following code:&lt;br /&gt;
&lt;br /&gt;
 # xxxRecord.h will be created from xxxRecord.dbd&lt;br /&gt;
 DBDINC += xxxRecord&lt;br /&gt;
&lt;br /&gt;
and devXxxSoft.c has&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;xxxRecord.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- just good to know).&lt;br /&gt;
&lt;br /&gt;
In Makefile comment out lines&lt;br /&gt;
&lt;br /&gt;
 ########DBDINC += xxxRecord&lt;br /&gt;
 ########CAENSupport_SRCS += xxxRecord.c&lt;br /&gt;
&lt;br /&gt;
and in startup script&lt;br /&gt;
&lt;br /&gt;
 #####dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
because it does not work anyway. Rename unused files:&lt;br /&gt;
&lt;br /&gt;
 mv xxxRecord.c xxxRecord.c_obsolete&lt;br /&gt;
 mv xxxRecord.dbd xxxRecord.dbd_obsolete&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Copy bigsub.c (our init and scan functions for the &#039;bigsubRecord&#039;). Add following to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += bigsub.c&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Now interesting part. Add following to the startup script:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5826</id>
		<title>EPICS: vxWorks IOC</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5826"/>
		<updated>2012-05-29T00:58:19Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Hardware List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VxWorks IOCs are normally running in VME crate controllers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; $EPICS_BASE/configure/CONFIG was accidently changed and makefiles didnot work, Nerses fixed it - Sep 2011&lt;br /&gt;
&lt;br /&gt;
== Hardware List ==&lt;br /&gt;
&lt;br /&gt;
Following boards are used in CLAS VME vxWorks IOC crates:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|Brand/Model&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|IOC List&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Driver&#039;s subdirectory (in $BASEB/src/)&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|device support (by Matt Bickley on April 2012)&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom DIO XVME-240]] ||classc1, classc3, classc8 ||xy240||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-564]] ||classc3 ||(probably &#039;analog&#039;, since XVME-564 and XVME-560 are similar)||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-560]] ||classc3, classc8 ||analog||superceeded by XVME-564&lt;br /&gt;
|-&lt;br /&gt;
|[[Struck SIS3801]] ||classc1, classc6, classc4, classc2 ||mca||Struck SIS3820 or CAEN V830 (32 channel latch scaler)&lt;br /&gt;
|-&lt;br /&gt;
|[[Joerger VSC16]] ||classc1, classc8 ||scaler||Available/viable or CAEN V830&lt;br /&gt;
|-&lt;br /&gt;
|[[DATEL DVME-628]] ||classc1, classc4 ||DVME628||VMIC VME-4132 or VMIC-4120 (32 channel 12-bit DAC)&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VME44]] ||classc1, classc8 ||motor||Jlab in-house chassis (PC104- and FPGA-based)&lt;br /&gt;
|-&lt;br /&gt;
|[[Compcontrol CC121]] ||classc5, classc12 ||LecroyHV||Still available&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V775]] ||classc7 ||mca||Still available&lt;br /&gt;
|-&lt;br /&gt;
|[[SYSTRAN VMESC5]] ||classc12 ||ipacLib, magnet||Still available (Curtiss Wright Controls)&lt;br /&gt;
|-&lt;br /&gt;
|[[SBS VIPC616]] ||classc6, iocptarg(MCC) ||ipacLib||&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VS4]] ||classc2 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V288]] ||camac2, dccntrl ||iocsy527App&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-3122]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2120]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-1129]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Machine Protection System I/O ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Beam Viewer / SLM Control Board ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[HYTEC VSD2992]] ||iochlb(MCC) ||camacApp&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2232]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[JLAB FLEXIO]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-6016]] ||sc-laser1, camac1 ||(tty driver in CLON area, work needed)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Standard Installation ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t ioc iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
 The following target architectures are available in base:&lt;br /&gt;
    solaris-sparc&lt;br /&gt;
    vxWorks-ppc604_long&lt;br /&gt;
    solaris-x86&lt;br /&gt;
    linux-x86&lt;br /&gt;
 What architecture do you want to use? vxWorks-ppc604_long&lt;br /&gt;
 The following applications are available:&lt;br /&gt;
    caclient&lt;br /&gt;
    caserver&lt;br /&gt;
    ioc&lt;br /&gt;
    ioccamac&lt;br /&gt;
    iocCore1&lt;br /&gt;
    iocCore&lt;br /&gt;
    iochv&lt;br /&gt;
    iocsy527&lt;br /&gt;
    ioctest&lt;br /&gt;
    support&lt;br /&gt;
 What application should the IOC(s) boot?&lt;br /&gt;
 The default uses the IOC&#039;s name, even if not listed above.&lt;br /&gt;
 Application name? iocsy527&lt;br /&gt;
&lt;br /&gt;
It creates directories &#039;&#039;iocsy527App&#039;&#039; and &#039;&#039;iocBoot/iocsy527&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 cd iocsy527App&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It compiles both unix and vxWorks versions.&lt;br /&gt;
&lt;br /&gt;
 cd ../iocBoot/iocsy527&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It creates useful &#039;&#039;cdCommands&#039;&#039; file. File &#039;&#039;st.cmd&#039; in the same directory contains an example of startup script. Uncommect followibg line&lt;br /&gt;
&lt;br /&gt;
 cd &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocBoot/iocsy527&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and boot. Everything looks good.&lt;br /&gt;
&lt;br /&gt;
== Makefile, source files ==&lt;br /&gt;
&lt;br /&gt;
Original Makefile in &#039;&#039;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 TOP=../..&lt;br /&gt;
 include $(TOP)/configure/CONFIG&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD MACRO DEFINITIONS AFTER THIS LINE&lt;br /&gt;
 #=============================&lt;br /&gt;
 #=============================&lt;br /&gt;
 # build an ioc application&lt;br /&gt;
 PROD_IOC = iocsy527&lt;br /&gt;
 DBD += iocsy527.dbd&lt;br /&gt;
 # iocsy527.dbd will be made up from these files:&lt;br /&gt;
 iocsy527_DBD += base.dbd&lt;br /&gt;
 #include definitions for any other support applications needed&lt;br /&gt;
 #iocsy527_DBD += xxx.dbd&lt;br /&gt;
 # &amp;lt;name&amp;gt;_registerRecordDeviceDriver.cpp will be created from &amp;lt;name&amp;gt;.dbd&lt;br /&gt;
 iocsy527_SRCS += iocsy527_registerRecordDeviceDriver.cpp&lt;br /&gt;
 iocsy527_SRCS_DEFAULT += iocsy527Main.cpp&lt;br /&gt;
 iocsy527_SRCS_vxWorks += -nil-&lt;br /&gt;
 #The following adds support from base/src/vxWorks&lt;br /&gt;
 iocsy527_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary&lt;br /&gt;
 #add a definition for each support application used by this application&lt;br /&gt;
 #iocsy527_LIBS += xxx&lt;br /&gt;
 #NOTES:&lt;br /&gt;
 #      1)It is not possible to build sncExample both as a component of iocsy527&lt;br /&gt;
 #        and standalone. You must choose only one.&lt;br /&gt;
 #      2)To build sncExample SNCSEQ must be defined in &amp;lt;top&amp;gt;/configure/RELEASE&lt;br /&gt;
 #The following builds sncExample as a component of iocsy527&lt;br /&gt;
 #iocsy527_SRCS += sncExample.stt&lt;br /&gt;
 #iocsy527_LIBS += seq pv&lt;br /&gt;
 iocsy527_LIBS += $(EPICS_BASE_IOC_LIBS)&lt;br /&gt;
 #The following builds sncExample as a standalone application&lt;br /&gt;
 #PROD_HOST += sncExample&lt;br /&gt;
 #sncExample_SNCFLAGS += +m&lt;br /&gt;
 #sncExample_SRCS += sncExample.stt&lt;br /&gt;
 #sncExample_LIBS += seq pv&lt;br /&gt;
 #sncExample_LIBS += $(EPICS_BASE_HOST_LIBS)&lt;br /&gt;
 #===========================&lt;br /&gt;
 include $(TOP)/configure/RULES&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD RULES AFTER THIS LINE&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;DriverOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527epics1.h&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics1.c&lt;br /&gt;
 v288.c&lt;br /&gt;
&lt;br /&gt;
Add following to Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288&lt;br /&gt;
 iocsy527_SRCS += sy527&lt;br /&gt;
 iocsy527_SRCS += sy527epics1&lt;br /&gt;
&lt;br /&gt;
Type &#039;&#039;gmake&#039;&#039; - everything compiles and linked with new source files.&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;IocshellOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 command.h&lt;br /&gt;
 sub.c&lt;br /&gt;
 bigsub.c&lt;br /&gt;
 devCAEN.c&lt;br /&gt;
&lt;br /&gt;
Add them to the Makefile the same way, and type &#039;gmake&#039;. It complains for UNIX on linking, but command&lt;br /&gt;
&lt;br /&gt;
 gmake vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
works fine. Reboot IOC - no undefined symbols.&lt;br /&gt;
&lt;br /&gt;
Add our HV database and &#039;src&#039; directories into &#039;&#039;cdCommands&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;br /&gt;
 src = &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add following two lnes to startup script after iocInit() (before - complains):&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
 dbLoadDatabase(&amp;quot;support.dbd&amp;quot;)&lt;br /&gt;
 cd db&lt;br /&gt;
 dbLoadRecords(&amp;quot;caen_04.db&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Reboot ioc again, type &#039;dbl&#039; - all records printed.&lt;br /&gt;
&lt;br /&gt;
Try to caget one of them - vxWorks printed error: we got through but corresponding function support is missing.&lt;br /&gt;
&lt;br /&gt;
Do following on vxWorks prompt:&lt;br /&gt;
&lt;br /&gt;
 registryFunctionAdd(&amp;quot;InitChannel&amp;quot;,InitChannel)&lt;br /&gt;
 registryFunctionAdd(&amp;quot;ScanChannel&amp;quot;,ScanChannel)&lt;br /&gt;
&lt;br /&gt;
does not help. Run driver commands in the very end of startup script - does not help:&lt;br /&gt;
&lt;br /&gt;
 sy527Init()&lt;br /&gt;
 sy527Start(0,&amp;quot;sy527_0x100000_9&amp;quot;)&lt;br /&gt;
 sy527GetMap(0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== trying same, but use type &#039;example&#039; instead of &#039;ioc&#039; ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t example iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
&lt;br /&gt;
Everything compiles and boots, &#039;caget&#039; works.&lt;br /&gt;
&lt;br /&gt;
Now, lets customize it for sy517:&lt;br /&gt;
&lt;br /&gt;
* copy following v288- and sy527-related *.h and *.c files to &#039;&#039;$EPICS_BASE/iocsy527/src&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 v288.c&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics.c&lt;br /&gt;
 sy527epics.h&lt;br /&gt;
&lt;br /&gt;
(sy527epics1 was renamed to sy527epics in a process). Add follwoing lines to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288.c&lt;br /&gt;
 iocsy527_SRCS += sy527.c&lt;br /&gt;
 iocsy527_SRCS += sy527epics.c&lt;br /&gt;
 iocsy527_SRCS += sy527_test.c&lt;br /&gt;
&lt;br /&gt;
Compile, reboot - looks good.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NOTES:&#039;&#039;&#039; our CAEN HV software structure&lt;br /&gt;
&lt;br /&gt;
 1. Everything starts from &#039;&#039;$APP/hvca/db/caen_04.dat&#039;&#039; or similar file generated from &#039;&#039;caen.dat&#039;&#039;&lt;br /&gt;
 2. Statements &#039;&#039;field(INAM,InitChannel)&#039;&#039; and &#039;&#039;field(SNAM,ScanChannel)&#039;&#039; requires functions &#039;&#039;InitChannel&#039;&#039; and &#039;&#039;ScanChannel&#039;&#039;;&lt;br /&gt;
     those functions are in &#039;&#039;bigsub.c&#039;&#039;&lt;br /&gt;
   2.1 &#039;&#039;bigsub.c&#039;&#039; calls one function &#039;&#039;CAEN_GetChannel&#039;&#039;, that function is in &#039;&#039;sy527epics.c&#039;&#039;&lt;br /&gt;
   2.2 &#039;&#039;sy527epics.c&#039;&#039; contains following functions:&lt;br /&gt;
           CAEN_HVinit&lt;br /&gt;
           CAEN_HVstart&lt;br /&gt;
           CAEN_HVstop&lt;br /&gt;
           CAEN_HVload&lt;br /&gt;
           CAEN_GetHv&lt;br /&gt;
           CAEN_GetAlarm&lt;br /&gt;
           CAEN_GetValidity&lt;br /&gt;
           CAEN_SetHV&lt;br /&gt;
           CAEN_GetProperty&lt;br /&gt;
           CAEN_GetChannel&lt;br /&gt;
 3. Statement &#039;&#039;field(DTYP,&amp;quot;CAEN_HV&amp;quot;)&#039;&#039; requires ...&lt;br /&gt;
   3.1 file &#039;&#039;support.dbd&#039;&#039; contains following statements:&lt;br /&gt;
           device(ao,VME_IO,devAoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bo,VME_IO,devBoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bi,VME_IO,devBiCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
   3.2 file &#039;&#039;devCAEN.c&#039;&#039; contains following statements:&lt;br /&gt;
           epicsExportAddress(dset,devAoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBiCAEN)&lt;br /&gt;
   3.3 structure &#039;&#039;devAoCAEN&#039;&#039; contains for example field &#039;&#039;init_record&#039;&#039; containing function &#039;&#039;init_ao&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Continue customization. Copy &#039;&#039;devCAEN.c&#039;&#039;, &#039;&#039;command.h&#039;&#039; and &#039;&#039;support.dbd&#039;&#039; as &#039;&#039;CAENSupport.dbd&#039;&#039; to &#039;&#039;src&#039;&#039; directory. Modify Makefile changing devXxxSoft to devCAEN and xxxSupport to CAENSupport everywhere (I decided not to just add new names, but eliminate old ones, because&lt;br /&gt;
for example &#039;xxxSupport_SRCS += xxxRecord.c&#039; referes to xxxSupport library, and I want to build only one library CAENSupport). Also:&lt;br /&gt;
&lt;br /&gt;
 mv xxxSupport.dbd xxxSupport.dbd_obsolete&lt;br /&gt;
 mv devXxxSoft.c devXxxSoft.c_obsolete&lt;br /&gt;
&lt;br /&gt;
From directory &#039;&#039;iocsy527App&#039;&#039; type &#039;gmake vxWorks-ppc604_long clean&#039; and &#039;gmake vxWorks-ppc604_long&#039;, compiles fine. Reboot, have error:&lt;br /&gt;
&lt;br /&gt;
 ## Load record instances&lt;br /&gt;
 dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
 Error   Last token &amp;quot;)&amp;quot;&lt;br /&gt;
 input line: record(xxx, &amp;quot;boiarino:xxxExample&amp;quot;)&lt;br /&gt;
    in: file db/dbExample1.db line 39&lt;br /&gt;
 db_parse returned -1&lt;br /&gt;
 value = -1 = 0xffffffff&lt;br /&gt;
 filename=&amp;quot;../dbLexRoutines.c&amp;quot; line number=910&lt;br /&gt;
 Record Type does not exist dbFindRecordType&lt;br /&gt;
&lt;br /&gt;
This is probably a result of eliminating xxxSupport.dbd and devXxxSoft.c. (INTERESTING: in Makefile there is following code:&lt;br /&gt;
&lt;br /&gt;
 # xxxRecord.h will be created from xxxRecord.dbd&lt;br /&gt;
 DBDINC += xxxRecord&lt;br /&gt;
&lt;br /&gt;
and devXxxSoft.c has&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;xxxRecord.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- just good to know).&lt;br /&gt;
&lt;br /&gt;
In Makefile comment out lines&lt;br /&gt;
&lt;br /&gt;
 ########DBDINC += xxxRecord&lt;br /&gt;
 ########CAENSupport_SRCS += xxxRecord.c&lt;br /&gt;
&lt;br /&gt;
and in startup script&lt;br /&gt;
&lt;br /&gt;
 #####dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
because it does not work anyway. Rename unused files:&lt;br /&gt;
&lt;br /&gt;
 mv xxxRecord.c xxxRecord.c_obsolete&lt;br /&gt;
 mv xxxRecord.dbd xxxRecord.dbd_obsolete&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Copy bigsub.c (our init and scan functions for the &#039;bigsubRecord&#039;). Add following to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += bigsub.c&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Now interesting part. Add following to the startup script:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5825</id>
		<title>EPICS: vxWorks IOC</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5825"/>
		<updated>2012-05-29T00:28:57Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Hardware List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VxWorks IOCs are normally running in VME crate controllers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; $EPICS_BASE/configure/CONFIG was accidently changed and makefiles didnot work, Nerses fixed it - Sep 2011&lt;br /&gt;
&lt;br /&gt;
== Hardware List ==&lt;br /&gt;
&lt;br /&gt;
Following boards are used in CLAS VME vxWorks IOC crates:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|Brand/Model&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|IOC List&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Driver&#039;s subdirectory (in $BASEB/src/)&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|device support (by Matt Bickley on April 2012)&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom DIO XVME-240]] ||classc1, classc3, classc8 ||xy240||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-564]] ||classc3 ||(probably &#039;analog&#039;, since XVME-564 and XVME-560 are similar)||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-560]] ||classc3, classc8 ||analog||superceeded by XVME-564&lt;br /&gt;
|-&lt;br /&gt;
|[[Struck SIS3801]] ||classc1, classc6, classc4, classc2 ||mca||Struck SIS3820 or CAEN V830 (32 channel latch scaler)&lt;br /&gt;
|-&lt;br /&gt;
|[[Joerger VSC16]] ||classc1, classc8 ||scaler||Available/viable or CAEN V830&lt;br /&gt;
|-&lt;br /&gt;
|[[DATEL DVME-628]] ||classc1, classc4 ||DVME628&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VME44]] ||classc1, classc8 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[Compcontrol CC121]] ||classc5, classc12 ||LecroyHV&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V775]] ||classc7 ||mca&lt;br /&gt;
|-&lt;br /&gt;
|[[SYSTRAN VMESC5]] ||classc12 ||ipacLib, magnet&lt;br /&gt;
|-&lt;br /&gt;
|[[SBS VIPC616]] ||classc6, iocptarg(MCC) ||ipacLib&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VS4]] ||classc2 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V288]] ||camac2, dccntrl ||iocsy527App&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-3122]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2120]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-1129]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Machine Protection System I/O ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Beam Viewer / SLM Control Board ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[HYTEC VSD2992]] ||iochlb(MCC) ||camacApp&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2232]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[JLAB FLEXIO]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-6016]] ||sc-laser1, camac1 ||(tty driver in CLON area, work needed)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Standard Installation ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t ioc iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
 The following target architectures are available in base:&lt;br /&gt;
    solaris-sparc&lt;br /&gt;
    vxWorks-ppc604_long&lt;br /&gt;
    solaris-x86&lt;br /&gt;
    linux-x86&lt;br /&gt;
 What architecture do you want to use? vxWorks-ppc604_long&lt;br /&gt;
 The following applications are available:&lt;br /&gt;
    caclient&lt;br /&gt;
    caserver&lt;br /&gt;
    ioc&lt;br /&gt;
    ioccamac&lt;br /&gt;
    iocCore1&lt;br /&gt;
    iocCore&lt;br /&gt;
    iochv&lt;br /&gt;
    iocsy527&lt;br /&gt;
    ioctest&lt;br /&gt;
    support&lt;br /&gt;
 What application should the IOC(s) boot?&lt;br /&gt;
 The default uses the IOC&#039;s name, even if not listed above.&lt;br /&gt;
 Application name? iocsy527&lt;br /&gt;
&lt;br /&gt;
It creates directories &#039;&#039;iocsy527App&#039;&#039; and &#039;&#039;iocBoot/iocsy527&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 cd iocsy527App&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It compiles both unix and vxWorks versions.&lt;br /&gt;
&lt;br /&gt;
 cd ../iocBoot/iocsy527&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It creates useful &#039;&#039;cdCommands&#039;&#039; file. File &#039;&#039;st.cmd&#039; in the same directory contains an example of startup script. Uncommect followibg line&lt;br /&gt;
&lt;br /&gt;
 cd &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocBoot/iocsy527&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and boot. Everything looks good.&lt;br /&gt;
&lt;br /&gt;
== Makefile, source files ==&lt;br /&gt;
&lt;br /&gt;
Original Makefile in &#039;&#039;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 TOP=../..&lt;br /&gt;
 include $(TOP)/configure/CONFIG&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD MACRO DEFINITIONS AFTER THIS LINE&lt;br /&gt;
 #=============================&lt;br /&gt;
 #=============================&lt;br /&gt;
 # build an ioc application&lt;br /&gt;
 PROD_IOC = iocsy527&lt;br /&gt;
 DBD += iocsy527.dbd&lt;br /&gt;
 # iocsy527.dbd will be made up from these files:&lt;br /&gt;
 iocsy527_DBD += base.dbd&lt;br /&gt;
 #include definitions for any other support applications needed&lt;br /&gt;
 #iocsy527_DBD += xxx.dbd&lt;br /&gt;
 # &amp;lt;name&amp;gt;_registerRecordDeviceDriver.cpp will be created from &amp;lt;name&amp;gt;.dbd&lt;br /&gt;
 iocsy527_SRCS += iocsy527_registerRecordDeviceDriver.cpp&lt;br /&gt;
 iocsy527_SRCS_DEFAULT += iocsy527Main.cpp&lt;br /&gt;
 iocsy527_SRCS_vxWorks += -nil-&lt;br /&gt;
 #The following adds support from base/src/vxWorks&lt;br /&gt;
 iocsy527_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary&lt;br /&gt;
 #add a definition for each support application used by this application&lt;br /&gt;
 #iocsy527_LIBS += xxx&lt;br /&gt;
 #NOTES:&lt;br /&gt;
 #      1)It is not possible to build sncExample both as a component of iocsy527&lt;br /&gt;
 #        and standalone. You must choose only one.&lt;br /&gt;
 #      2)To build sncExample SNCSEQ must be defined in &amp;lt;top&amp;gt;/configure/RELEASE&lt;br /&gt;
 #The following builds sncExample as a component of iocsy527&lt;br /&gt;
 #iocsy527_SRCS += sncExample.stt&lt;br /&gt;
 #iocsy527_LIBS += seq pv&lt;br /&gt;
 iocsy527_LIBS += $(EPICS_BASE_IOC_LIBS)&lt;br /&gt;
 #The following builds sncExample as a standalone application&lt;br /&gt;
 #PROD_HOST += sncExample&lt;br /&gt;
 #sncExample_SNCFLAGS += +m&lt;br /&gt;
 #sncExample_SRCS += sncExample.stt&lt;br /&gt;
 #sncExample_LIBS += seq pv&lt;br /&gt;
 #sncExample_LIBS += $(EPICS_BASE_HOST_LIBS)&lt;br /&gt;
 #===========================&lt;br /&gt;
 include $(TOP)/configure/RULES&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD RULES AFTER THIS LINE&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;DriverOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527epics1.h&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics1.c&lt;br /&gt;
 v288.c&lt;br /&gt;
&lt;br /&gt;
Add following to Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288&lt;br /&gt;
 iocsy527_SRCS += sy527&lt;br /&gt;
 iocsy527_SRCS += sy527epics1&lt;br /&gt;
&lt;br /&gt;
Type &#039;&#039;gmake&#039;&#039; - everything compiles and linked with new source files.&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;IocshellOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 command.h&lt;br /&gt;
 sub.c&lt;br /&gt;
 bigsub.c&lt;br /&gt;
 devCAEN.c&lt;br /&gt;
&lt;br /&gt;
Add them to the Makefile the same way, and type &#039;gmake&#039;. It complains for UNIX on linking, but command&lt;br /&gt;
&lt;br /&gt;
 gmake vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
works fine. Reboot IOC - no undefined symbols.&lt;br /&gt;
&lt;br /&gt;
Add our HV database and &#039;src&#039; directories into &#039;&#039;cdCommands&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;br /&gt;
 src = &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add following two lnes to startup script after iocInit() (before - complains):&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
 dbLoadDatabase(&amp;quot;support.dbd&amp;quot;)&lt;br /&gt;
 cd db&lt;br /&gt;
 dbLoadRecords(&amp;quot;caen_04.db&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Reboot ioc again, type &#039;dbl&#039; - all records printed.&lt;br /&gt;
&lt;br /&gt;
Try to caget one of them - vxWorks printed error: we got through but corresponding function support is missing.&lt;br /&gt;
&lt;br /&gt;
Do following on vxWorks prompt:&lt;br /&gt;
&lt;br /&gt;
 registryFunctionAdd(&amp;quot;InitChannel&amp;quot;,InitChannel)&lt;br /&gt;
 registryFunctionAdd(&amp;quot;ScanChannel&amp;quot;,ScanChannel)&lt;br /&gt;
&lt;br /&gt;
does not help. Run driver commands in the very end of startup script - does not help:&lt;br /&gt;
&lt;br /&gt;
 sy527Init()&lt;br /&gt;
 sy527Start(0,&amp;quot;sy527_0x100000_9&amp;quot;)&lt;br /&gt;
 sy527GetMap(0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== trying same, but use type &#039;example&#039; instead of &#039;ioc&#039; ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t example iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
&lt;br /&gt;
Everything compiles and boots, &#039;caget&#039; works.&lt;br /&gt;
&lt;br /&gt;
Now, lets customize it for sy517:&lt;br /&gt;
&lt;br /&gt;
* copy following v288- and sy527-related *.h and *.c files to &#039;&#039;$EPICS_BASE/iocsy527/src&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 v288.c&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics.c&lt;br /&gt;
 sy527epics.h&lt;br /&gt;
&lt;br /&gt;
(sy527epics1 was renamed to sy527epics in a process). Add follwoing lines to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288.c&lt;br /&gt;
 iocsy527_SRCS += sy527.c&lt;br /&gt;
 iocsy527_SRCS += sy527epics.c&lt;br /&gt;
 iocsy527_SRCS += sy527_test.c&lt;br /&gt;
&lt;br /&gt;
Compile, reboot - looks good.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NOTES:&#039;&#039;&#039; our CAEN HV software structure&lt;br /&gt;
&lt;br /&gt;
 1. Everything starts from &#039;&#039;$APP/hvca/db/caen_04.dat&#039;&#039; or similar file generated from &#039;&#039;caen.dat&#039;&#039;&lt;br /&gt;
 2. Statements &#039;&#039;field(INAM,InitChannel)&#039;&#039; and &#039;&#039;field(SNAM,ScanChannel)&#039;&#039; requires functions &#039;&#039;InitChannel&#039;&#039; and &#039;&#039;ScanChannel&#039;&#039;;&lt;br /&gt;
     those functions are in &#039;&#039;bigsub.c&#039;&#039;&lt;br /&gt;
   2.1 &#039;&#039;bigsub.c&#039;&#039; calls one function &#039;&#039;CAEN_GetChannel&#039;&#039;, that function is in &#039;&#039;sy527epics.c&#039;&#039;&lt;br /&gt;
   2.2 &#039;&#039;sy527epics.c&#039;&#039; contains following functions:&lt;br /&gt;
           CAEN_HVinit&lt;br /&gt;
           CAEN_HVstart&lt;br /&gt;
           CAEN_HVstop&lt;br /&gt;
           CAEN_HVload&lt;br /&gt;
           CAEN_GetHv&lt;br /&gt;
           CAEN_GetAlarm&lt;br /&gt;
           CAEN_GetValidity&lt;br /&gt;
           CAEN_SetHV&lt;br /&gt;
           CAEN_GetProperty&lt;br /&gt;
           CAEN_GetChannel&lt;br /&gt;
 3. Statement &#039;&#039;field(DTYP,&amp;quot;CAEN_HV&amp;quot;)&#039;&#039; requires ...&lt;br /&gt;
   3.1 file &#039;&#039;support.dbd&#039;&#039; contains following statements:&lt;br /&gt;
           device(ao,VME_IO,devAoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bo,VME_IO,devBoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bi,VME_IO,devBiCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
   3.2 file &#039;&#039;devCAEN.c&#039;&#039; contains following statements:&lt;br /&gt;
           epicsExportAddress(dset,devAoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBiCAEN)&lt;br /&gt;
   3.3 structure &#039;&#039;devAoCAEN&#039;&#039; contains for example field &#039;&#039;init_record&#039;&#039; containing function &#039;&#039;init_ao&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Continue customization. Copy &#039;&#039;devCAEN.c&#039;&#039;, &#039;&#039;command.h&#039;&#039; and &#039;&#039;support.dbd&#039;&#039; as &#039;&#039;CAENSupport.dbd&#039;&#039; to &#039;&#039;src&#039;&#039; directory. Modify Makefile changing devXxxSoft to devCAEN and xxxSupport to CAENSupport everywhere (I decided not to just add new names, but eliminate old ones, because&lt;br /&gt;
for example &#039;xxxSupport_SRCS += xxxRecord.c&#039; referes to xxxSupport library, and I want to build only one library CAENSupport). Also:&lt;br /&gt;
&lt;br /&gt;
 mv xxxSupport.dbd xxxSupport.dbd_obsolete&lt;br /&gt;
 mv devXxxSoft.c devXxxSoft.c_obsolete&lt;br /&gt;
&lt;br /&gt;
From directory &#039;&#039;iocsy527App&#039;&#039; type &#039;gmake vxWorks-ppc604_long clean&#039; and &#039;gmake vxWorks-ppc604_long&#039;, compiles fine. Reboot, have error:&lt;br /&gt;
&lt;br /&gt;
 ## Load record instances&lt;br /&gt;
 dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
 Error   Last token &amp;quot;)&amp;quot;&lt;br /&gt;
 input line: record(xxx, &amp;quot;boiarino:xxxExample&amp;quot;)&lt;br /&gt;
    in: file db/dbExample1.db line 39&lt;br /&gt;
 db_parse returned -1&lt;br /&gt;
 value = -1 = 0xffffffff&lt;br /&gt;
 filename=&amp;quot;../dbLexRoutines.c&amp;quot; line number=910&lt;br /&gt;
 Record Type does not exist dbFindRecordType&lt;br /&gt;
&lt;br /&gt;
This is probably a result of eliminating xxxSupport.dbd and devXxxSoft.c. (INTERESTING: in Makefile there is following code:&lt;br /&gt;
&lt;br /&gt;
 # xxxRecord.h will be created from xxxRecord.dbd&lt;br /&gt;
 DBDINC += xxxRecord&lt;br /&gt;
&lt;br /&gt;
and devXxxSoft.c has&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;xxxRecord.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- just good to know).&lt;br /&gt;
&lt;br /&gt;
In Makefile comment out lines&lt;br /&gt;
&lt;br /&gt;
 ########DBDINC += xxxRecord&lt;br /&gt;
 ########CAENSupport_SRCS += xxxRecord.c&lt;br /&gt;
&lt;br /&gt;
and in startup script&lt;br /&gt;
&lt;br /&gt;
 #####dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
because it does not work anyway. Rename unused files:&lt;br /&gt;
&lt;br /&gt;
 mv xxxRecord.c xxxRecord.c_obsolete&lt;br /&gt;
 mv xxxRecord.dbd xxxRecord.dbd_obsolete&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Copy bigsub.c (our init and scan functions for the &#039;bigsubRecord&#039;). Add following to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += bigsub.c&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Now interesting part. Add following to the startup script:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5824</id>
		<title>EPICS: vxWorks IOC</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5824"/>
		<updated>2012-05-29T00:25:48Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Hardware List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VxWorks IOCs are normally running in VME crate controllers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; $EPICS_BASE/configure/CONFIG was accidently changed and makefiles didnot work, Nerses fixed it - Sep 2011&lt;br /&gt;
&lt;br /&gt;
== Hardware List ==&lt;br /&gt;
&lt;br /&gt;
Following boards are used in CLAS VME vxWorks IOC crates:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|Brand/Model&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|IOC List&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Driver&#039;s subdirectory (in $BASEB/src/)&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|device support (by Matt Bickley on April 2012)&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom DIO XVME-240]] ||classc1, classc3, classc8 ||xy240||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-564]] ||classc3 ||(probably &#039;analog&#039;, since XVME-564 and XVME-560 are similar)||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-560]] ||classc3, classc8 ||analog&lt;br /&gt;
|-&lt;br /&gt;
|[[Struck SIS3801]] ||classc1, classc6, classc4, classc2 ||mca&lt;br /&gt;
|-&lt;br /&gt;
|[[Joerger VSC16]] ||classc1, classc8 ||scaler&lt;br /&gt;
|-&lt;br /&gt;
|[[DATEL DVME-628]] ||classc1, classc4 ||DVME628&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VME44]] ||classc1, classc8 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[Compcontrol CC121]] ||classc5, classc12 ||LecroyHV&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V775]] ||classc7 ||mca&lt;br /&gt;
|-&lt;br /&gt;
|[[SYSTRAN VMESC5]] ||classc12 ||ipacLib, magnet&lt;br /&gt;
|-&lt;br /&gt;
|[[SBS VIPC616]] ||classc6, iocptarg(MCC) ||ipacLib&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VS4]] ||classc2 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V288]] ||camac2, dccntrl ||iocsy527App&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-3122]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2120]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-1129]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Machine Protection System I/O ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Beam Viewer / SLM Control Board ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[HYTEC VSD2992]] ||iochlb(MCC) ||camacApp&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2232]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[JLAB FLEXIO]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-6016]] ||sc-laser1, camac1 ||(tty driver in CLON area, work needed)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Standard Installation ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t ioc iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
 The following target architectures are available in base:&lt;br /&gt;
    solaris-sparc&lt;br /&gt;
    vxWorks-ppc604_long&lt;br /&gt;
    solaris-x86&lt;br /&gt;
    linux-x86&lt;br /&gt;
 What architecture do you want to use? vxWorks-ppc604_long&lt;br /&gt;
 The following applications are available:&lt;br /&gt;
    caclient&lt;br /&gt;
    caserver&lt;br /&gt;
    ioc&lt;br /&gt;
    ioccamac&lt;br /&gt;
    iocCore1&lt;br /&gt;
    iocCore&lt;br /&gt;
    iochv&lt;br /&gt;
    iocsy527&lt;br /&gt;
    ioctest&lt;br /&gt;
    support&lt;br /&gt;
 What application should the IOC(s) boot?&lt;br /&gt;
 The default uses the IOC&#039;s name, even if not listed above.&lt;br /&gt;
 Application name? iocsy527&lt;br /&gt;
&lt;br /&gt;
It creates directories &#039;&#039;iocsy527App&#039;&#039; and &#039;&#039;iocBoot/iocsy527&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 cd iocsy527App&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It compiles both unix and vxWorks versions.&lt;br /&gt;
&lt;br /&gt;
 cd ../iocBoot/iocsy527&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It creates useful &#039;&#039;cdCommands&#039;&#039; file. File &#039;&#039;st.cmd&#039; in the same directory contains an example of startup script. Uncommect followibg line&lt;br /&gt;
&lt;br /&gt;
 cd &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocBoot/iocsy527&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and boot. Everything looks good.&lt;br /&gt;
&lt;br /&gt;
== Makefile, source files ==&lt;br /&gt;
&lt;br /&gt;
Original Makefile in &#039;&#039;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 TOP=../..&lt;br /&gt;
 include $(TOP)/configure/CONFIG&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD MACRO DEFINITIONS AFTER THIS LINE&lt;br /&gt;
 #=============================&lt;br /&gt;
 #=============================&lt;br /&gt;
 # build an ioc application&lt;br /&gt;
 PROD_IOC = iocsy527&lt;br /&gt;
 DBD += iocsy527.dbd&lt;br /&gt;
 # iocsy527.dbd will be made up from these files:&lt;br /&gt;
 iocsy527_DBD += base.dbd&lt;br /&gt;
 #include definitions for any other support applications needed&lt;br /&gt;
 #iocsy527_DBD += xxx.dbd&lt;br /&gt;
 # &amp;lt;name&amp;gt;_registerRecordDeviceDriver.cpp will be created from &amp;lt;name&amp;gt;.dbd&lt;br /&gt;
 iocsy527_SRCS += iocsy527_registerRecordDeviceDriver.cpp&lt;br /&gt;
 iocsy527_SRCS_DEFAULT += iocsy527Main.cpp&lt;br /&gt;
 iocsy527_SRCS_vxWorks += -nil-&lt;br /&gt;
 #The following adds support from base/src/vxWorks&lt;br /&gt;
 iocsy527_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary&lt;br /&gt;
 #add a definition for each support application used by this application&lt;br /&gt;
 #iocsy527_LIBS += xxx&lt;br /&gt;
 #NOTES:&lt;br /&gt;
 #      1)It is not possible to build sncExample both as a component of iocsy527&lt;br /&gt;
 #        and standalone. You must choose only one.&lt;br /&gt;
 #      2)To build sncExample SNCSEQ must be defined in &amp;lt;top&amp;gt;/configure/RELEASE&lt;br /&gt;
 #The following builds sncExample as a component of iocsy527&lt;br /&gt;
 #iocsy527_SRCS += sncExample.stt&lt;br /&gt;
 #iocsy527_LIBS += seq pv&lt;br /&gt;
 iocsy527_LIBS += $(EPICS_BASE_IOC_LIBS)&lt;br /&gt;
 #The following builds sncExample as a standalone application&lt;br /&gt;
 #PROD_HOST += sncExample&lt;br /&gt;
 #sncExample_SNCFLAGS += +m&lt;br /&gt;
 #sncExample_SRCS += sncExample.stt&lt;br /&gt;
 #sncExample_LIBS += seq pv&lt;br /&gt;
 #sncExample_LIBS += $(EPICS_BASE_HOST_LIBS)&lt;br /&gt;
 #===========================&lt;br /&gt;
 include $(TOP)/configure/RULES&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD RULES AFTER THIS LINE&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;DriverOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527epics1.h&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics1.c&lt;br /&gt;
 v288.c&lt;br /&gt;
&lt;br /&gt;
Add following to Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288&lt;br /&gt;
 iocsy527_SRCS += sy527&lt;br /&gt;
 iocsy527_SRCS += sy527epics1&lt;br /&gt;
&lt;br /&gt;
Type &#039;&#039;gmake&#039;&#039; - everything compiles and linked with new source files.&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;IocshellOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 command.h&lt;br /&gt;
 sub.c&lt;br /&gt;
 bigsub.c&lt;br /&gt;
 devCAEN.c&lt;br /&gt;
&lt;br /&gt;
Add them to the Makefile the same way, and type &#039;gmake&#039;. It complains for UNIX on linking, but command&lt;br /&gt;
&lt;br /&gt;
 gmake vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
works fine. Reboot IOC - no undefined symbols.&lt;br /&gt;
&lt;br /&gt;
Add our HV database and &#039;src&#039; directories into &#039;&#039;cdCommands&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;br /&gt;
 src = &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add following two lnes to startup script after iocInit() (before - complains):&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
 dbLoadDatabase(&amp;quot;support.dbd&amp;quot;)&lt;br /&gt;
 cd db&lt;br /&gt;
 dbLoadRecords(&amp;quot;caen_04.db&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Reboot ioc again, type &#039;dbl&#039; - all records printed.&lt;br /&gt;
&lt;br /&gt;
Try to caget one of them - vxWorks printed error: we got through but corresponding function support is missing.&lt;br /&gt;
&lt;br /&gt;
Do following on vxWorks prompt:&lt;br /&gt;
&lt;br /&gt;
 registryFunctionAdd(&amp;quot;InitChannel&amp;quot;,InitChannel)&lt;br /&gt;
 registryFunctionAdd(&amp;quot;ScanChannel&amp;quot;,ScanChannel)&lt;br /&gt;
&lt;br /&gt;
does not help. Run driver commands in the very end of startup script - does not help:&lt;br /&gt;
&lt;br /&gt;
 sy527Init()&lt;br /&gt;
 sy527Start(0,&amp;quot;sy527_0x100000_9&amp;quot;)&lt;br /&gt;
 sy527GetMap(0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== trying same, but use type &#039;example&#039; instead of &#039;ioc&#039; ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t example iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
&lt;br /&gt;
Everything compiles and boots, &#039;caget&#039; works.&lt;br /&gt;
&lt;br /&gt;
Now, lets customize it for sy517:&lt;br /&gt;
&lt;br /&gt;
* copy following v288- and sy527-related *.h and *.c files to &#039;&#039;$EPICS_BASE/iocsy527/src&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 v288.c&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics.c&lt;br /&gt;
 sy527epics.h&lt;br /&gt;
&lt;br /&gt;
(sy527epics1 was renamed to sy527epics in a process). Add follwoing lines to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288.c&lt;br /&gt;
 iocsy527_SRCS += sy527.c&lt;br /&gt;
 iocsy527_SRCS += sy527epics.c&lt;br /&gt;
 iocsy527_SRCS += sy527_test.c&lt;br /&gt;
&lt;br /&gt;
Compile, reboot - looks good.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NOTES:&#039;&#039;&#039; our CAEN HV software structure&lt;br /&gt;
&lt;br /&gt;
 1. Everything starts from &#039;&#039;$APP/hvca/db/caen_04.dat&#039;&#039; or similar file generated from &#039;&#039;caen.dat&#039;&#039;&lt;br /&gt;
 2. Statements &#039;&#039;field(INAM,InitChannel)&#039;&#039; and &#039;&#039;field(SNAM,ScanChannel)&#039;&#039; requires functions &#039;&#039;InitChannel&#039;&#039; and &#039;&#039;ScanChannel&#039;&#039;;&lt;br /&gt;
     those functions are in &#039;&#039;bigsub.c&#039;&#039;&lt;br /&gt;
   2.1 &#039;&#039;bigsub.c&#039;&#039; calls one function &#039;&#039;CAEN_GetChannel&#039;&#039;, that function is in &#039;&#039;sy527epics.c&#039;&#039;&lt;br /&gt;
   2.2 &#039;&#039;sy527epics.c&#039;&#039; contains following functions:&lt;br /&gt;
           CAEN_HVinit&lt;br /&gt;
           CAEN_HVstart&lt;br /&gt;
           CAEN_HVstop&lt;br /&gt;
           CAEN_HVload&lt;br /&gt;
           CAEN_GetHv&lt;br /&gt;
           CAEN_GetAlarm&lt;br /&gt;
           CAEN_GetValidity&lt;br /&gt;
           CAEN_SetHV&lt;br /&gt;
           CAEN_GetProperty&lt;br /&gt;
           CAEN_GetChannel&lt;br /&gt;
 3. Statement &#039;&#039;field(DTYP,&amp;quot;CAEN_HV&amp;quot;)&#039;&#039; requires ...&lt;br /&gt;
   3.1 file &#039;&#039;support.dbd&#039;&#039; contains following statements:&lt;br /&gt;
           device(ao,VME_IO,devAoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bo,VME_IO,devBoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bi,VME_IO,devBiCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
   3.2 file &#039;&#039;devCAEN.c&#039;&#039; contains following statements:&lt;br /&gt;
           epicsExportAddress(dset,devAoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBiCAEN)&lt;br /&gt;
   3.3 structure &#039;&#039;devAoCAEN&#039;&#039; contains for example field &#039;&#039;init_record&#039;&#039; containing function &#039;&#039;init_ao&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Continue customization. Copy &#039;&#039;devCAEN.c&#039;&#039;, &#039;&#039;command.h&#039;&#039; and &#039;&#039;support.dbd&#039;&#039; as &#039;&#039;CAENSupport.dbd&#039;&#039; to &#039;&#039;src&#039;&#039; directory. Modify Makefile changing devXxxSoft to devCAEN and xxxSupport to CAENSupport everywhere (I decided not to just add new names, but eliminate old ones, because&lt;br /&gt;
for example &#039;xxxSupport_SRCS += xxxRecord.c&#039; referes to xxxSupport library, and I want to build only one library CAENSupport). Also:&lt;br /&gt;
&lt;br /&gt;
 mv xxxSupport.dbd xxxSupport.dbd_obsolete&lt;br /&gt;
 mv devXxxSoft.c devXxxSoft.c_obsolete&lt;br /&gt;
&lt;br /&gt;
From directory &#039;&#039;iocsy527App&#039;&#039; type &#039;gmake vxWorks-ppc604_long clean&#039; and &#039;gmake vxWorks-ppc604_long&#039;, compiles fine. Reboot, have error:&lt;br /&gt;
&lt;br /&gt;
 ## Load record instances&lt;br /&gt;
 dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
 Error   Last token &amp;quot;)&amp;quot;&lt;br /&gt;
 input line: record(xxx, &amp;quot;boiarino:xxxExample&amp;quot;)&lt;br /&gt;
    in: file db/dbExample1.db line 39&lt;br /&gt;
 db_parse returned -1&lt;br /&gt;
 value = -1 = 0xffffffff&lt;br /&gt;
 filename=&amp;quot;../dbLexRoutines.c&amp;quot; line number=910&lt;br /&gt;
 Record Type does not exist dbFindRecordType&lt;br /&gt;
&lt;br /&gt;
This is probably a result of eliminating xxxSupport.dbd and devXxxSoft.c. (INTERESTING: in Makefile there is following code:&lt;br /&gt;
&lt;br /&gt;
 # xxxRecord.h will be created from xxxRecord.dbd&lt;br /&gt;
 DBDINC += xxxRecord&lt;br /&gt;
&lt;br /&gt;
and devXxxSoft.c has&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;xxxRecord.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- just good to know).&lt;br /&gt;
&lt;br /&gt;
In Makefile comment out lines&lt;br /&gt;
&lt;br /&gt;
 ########DBDINC += xxxRecord&lt;br /&gt;
 ########CAENSupport_SRCS += xxxRecord.c&lt;br /&gt;
&lt;br /&gt;
and in startup script&lt;br /&gt;
&lt;br /&gt;
 #####dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
because it does not work anyway. Rename unused files:&lt;br /&gt;
&lt;br /&gt;
 mv xxxRecord.c xxxRecord.c_obsolete&lt;br /&gt;
 mv xxxRecord.dbd xxxRecord.dbd_obsolete&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Copy bigsub.c (our init and scan functions for the &#039;bigsubRecord&#039;). Add following to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += bigsub.c&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Now interesting part. Add following to the startup script:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5823</id>
		<title>EPICS: vxWorks IOC</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5823"/>
		<updated>2012-05-29T00:24:29Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Hardware List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VxWorks IOCs are normally running in VME crate controllers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; $EPICS_BASE/configure/CONFIG was accidently changed and makefiles didnot work, Nerses fixed it - Sep 2011&lt;br /&gt;
&lt;br /&gt;
== Hardware List ==&lt;br /&gt;
&lt;br /&gt;
Following boards are used in CLAS VME vxWorks IOC crates:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|Brand/Model&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|IOC List&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Driver&#039;s subdirectory (in $BASEB/src/)&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Matt Bickley advise April 2012&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom DIO XVME-240]] ||classc1, classc3, classc8 ||xy240||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-564]] ||classc3 ||(probably &#039;analog&#039;, since XVME-564 and XVME-560 are similar)||Available/viable&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-560]] ||classc3, classc8 ||analog&lt;br /&gt;
|-&lt;br /&gt;
|[[Struck SIS3801]] ||classc1, classc6, classc4, classc2 ||mca&lt;br /&gt;
|-&lt;br /&gt;
|[[Joerger VSC16]] ||classc1, classc8 ||scaler&lt;br /&gt;
|-&lt;br /&gt;
|[[DATEL DVME-628]] ||classc1, classc4 ||DVME628&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VME44]] ||classc1, classc8 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[Compcontrol CC121]] ||classc5, classc12 ||LecroyHV&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V775]] ||classc7 ||mca&lt;br /&gt;
|-&lt;br /&gt;
|[[SYSTRAN VMESC5]] ||classc12 ||ipacLib, magnet&lt;br /&gt;
|-&lt;br /&gt;
|[[SBS VIPC616]] ||classc6, iocptarg(MCC) ||ipacLib&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VS4]] ||classc2 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V288]] ||camac2, dccntrl ||iocsy527App&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-3122]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2120]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-1129]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Machine Protection System I/O ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Beam Viewer / SLM Control Board ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[HYTEC VSD2992]] ||iochlb(MCC) ||camacApp&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2232]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[JLAB FLEXIO]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-6016]] ||sc-laser1, camac1 ||(tty driver in CLON area, work needed)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Standard Installation ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t ioc iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
 The following target architectures are available in base:&lt;br /&gt;
    solaris-sparc&lt;br /&gt;
    vxWorks-ppc604_long&lt;br /&gt;
    solaris-x86&lt;br /&gt;
    linux-x86&lt;br /&gt;
 What architecture do you want to use? vxWorks-ppc604_long&lt;br /&gt;
 The following applications are available:&lt;br /&gt;
    caclient&lt;br /&gt;
    caserver&lt;br /&gt;
    ioc&lt;br /&gt;
    ioccamac&lt;br /&gt;
    iocCore1&lt;br /&gt;
    iocCore&lt;br /&gt;
    iochv&lt;br /&gt;
    iocsy527&lt;br /&gt;
    ioctest&lt;br /&gt;
    support&lt;br /&gt;
 What application should the IOC(s) boot?&lt;br /&gt;
 The default uses the IOC&#039;s name, even if not listed above.&lt;br /&gt;
 Application name? iocsy527&lt;br /&gt;
&lt;br /&gt;
It creates directories &#039;&#039;iocsy527App&#039;&#039; and &#039;&#039;iocBoot/iocsy527&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 cd iocsy527App&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It compiles both unix and vxWorks versions.&lt;br /&gt;
&lt;br /&gt;
 cd ../iocBoot/iocsy527&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It creates useful &#039;&#039;cdCommands&#039;&#039; file. File &#039;&#039;st.cmd&#039; in the same directory contains an example of startup script. Uncommect followibg line&lt;br /&gt;
&lt;br /&gt;
 cd &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocBoot/iocsy527&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and boot. Everything looks good.&lt;br /&gt;
&lt;br /&gt;
== Makefile, source files ==&lt;br /&gt;
&lt;br /&gt;
Original Makefile in &#039;&#039;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 TOP=../..&lt;br /&gt;
 include $(TOP)/configure/CONFIG&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD MACRO DEFINITIONS AFTER THIS LINE&lt;br /&gt;
 #=============================&lt;br /&gt;
 #=============================&lt;br /&gt;
 # build an ioc application&lt;br /&gt;
 PROD_IOC = iocsy527&lt;br /&gt;
 DBD += iocsy527.dbd&lt;br /&gt;
 # iocsy527.dbd will be made up from these files:&lt;br /&gt;
 iocsy527_DBD += base.dbd&lt;br /&gt;
 #include definitions for any other support applications needed&lt;br /&gt;
 #iocsy527_DBD += xxx.dbd&lt;br /&gt;
 # &amp;lt;name&amp;gt;_registerRecordDeviceDriver.cpp will be created from &amp;lt;name&amp;gt;.dbd&lt;br /&gt;
 iocsy527_SRCS += iocsy527_registerRecordDeviceDriver.cpp&lt;br /&gt;
 iocsy527_SRCS_DEFAULT += iocsy527Main.cpp&lt;br /&gt;
 iocsy527_SRCS_vxWorks += -nil-&lt;br /&gt;
 #The following adds support from base/src/vxWorks&lt;br /&gt;
 iocsy527_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary&lt;br /&gt;
 #add a definition for each support application used by this application&lt;br /&gt;
 #iocsy527_LIBS += xxx&lt;br /&gt;
 #NOTES:&lt;br /&gt;
 #      1)It is not possible to build sncExample both as a component of iocsy527&lt;br /&gt;
 #        and standalone. You must choose only one.&lt;br /&gt;
 #      2)To build sncExample SNCSEQ must be defined in &amp;lt;top&amp;gt;/configure/RELEASE&lt;br /&gt;
 #The following builds sncExample as a component of iocsy527&lt;br /&gt;
 #iocsy527_SRCS += sncExample.stt&lt;br /&gt;
 #iocsy527_LIBS += seq pv&lt;br /&gt;
 iocsy527_LIBS += $(EPICS_BASE_IOC_LIBS)&lt;br /&gt;
 #The following builds sncExample as a standalone application&lt;br /&gt;
 #PROD_HOST += sncExample&lt;br /&gt;
 #sncExample_SNCFLAGS += +m&lt;br /&gt;
 #sncExample_SRCS += sncExample.stt&lt;br /&gt;
 #sncExample_LIBS += seq pv&lt;br /&gt;
 #sncExample_LIBS += $(EPICS_BASE_HOST_LIBS)&lt;br /&gt;
 #===========================&lt;br /&gt;
 include $(TOP)/configure/RULES&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD RULES AFTER THIS LINE&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;DriverOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527epics1.h&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics1.c&lt;br /&gt;
 v288.c&lt;br /&gt;
&lt;br /&gt;
Add following to Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288&lt;br /&gt;
 iocsy527_SRCS += sy527&lt;br /&gt;
 iocsy527_SRCS += sy527epics1&lt;br /&gt;
&lt;br /&gt;
Type &#039;&#039;gmake&#039;&#039; - everything compiles and linked with new source files.&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;IocshellOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 command.h&lt;br /&gt;
 sub.c&lt;br /&gt;
 bigsub.c&lt;br /&gt;
 devCAEN.c&lt;br /&gt;
&lt;br /&gt;
Add them to the Makefile the same way, and type &#039;gmake&#039;. It complains for UNIX on linking, but command&lt;br /&gt;
&lt;br /&gt;
 gmake vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
works fine. Reboot IOC - no undefined symbols.&lt;br /&gt;
&lt;br /&gt;
Add our HV database and &#039;src&#039; directories into &#039;&#039;cdCommands&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;br /&gt;
 src = &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add following two lnes to startup script after iocInit() (before - complains):&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
 dbLoadDatabase(&amp;quot;support.dbd&amp;quot;)&lt;br /&gt;
 cd db&lt;br /&gt;
 dbLoadRecords(&amp;quot;caen_04.db&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Reboot ioc again, type &#039;dbl&#039; - all records printed.&lt;br /&gt;
&lt;br /&gt;
Try to caget one of them - vxWorks printed error: we got through but corresponding function support is missing.&lt;br /&gt;
&lt;br /&gt;
Do following on vxWorks prompt:&lt;br /&gt;
&lt;br /&gt;
 registryFunctionAdd(&amp;quot;InitChannel&amp;quot;,InitChannel)&lt;br /&gt;
 registryFunctionAdd(&amp;quot;ScanChannel&amp;quot;,ScanChannel)&lt;br /&gt;
&lt;br /&gt;
does not help. Run driver commands in the very end of startup script - does not help:&lt;br /&gt;
&lt;br /&gt;
 sy527Init()&lt;br /&gt;
 sy527Start(0,&amp;quot;sy527_0x100000_9&amp;quot;)&lt;br /&gt;
 sy527GetMap(0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== trying same, but use type &#039;example&#039; instead of &#039;ioc&#039; ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t example iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
&lt;br /&gt;
Everything compiles and boots, &#039;caget&#039; works.&lt;br /&gt;
&lt;br /&gt;
Now, lets customize it for sy517:&lt;br /&gt;
&lt;br /&gt;
* copy following v288- and sy527-related *.h and *.c files to &#039;&#039;$EPICS_BASE/iocsy527/src&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 v288.c&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics.c&lt;br /&gt;
 sy527epics.h&lt;br /&gt;
&lt;br /&gt;
(sy527epics1 was renamed to sy527epics in a process). Add follwoing lines to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288.c&lt;br /&gt;
 iocsy527_SRCS += sy527.c&lt;br /&gt;
 iocsy527_SRCS += sy527epics.c&lt;br /&gt;
 iocsy527_SRCS += sy527_test.c&lt;br /&gt;
&lt;br /&gt;
Compile, reboot - looks good.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NOTES:&#039;&#039;&#039; our CAEN HV software structure&lt;br /&gt;
&lt;br /&gt;
 1. Everything starts from &#039;&#039;$APP/hvca/db/caen_04.dat&#039;&#039; or similar file generated from &#039;&#039;caen.dat&#039;&#039;&lt;br /&gt;
 2. Statements &#039;&#039;field(INAM,InitChannel)&#039;&#039; and &#039;&#039;field(SNAM,ScanChannel)&#039;&#039; requires functions &#039;&#039;InitChannel&#039;&#039; and &#039;&#039;ScanChannel&#039;&#039;;&lt;br /&gt;
     those functions are in &#039;&#039;bigsub.c&#039;&#039;&lt;br /&gt;
   2.1 &#039;&#039;bigsub.c&#039;&#039; calls one function &#039;&#039;CAEN_GetChannel&#039;&#039;, that function is in &#039;&#039;sy527epics.c&#039;&#039;&lt;br /&gt;
   2.2 &#039;&#039;sy527epics.c&#039;&#039; contains following functions:&lt;br /&gt;
           CAEN_HVinit&lt;br /&gt;
           CAEN_HVstart&lt;br /&gt;
           CAEN_HVstop&lt;br /&gt;
           CAEN_HVload&lt;br /&gt;
           CAEN_GetHv&lt;br /&gt;
           CAEN_GetAlarm&lt;br /&gt;
           CAEN_GetValidity&lt;br /&gt;
           CAEN_SetHV&lt;br /&gt;
           CAEN_GetProperty&lt;br /&gt;
           CAEN_GetChannel&lt;br /&gt;
 3. Statement &#039;&#039;field(DTYP,&amp;quot;CAEN_HV&amp;quot;)&#039;&#039; requires ...&lt;br /&gt;
   3.1 file &#039;&#039;support.dbd&#039;&#039; contains following statements:&lt;br /&gt;
           device(ao,VME_IO,devAoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bo,VME_IO,devBoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bi,VME_IO,devBiCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
   3.2 file &#039;&#039;devCAEN.c&#039;&#039; contains following statements:&lt;br /&gt;
           epicsExportAddress(dset,devAoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBiCAEN)&lt;br /&gt;
   3.3 structure &#039;&#039;devAoCAEN&#039;&#039; contains for example field &#039;&#039;init_record&#039;&#039; containing function &#039;&#039;init_ao&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Continue customization. Copy &#039;&#039;devCAEN.c&#039;&#039;, &#039;&#039;command.h&#039;&#039; and &#039;&#039;support.dbd&#039;&#039; as &#039;&#039;CAENSupport.dbd&#039;&#039; to &#039;&#039;src&#039;&#039; directory. Modify Makefile changing devXxxSoft to devCAEN and xxxSupport to CAENSupport everywhere (I decided not to just add new names, but eliminate old ones, because&lt;br /&gt;
for example &#039;xxxSupport_SRCS += xxxRecord.c&#039; referes to xxxSupport library, and I want to build only one library CAENSupport). Also:&lt;br /&gt;
&lt;br /&gt;
 mv xxxSupport.dbd xxxSupport.dbd_obsolete&lt;br /&gt;
 mv devXxxSoft.c devXxxSoft.c_obsolete&lt;br /&gt;
&lt;br /&gt;
From directory &#039;&#039;iocsy527App&#039;&#039; type &#039;gmake vxWorks-ppc604_long clean&#039; and &#039;gmake vxWorks-ppc604_long&#039;, compiles fine. Reboot, have error:&lt;br /&gt;
&lt;br /&gt;
 ## Load record instances&lt;br /&gt;
 dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
 Error   Last token &amp;quot;)&amp;quot;&lt;br /&gt;
 input line: record(xxx, &amp;quot;boiarino:xxxExample&amp;quot;)&lt;br /&gt;
    in: file db/dbExample1.db line 39&lt;br /&gt;
 db_parse returned -1&lt;br /&gt;
 value = -1 = 0xffffffff&lt;br /&gt;
 filename=&amp;quot;../dbLexRoutines.c&amp;quot; line number=910&lt;br /&gt;
 Record Type does not exist dbFindRecordType&lt;br /&gt;
&lt;br /&gt;
This is probably a result of eliminating xxxSupport.dbd and devXxxSoft.c. (INTERESTING: in Makefile there is following code:&lt;br /&gt;
&lt;br /&gt;
 # xxxRecord.h will be created from xxxRecord.dbd&lt;br /&gt;
 DBDINC += xxxRecord&lt;br /&gt;
&lt;br /&gt;
and devXxxSoft.c has&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;xxxRecord.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- just good to know).&lt;br /&gt;
&lt;br /&gt;
In Makefile comment out lines&lt;br /&gt;
&lt;br /&gt;
 ########DBDINC += xxxRecord&lt;br /&gt;
 ########CAENSupport_SRCS += xxxRecord.c&lt;br /&gt;
&lt;br /&gt;
and in startup script&lt;br /&gt;
&lt;br /&gt;
 #####dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
because it does not work anyway. Rename unused files:&lt;br /&gt;
&lt;br /&gt;
 mv xxxRecord.c xxxRecord.c_obsolete&lt;br /&gt;
 mv xxxRecord.dbd xxxRecord.dbd_obsolete&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Copy bigsub.c (our init and scan functions for the &#039;bigsubRecord&#039;). Add following to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += bigsub.c&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Now interesting part. Add following to the startup script:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5822</id>
		<title>EPICS: vxWorks IOC</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5822"/>
		<updated>2012-05-29T00:22:45Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Hardware List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VxWorks IOCs are normally running in VME crate controllers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; $EPICS_BASE/configure/CONFIG was accidently changed and makefiles didnot work, Nerses fixed it - Sep 2011&lt;br /&gt;
&lt;br /&gt;
== Hardware List ==&lt;br /&gt;
&lt;br /&gt;
Following boards are used in CLAS VME vxWorks IOC crates:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|Brand/Model&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|IOC List&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Driver&#039;s subdirectory (in $BASEB/src/&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Matt Bickley advise April 2012&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom DIO XVME-240]] ||classc1, classc3, classc8 ||xy240&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-564]] ||classc3 ||(probably &#039;analog&#039;, since XVME-564 and XVME-560 are similar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-560]] ||classc3, classc8 ||analog&lt;br /&gt;
|-&lt;br /&gt;
|[[Struck SIS3801]] ||classc1, classc6, classc4, classc2 ||mca&lt;br /&gt;
|-&lt;br /&gt;
|[[Joerger VSC16]] ||classc1, classc8 ||scaler&lt;br /&gt;
|-&lt;br /&gt;
|[[DATEL DVME-628]] ||classc1, classc4 ||DVME628&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VME44]] ||classc1, classc8 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[Compcontrol CC121]] ||classc5, classc12 ||LecroyHV&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V775]] ||classc7 ||mca&lt;br /&gt;
|-&lt;br /&gt;
|[[SYSTRAN VMESC5]] ||classc12 ||ipacLib, magnet&lt;br /&gt;
|-&lt;br /&gt;
|[[SBS VIPC616]] ||classc6, iocptarg(MCC) ||ipacLib&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VS4]] ||classc2 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V288]] ||camac2, dccntrl ||iocsy527App&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-3122]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2120]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-1129]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Machine Protection System I/O ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Beam Viewer / SLM Control Board ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[HYTEC VSD2992]] ||iochlb(MCC) ||camacApp&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2232]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[JLAB FLEXIO]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-6016]] ||sc-laser1, camac1 ||(tty driver in CLON area, work needed)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Standard Installation ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t ioc iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
 The following target architectures are available in base:&lt;br /&gt;
    solaris-sparc&lt;br /&gt;
    vxWorks-ppc604_long&lt;br /&gt;
    solaris-x86&lt;br /&gt;
    linux-x86&lt;br /&gt;
 What architecture do you want to use? vxWorks-ppc604_long&lt;br /&gt;
 The following applications are available:&lt;br /&gt;
    caclient&lt;br /&gt;
    caserver&lt;br /&gt;
    ioc&lt;br /&gt;
    ioccamac&lt;br /&gt;
    iocCore1&lt;br /&gt;
    iocCore&lt;br /&gt;
    iochv&lt;br /&gt;
    iocsy527&lt;br /&gt;
    ioctest&lt;br /&gt;
    support&lt;br /&gt;
 What application should the IOC(s) boot?&lt;br /&gt;
 The default uses the IOC&#039;s name, even if not listed above.&lt;br /&gt;
 Application name? iocsy527&lt;br /&gt;
&lt;br /&gt;
It creates directories &#039;&#039;iocsy527App&#039;&#039; and &#039;&#039;iocBoot/iocsy527&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 cd iocsy527App&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It compiles both unix and vxWorks versions.&lt;br /&gt;
&lt;br /&gt;
 cd ../iocBoot/iocsy527&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It creates useful &#039;&#039;cdCommands&#039;&#039; file. File &#039;&#039;st.cmd&#039; in the same directory contains an example of startup script. Uncommect followibg line&lt;br /&gt;
&lt;br /&gt;
 cd &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocBoot/iocsy527&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and boot. Everything looks good.&lt;br /&gt;
&lt;br /&gt;
== Makefile, source files ==&lt;br /&gt;
&lt;br /&gt;
Original Makefile in &#039;&#039;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 TOP=../..&lt;br /&gt;
 include $(TOP)/configure/CONFIG&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD MACRO DEFINITIONS AFTER THIS LINE&lt;br /&gt;
 #=============================&lt;br /&gt;
 #=============================&lt;br /&gt;
 # build an ioc application&lt;br /&gt;
 PROD_IOC = iocsy527&lt;br /&gt;
 DBD += iocsy527.dbd&lt;br /&gt;
 # iocsy527.dbd will be made up from these files:&lt;br /&gt;
 iocsy527_DBD += base.dbd&lt;br /&gt;
 #include definitions for any other support applications needed&lt;br /&gt;
 #iocsy527_DBD += xxx.dbd&lt;br /&gt;
 # &amp;lt;name&amp;gt;_registerRecordDeviceDriver.cpp will be created from &amp;lt;name&amp;gt;.dbd&lt;br /&gt;
 iocsy527_SRCS += iocsy527_registerRecordDeviceDriver.cpp&lt;br /&gt;
 iocsy527_SRCS_DEFAULT += iocsy527Main.cpp&lt;br /&gt;
 iocsy527_SRCS_vxWorks += -nil-&lt;br /&gt;
 #The following adds support from base/src/vxWorks&lt;br /&gt;
 iocsy527_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary&lt;br /&gt;
 #add a definition for each support application used by this application&lt;br /&gt;
 #iocsy527_LIBS += xxx&lt;br /&gt;
 #NOTES:&lt;br /&gt;
 #      1)It is not possible to build sncExample both as a component of iocsy527&lt;br /&gt;
 #        and standalone. You must choose only one.&lt;br /&gt;
 #      2)To build sncExample SNCSEQ must be defined in &amp;lt;top&amp;gt;/configure/RELEASE&lt;br /&gt;
 #The following builds sncExample as a component of iocsy527&lt;br /&gt;
 #iocsy527_SRCS += sncExample.stt&lt;br /&gt;
 #iocsy527_LIBS += seq pv&lt;br /&gt;
 iocsy527_LIBS += $(EPICS_BASE_IOC_LIBS)&lt;br /&gt;
 #The following builds sncExample as a standalone application&lt;br /&gt;
 #PROD_HOST += sncExample&lt;br /&gt;
 #sncExample_SNCFLAGS += +m&lt;br /&gt;
 #sncExample_SRCS += sncExample.stt&lt;br /&gt;
 #sncExample_LIBS += seq pv&lt;br /&gt;
 #sncExample_LIBS += $(EPICS_BASE_HOST_LIBS)&lt;br /&gt;
 #===========================&lt;br /&gt;
 include $(TOP)/configure/RULES&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD RULES AFTER THIS LINE&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;DriverOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527epics1.h&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics1.c&lt;br /&gt;
 v288.c&lt;br /&gt;
&lt;br /&gt;
Add following to Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288&lt;br /&gt;
 iocsy527_SRCS += sy527&lt;br /&gt;
 iocsy527_SRCS += sy527epics1&lt;br /&gt;
&lt;br /&gt;
Type &#039;&#039;gmake&#039;&#039; - everything compiles and linked with new source files.&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;IocshellOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 command.h&lt;br /&gt;
 sub.c&lt;br /&gt;
 bigsub.c&lt;br /&gt;
 devCAEN.c&lt;br /&gt;
&lt;br /&gt;
Add them to the Makefile the same way, and type &#039;gmake&#039;. It complains for UNIX on linking, but command&lt;br /&gt;
&lt;br /&gt;
 gmake vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
works fine. Reboot IOC - no undefined symbols.&lt;br /&gt;
&lt;br /&gt;
Add our HV database and &#039;src&#039; directories into &#039;&#039;cdCommands&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;br /&gt;
 src = &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add following two lnes to startup script after iocInit() (before - complains):&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
 dbLoadDatabase(&amp;quot;support.dbd&amp;quot;)&lt;br /&gt;
 cd db&lt;br /&gt;
 dbLoadRecords(&amp;quot;caen_04.db&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Reboot ioc again, type &#039;dbl&#039; - all records printed.&lt;br /&gt;
&lt;br /&gt;
Try to caget one of them - vxWorks printed error: we got through but corresponding function support is missing.&lt;br /&gt;
&lt;br /&gt;
Do following on vxWorks prompt:&lt;br /&gt;
&lt;br /&gt;
 registryFunctionAdd(&amp;quot;InitChannel&amp;quot;,InitChannel)&lt;br /&gt;
 registryFunctionAdd(&amp;quot;ScanChannel&amp;quot;,ScanChannel)&lt;br /&gt;
&lt;br /&gt;
does not help. Run driver commands in the very end of startup script - does not help:&lt;br /&gt;
&lt;br /&gt;
 sy527Init()&lt;br /&gt;
 sy527Start(0,&amp;quot;sy527_0x100000_9&amp;quot;)&lt;br /&gt;
 sy527GetMap(0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== trying same, but use type &#039;example&#039; instead of &#039;ioc&#039; ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t example iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
&lt;br /&gt;
Everything compiles and boots, &#039;caget&#039; works.&lt;br /&gt;
&lt;br /&gt;
Now, lets customize it for sy517:&lt;br /&gt;
&lt;br /&gt;
* copy following v288- and sy527-related *.h and *.c files to &#039;&#039;$EPICS_BASE/iocsy527/src&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 v288.c&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics.c&lt;br /&gt;
 sy527epics.h&lt;br /&gt;
&lt;br /&gt;
(sy527epics1 was renamed to sy527epics in a process). Add follwoing lines to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288.c&lt;br /&gt;
 iocsy527_SRCS += sy527.c&lt;br /&gt;
 iocsy527_SRCS += sy527epics.c&lt;br /&gt;
 iocsy527_SRCS += sy527_test.c&lt;br /&gt;
&lt;br /&gt;
Compile, reboot - looks good.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NOTES:&#039;&#039;&#039; our CAEN HV software structure&lt;br /&gt;
&lt;br /&gt;
 1. Everything starts from &#039;&#039;$APP/hvca/db/caen_04.dat&#039;&#039; or similar file generated from &#039;&#039;caen.dat&#039;&#039;&lt;br /&gt;
 2. Statements &#039;&#039;field(INAM,InitChannel)&#039;&#039; and &#039;&#039;field(SNAM,ScanChannel)&#039;&#039; requires functions &#039;&#039;InitChannel&#039;&#039; and &#039;&#039;ScanChannel&#039;&#039;;&lt;br /&gt;
     those functions are in &#039;&#039;bigsub.c&#039;&#039;&lt;br /&gt;
   2.1 &#039;&#039;bigsub.c&#039;&#039; calls one function &#039;&#039;CAEN_GetChannel&#039;&#039;, that function is in &#039;&#039;sy527epics.c&#039;&#039;&lt;br /&gt;
   2.2 &#039;&#039;sy527epics.c&#039;&#039; contains following functions:&lt;br /&gt;
           CAEN_HVinit&lt;br /&gt;
           CAEN_HVstart&lt;br /&gt;
           CAEN_HVstop&lt;br /&gt;
           CAEN_HVload&lt;br /&gt;
           CAEN_GetHv&lt;br /&gt;
           CAEN_GetAlarm&lt;br /&gt;
           CAEN_GetValidity&lt;br /&gt;
           CAEN_SetHV&lt;br /&gt;
           CAEN_GetProperty&lt;br /&gt;
           CAEN_GetChannel&lt;br /&gt;
 3. Statement &#039;&#039;field(DTYP,&amp;quot;CAEN_HV&amp;quot;)&#039;&#039; requires ...&lt;br /&gt;
   3.1 file &#039;&#039;support.dbd&#039;&#039; contains following statements:&lt;br /&gt;
           device(ao,VME_IO,devAoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bo,VME_IO,devBoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bi,VME_IO,devBiCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
   3.2 file &#039;&#039;devCAEN.c&#039;&#039; contains following statements:&lt;br /&gt;
           epicsExportAddress(dset,devAoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBiCAEN)&lt;br /&gt;
   3.3 structure &#039;&#039;devAoCAEN&#039;&#039; contains for example field &#039;&#039;init_record&#039;&#039; containing function &#039;&#039;init_ao&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Continue customization. Copy &#039;&#039;devCAEN.c&#039;&#039;, &#039;&#039;command.h&#039;&#039; and &#039;&#039;support.dbd&#039;&#039; as &#039;&#039;CAENSupport.dbd&#039;&#039; to &#039;&#039;src&#039;&#039; directory. Modify Makefile changing devXxxSoft to devCAEN and xxxSupport to CAENSupport everywhere (I decided not to just add new names, but eliminate old ones, because&lt;br /&gt;
for example &#039;xxxSupport_SRCS += xxxRecord.c&#039; referes to xxxSupport library, and I want to build only one library CAENSupport). Also:&lt;br /&gt;
&lt;br /&gt;
 mv xxxSupport.dbd xxxSupport.dbd_obsolete&lt;br /&gt;
 mv devXxxSoft.c devXxxSoft.c_obsolete&lt;br /&gt;
&lt;br /&gt;
From directory &#039;&#039;iocsy527App&#039;&#039; type &#039;gmake vxWorks-ppc604_long clean&#039; and &#039;gmake vxWorks-ppc604_long&#039;, compiles fine. Reboot, have error:&lt;br /&gt;
&lt;br /&gt;
 ## Load record instances&lt;br /&gt;
 dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
 Error   Last token &amp;quot;)&amp;quot;&lt;br /&gt;
 input line: record(xxx, &amp;quot;boiarino:xxxExample&amp;quot;)&lt;br /&gt;
    in: file db/dbExample1.db line 39&lt;br /&gt;
 db_parse returned -1&lt;br /&gt;
 value = -1 = 0xffffffff&lt;br /&gt;
 filename=&amp;quot;../dbLexRoutines.c&amp;quot; line number=910&lt;br /&gt;
 Record Type does not exist dbFindRecordType&lt;br /&gt;
&lt;br /&gt;
This is probably a result of eliminating xxxSupport.dbd and devXxxSoft.c. (INTERESTING: in Makefile there is following code:&lt;br /&gt;
&lt;br /&gt;
 # xxxRecord.h will be created from xxxRecord.dbd&lt;br /&gt;
 DBDINC += xxxRecord&lt;br /&gt;
&lt;br /&gt;
and devXxxSoft.c has&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;xxxRecord.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- just good to know).&lt;br /&gt;
&lt;br /&gt;
In Makefile comment out lines&lt;br /&gt;
&lt;br /&gt;
 ########DBDINC += xxxRecord&lt;br /&gt;
 ########CAENSupport_SRCS += xxxRecord.c&lt;br /&gt;
&lt;br /&gt;
and in startup script&lt;br /&gt;
&lt;br /&gt;
 #####dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
because it does not work anyway. Rename unused files:&lt;br /&gt;
&lt;br /&gt;
 mv xxxRecord.c xxxRecord.c_obsolete&lt;br /&gt;
 mv xxxRecord.dbd xxxRecord.dbd_obsolete&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Copy bigsub.c (our init and scan functions for the &#039;bigsubRecord&#039;). Add following to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += bigsub.c&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Now interesting part. Add following to the startup script:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5821</id>
		<title>EPICS: vxWorks IOC</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS:_vxWorks_IOC&amp;diff=5821"/>
		<updated>2012-05-29T00:21:40Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* Hardware List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VxWorks IOCs are normally running in VME crate controllers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; $EPICS_BASE/configure/CONFIG was accidently changed and makefiles didnot work, Nerses fixed it - Sep 2011&lt;br /&gt;
&lt;br /&gt;
== Hardware List ==&lt;br /&gt;
&lt;br /&gt;
Following boards are used in CLAS VME vxWorks IOC crates:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|Brand/Model&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|IOC List&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Driver&#039;s subdirectory (in $BASEB/src/&lt;br /&gt;
!width=&amp;quot;250&amp;quot;|Matt Bickley advise April 2012)&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom DIO XVME-240]] ||classc1, classc3, classc8 ||xy240&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-564]] ||classc3 ||(probably &#039;analog&#039;, since XVME-564 and XVME-560 are similar)&lt;br /&gt;
|-&lt;br /&gt;
|[[Xycom XVME-560]] ||classc3, classc8 ||analog&lt;br /&gt;
|-&lt;br /&gt;
|[[Struck SIS3801]] ||classc1, classc6, classc4, classc2 ||mca&lt;br /&gt;
|-&lt;br /&gt;
|[[Joerger VSC16]] ||classc1, classc8 ||scaler&lt;br /&gt;
|-&lt;br /&gt;
|[[DATEL DVME-628]] ||classc1, classc4 ||DVME628&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VME44]] ||classc1, classc8 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[Compcontrol CC121]] ||classc5, classc12 ||LecroyHV&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V775]] ||classc7 ||mca&lt;br /&gt;
|-&lt;br /&gt;
|[[SYSTRAN VMESC5]] ||classc12 ||ipacLib, magnet&lt;br /&gt;
|-&lt;br /&gt;
|[[SBS VIPC616]] ||classc6, iocptarg(MCC) ||ipacLib&lt;br /&gt;
|-&lt;br /&gt;
|[[OMS VS4]] ||classc2 ||motor&lt;br /&gt;
|-&lt;br /&gt;
|[[CAEN V288]] ||camac2, dccntrl ||iocsy527App&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-3122]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2120]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-1129]] ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Machine Protection System I/O ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|Beam Viewer / SLM Control Board ???? ||iochlb(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[HYTEC VSD2992]] ||iochlb(MCC) ||camacApp&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-2232]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[JLAB FLEXIO]] ||iocptarg(MCC) ||...&lt;br /&gt;
|-&lt;br /&gt;
|[[VMIC VMIVME-6016]] ||sc-laser1, camac1 ||(tty driver in CLON area, work needed)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Standard Installation ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t ioc iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
 The following target architectures are available in base:&lt;br /&gt;
    solaris-sparc&lt;br /&gt;
    vxWorks-ppc604_long&lt;br /&gt;
    solaris-x86&lt;br /&gt;
    linux-x86&lt;br /&gt;
 What architecture do you want to use? vxWorks-ppc604_long&lt;br /&gt;
 The following applications are available:&lt;br /&gt;
    caclient&lt;br /&gt;
    caserver&lt;br /&gt;
    ioc&lt;br /&gt;
    ioccamac&lt;br /&gt;
    iocCore1&lt;br /&gt;
    iocCore&lt;br /&gt;
    iochv&lt;br /&gt;
    iocsy527&lt;br /&gt;
    ioctest&lt;br /&gt;
    support&lt;br /&gt;
 What application should the IOC(s) boot?&lt;br /&gt;
 The default uses the IOC&#039;s name, even if not listed above.&lt;br /&gt;
 Application name? iocsy527&lt;br /&gt;
&lt;br /&gt;
It creates directories &#039;&#039;iocsy527App&#039;&#039; and &#039;&#039;iocBoot/iocsy527&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 cd iocsy527App&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It compiles both unix and vxWorks versions.&lt;br /&gt;
&lt;br /&gt;
 cd ../iocBoot/iocsy527&lt;br /&gt;
 gmake&lt;br /&gt;
&lt;br /&gt;
It creates useful &#039;&#039;cdCommands&#039;&#039; file. File &#039;&#039;st.cmd&#039; in the same directory contains an example of startup script. Uncommect followibg line&lt;br /&gt;
&lt;br /&gt;
 cd &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocBoot/iocsy527&amp;quot;&lt;br /&gt;
&lt;br /&gt;
and boot. Everything looks good.&lt;br /&gt;
&lt;br /&gt;
== Makefile, source files ==&lt;br /&gt;
&lt;br /&gt;
Original Makefile in &#039;&#039;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 TOP=../..&lt;br /&gt;
 include $(TOP)/configure/CONFIG&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD MACRO DEFINITIONS AFTER THIS LINE&lt;br /&gt;
 #=============================&lt;br /&gt;
 #=============================&lt;br /&gt;
 # build an ioc application&lt;br /&gt;
 PROD_IOC = iocsy527&lt;br /&gt;
 DBD += iocsy527.dbd&lt;br /&gt;
 # iocsy527.dbd will be made up from these files:&lt;br /&gt;
 iocsy527_DBD += base.dbd&lt;br /&gt;
 #include definitions for any other support applications needed&lt;br /&gt;
 #iocsy527_DBD += xxx.dbd&lt;br /&gt;
 # &amp;lt;name&amp;gt;_registerRecordDeviceDriver.cpp will be created from &amp;lt;name&amp;gt;.dbd&lt;br /&gt;
 iocsy527_SRCS += iocsy527_registerRecordDeviceDriver.cpp&lt;br /&gt;
 iocsy527_SRCS_DEFAULT += iocsy527Main.cpp&lt;br /&gt;
 iocsy527_SRCS_vxWorks += -nil-&lt;br /&gt;
 #The following adds support from base/src/vxWorks&lt;br /&gt;
 iocsy527_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary&lt;br /&gt;
 #add a definition for each support application used by this application&lt;br /&gt;
 #iocsy527_LIBS += xxx&lt;br /&gt;
 #NOTES:&lt;br /&gt;
 #      1)It is not possible to build sncExample both as a component of iocsy527&lt;br /&gt;
 #        and standalone. You must choose only one.&lt;br /&gt;
 #      2)To build sncExample SNCSEQ must be defined in &amp;lt;top&amp;gt;/configure/RELEASE&lt;br /&gt;
 #The following builds sncExample as a component of iocsy527&lt;br /&gt;
 #iocsy527_SRCS += sncExample.stt&lt;br /&gt;
 #iocsy527_LIBS += seq pv&lt;br /&gt;
 iocsy527_LIBS += $(EPICS_BASE_IOC_LIBS)&lt;br /&gt;
 #The following builds sncExample as a standalone application&lt;br /&gt;
 #PROD_HOST += sncExample&lt;br /&gt;
 #sncExample_SNCFLAGS += +m&lt;br /&gt;
 #sncExample_SRCS += sncExample.stt&lt;br /&gt;
 #sncExample_LIBS += seq pv&lt;br /&gt;
 #sncExample_LIBS += $(EPICS_BASE_HOST_LIBS)&lt;br /&gt;
 #===========================&lt;br /&gt;
 include $(TOP)/configure/RULES&lt;br /&gt;
 #----------------------------------------&lt;br /&gt;
 #  ADD RULES AFTER THIS LINE&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;DriverOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527epics1.h&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics1.c&lt;br /&gt;
 v288.c&lt;br /&gt;
&lt;br /&gt;
Add following to Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288&lt;br /&gt;
 iocsy527_SRCS += sy527&lt;br /&gt;
 iocsy527_SRCS += sy527epics1&lt;br /&gt;
&lt;br /&gt;
Type &#039;&#039;gmake&#039;&#039; - everything compiles and linked with new source files.&lt;br /&gt;
&lt;br /&gt;
Copy following files from &#039;IocshellOld&#039;:&lt;br /&gt;
&lt;br /&gt;
 command.h&lt;br /&gt;
 sub.c&lt;br /&gt;
 bigsub.c&lt;br /&gt;
 devCAEN.c&lt;br /&gt;
&lt;br /&gt;
Add them to the Makefile the same way, and type &#039;gmake&#039;. It complains for UNIX on linking, but command&lt;br /&gt;
&lt;br /&gt;
 gmake vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
works fine. Reboot IOC - no undefined symbols.&lt;br /&gt;
&lt;br /&gt;
Add our HV database and &#039;src&#039; directories into &#039;&#039;cdCommands&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;br /&gt;
 src = &amp;quot;/usr/local/clas/devel/R3.14.8.2/base-3.14.8.2/iocsy527App/src&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add following two lnes to startup script after iocInit() (before - complains):&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
 dbLoadDatabase(&amp;quot;support.dbd&amp;quot;)&lt;br /&gt;
 cd db&lt;br /&gt;
 dbLoadRecords(&amp;quot;caen_04.db&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Reboot ioc again, type &#039;dbl&#039; - all records printed.&lt;br /&gt;
&lt;br /&gt;
Try to caget one of them - vxWorks printed error: we got through but corresponding function support is missing.&lt;br /&gt;
&lt;br /&gt;
Do following on vxWorks prompt:&lt;br /&gt;
&lt;br /&gt;
 registryFunctionAdd(&amp;quot;InitChannel&amp;quot;,InitChannel)&lt;br /&gt;
 registryFunctionAdd(&amp;quot;ScanChannel&amp;quot;,ScanChannel)&lt;br /&gt;
&lt;br /&gt;
does not help. Run driver commands in the very end of startup script - does not help:&lt;br /&gt;
&lt;br /&gt;
 sy527Init()&lt;br /&gt;
 sy527Start(0,&amp;quot;sy527_0x100000_9&amp;quot;)&lt;br /&gt;
 sy527GetMap(0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== trying same, but use type &#039;example&#039; instead of &#039;ioc&#039; ==&lt;br /&gt;
&lt;br /&gt;
 cd $EPICS_BASE&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -t example iocsy527&lt;br /&gt;
 ./bin/solaris-sparc/makeBaseApp.pl -b $EPICS_BASE -i -t ioc iocsy527&lt;br /&gt;
&lt;br /&gt;
Everything compiles and boots, &#039;caget&#039; works.&lt;br /&gt;
&lt;br /&gt;
Now, lets customize it for sy517:&lt;br /&gt;
&lt;br /&gt;
* copy following v288- and sy527-related *.h and *.c files to &#039;&#039;$EPICS_BASE/iocsy527/src&#039;&#039; directory:&lt;br /&gt;
&lt;br /&gt;
 v288.c&lt;br /&gt;
 v288.h&lt;br /&gt;
 sy527.c&lt;br /&gt;
 sy527.h&lt;br /&gt;
 sy527_test.c&lt;br /&gt;
 sy527epics.c&lt;br /&gt;
 sy527epics.h&lt;br /&gt;
&lt;br /&gt;
(sy527epics1 was renamed to sy527epics in a process). Add follwoing lines to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += v288.c&lt;br /&gt;
 iocsy527_SRCS += sy527.c&lt;br /&gt;
 iocsy527_SRCS += sy527epics.c&lt;br /&gt;
 iocsy527_SRCS += sy527_test.c&lt;br /&gt;
&lt;br /&gt;
Compile, reboot - looks good.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NOTES:&#039;&#039;&#039; our CAEN HV software structure&lt;br /&gt;
&lt;br /&gt;
 1. Everything starts from &#039;&#039;$APP/hvca/db/caen_04.dat&#039;&#039; or similar file generated from &#039;&#039;caen.dat&#039;&#039;&lt;br /&gt;
 2. Statements &#039;&#039;field(INAM,InitChannel)&#039;&#039; and &#039;&#039;field(SNAM,ScanChannel)&#039;&#039; requires functions &#039;&#039;InitChannel&#039;&#039; and &#039;&#039;ScanChannel&#039;&#039;;&lt;br /&gt;
     those functions are in &#039;&#039;bigsub.c&#039;&#039;&lt;br /&gt;
   2.1 &#039;&#039;bigsub.c&#039;&#039; calls one function &#039;&#039;CAEN_GetChannel&#039;&#039;, that function is in &#039;&#039;sy527epics.c&#039;&#039;&lt;br /&gt;
   2.2 &#039;&#039;sy527epics.c&#039;&#039; contains following functions:&lt;br /&gt;
           CAEN_HVinit&lt;br /&gt;
           CAEN_HVstart&lt;br /&gt;
           CAEN_HVstop&lt;br /&gt;
           CAEN_HVload&lt;br /&gt;
           CAEN_GetHv&lt;br /&gt;
           CAEN_GetAlarm&lt;br /&gt;
           CAEN_GetValidity&lt;br /&gt;
           CAEN_SetHV&lt;br /&gt;
           CAEN_GetProperty&lt;br /&gt;
           CAEN_GetChannel&lt;br /&gt;
 3. Statement &#039;&#039;field(DTYP,&amp;quot;CAEN_HV&amp;quot;)&#039;&#039; requires ...&lt;br /&gt;
   3.1 file &#039;&#039;support.dbd&#039;&#039; contains following statements:&lt;br /&gt;
           device(ao,VME_IO,devAoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bo,VME_IO,devBoCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
           device(bi,VME_IO,devBiCAEN,&amp;quot;CAEN_HV&amp;quot;)&lt;br /&gt;
   3.2 file &#039;&#039;devCAEN.c&#039;&#039; contains following statements:&lt;br /&gt;
           epicsExportAddress(dset,devAoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBoCAEN)&lt;br /&gt;
           epicsExportAddress(dset,devBiCAEN)&lt;br /&gt;
   3.3 structure &#039;&#039;devAoCAEN&#039;&#039; contains for example field &#039;&#039;init_record&#039;&#039; containing function &#039;&#039;init_ao&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Continue customization. Copy &#039;&#039;devCAEN.c&#039;&#039;, &#039;&#039;command.h&#039;&#039; and &#039;&#039;support.dbd&#039;&#039; as &#039;&#039;CAENSupport.dbd&#039;&#039; to &#039;&#039;src&#039;&#039; directory. Modify Makefile changing devXxxSoft to devCAEN and xxxSupport to CAENSupport everywhere (I decided not to just add new names, but eliminate old ones, because&lt;br /&gt;
for example &#039;xxxSupport_SRCS += xxxRecord.c&#039; referes to xxxSupport library, and I want to build only one library CAENSupport). Also:&lt;br /&gt;
&lt;br /&gt;
 mv xxxSupport.dbd xxxSupport.dbd_obsolete&lt;br /&gt;
 mv devXxxSoft.c devXxxSoft.c_obsolete&lt;br /&gt;
&lt;br /&gt;
From directory &#039;&#039;iocsy527App&#039;&#039; type &#039;gmake vxWorks-ppc604_long clean&#039; and &#039;gmake vxWorks-ppc604_long&#039;, compiles fine. Reboot, have error:&lt;br /&gt;
&lt;br /&gt;
 ## Load record instances&lt;br /&gt;
 dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
 Error   Last token &amp;quot;)&amp;quot;&lt;br /&gt;
 input line: record(xxx, &amp;quot;boiarino:xxxExample&amp;quot;)&lt;br /&gt;
    in: file db/dbExample1.db line 39&lt;br /&gt;
 db_parse returned -1&lt;br /&gt;
 value = -1 = 0xffffffff&lt;br /&gt;
 filename=&amp;quot;../dbLexRoutines.c&amp;quot; line number=910&lt;br /&gt;
 Record Type does not exist dbFindRecordType&lt;br /&gt;
&lt;br /&gt;
This is probably a result of eliminating xxxSupport.dbd and devXxxSoft.c. (INTERESTING: in Makefile there is following code:&lt;br /&gt;
&lt;br /&gt;
 # xxxRecord.h will be created from xxxRecord.dbd&lt;br /&gt;
 DBDINC += xxxRecord&lt;br /&gt;
&lt;br /&gt;
and devXxxSoft.c has&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;xxxRecord.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
- just good to know).&lt;br /&gt;
&lt;br /&gt;
In Makefile comment out lines&lt;br /&gt;
&lt;br /&gt;
 ########DBDINC += xxxRecord&lt;br /&gt;
 ########CAENSupport_SRCS += xxxRecord.c&lt;br /&gt;
&lt;br /&gt;
and in startup script&lt;br /&gt;
&lt;br /&gt;
 #####dbLoadRecords(&amp;quot;db/dbExample1.db&amp;quot;,&amp;quot;user=boiarino&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
because it does not work anyway. Rename unused files:&lt;br /&gt;
&lt;br /&gt;
 mv xxxRecord.c xxxRecord.c_obsolete&lt;br /&gt;
 mv xxxRecord.dbd xxxRecord.dbd_obsolete&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Copy bigsub.c (our init and scan functions for the &#039;bigsubRecord&#039;). Add following to the Makefile:&lt;br /&gt;
&lt;br /&gt;
 iocsy527_SRCS += bigsub.c&lt;br /&gt;
&lt;br /&gt;
Recompile, reboot. Looks good.&lt;br /&gt;
&lt;br /&gt;
Now interesting part. Add following to the startup script:&lt;br /&gt;
&lt;br /&gt;
 db = &amp;quot;/usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/db&amp;quot;&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=May_23,_2012_online_meeting_minutes&amp;diff=5817</id>
		<title>May 23, 2012 online meeting minutes</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=May_23,_2012_online_meeting_minutes&amp;diff=5817"/>
		<updated>2012-05-23T12:48:11Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: Created page with &amp;quot;PRELIMINARY, IN PROGRESS !!!!!  present: Sergey Boyarinov,   1. HPS/SVT test runs experience and future electronics development  HPS test run was a big success for the new electr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PRELIMINARY, IN PROGRESS !!!!!&lt;br /&gt;
&lt;br /&gt;
present: Sergey Boyarinov, &lt;br /&gt;
&lt;br /&gt;
1. HPS/SVT test runs experience and future electronics development&lt;br /&gt;
&lt;br /&gt;
HPS test run was a big success for the new electronics and daq software  testing. 2 VXS crates with 14 FADCs each worked for several weeks without major problems. 2 CTPs and 1 SSP boards formed calorimeter-based trigger searching for single and pair clusters, worked fine as well. Although event rate was limited because of beam conditions (photon beam only, no electron beam was delivered as we planed), third slac svt crate and old event builder, front end worked as planed and we are confident to meet 12GeV requirements.&lt;br /&gt;
&lt;br /&gt;
In addition CLAS SVT test run was conducted during last week of running using new VXS readout boards, and it worked as planed as well.&lt;br /&gt;
&lt;br /&gt;
List of features implemented for HPS run:&lt;br /&gt;
&lt;br /&gt;
* pulse integration was implemented into FADC trigger chain, integration was conducted above preloaded pedestals and using preloaded above-pedestal-thresholds; FADCs reported 5 bits od ADC integral and 3 bits of timing, allowing 4ns-clock triggering in following CTP and SSP boards (Hai)&lt;br /&gt;
&lt;br /&gt;
* CTP-based cluster finding algorithm was implemented (Scott)&lt;br /&gt;
&lt;br /&gt;
* SSP-based trigger was implemented, along with ROOT-based trigger control GUIs (Ben)&lt;br /&gt;
&lt;br /&gt;
Problems observed:&lt;br /&gt;
&lt;br /&gt;
* big timing shift between different TID boards firmwares - fixed during the run&lt;br /&gt;
&lt;br /&gt;
* occasional resync between master and slave TIDs, affects both trigger and readout functionality - software patch was applied by Bryan and Gu, new firmware was improved, more studies will be conducted&lt;br /&gt;
&lt;br /&gt;
* after master power recycled, slave need to be recycled as well&lt;br /&gt;
&lt;br /&gt;
* occasional TID busy condition after first few events - need to be investigated&lt;br /&gt;
&lt;br /&gt;
Future development:&lt;br /&gt;
&lt;br /&gt;
* FADC: 8 bit 4 ns in trigger (need 5Gbit lines and/or 4 lines to CTP)&lt;br /&gt;
&lt;br /&gt;
* CTP: 5GBit/4lines from FADCs, more fiber outputs to SSP, bigger FPGA, &#039;normal&#039; access for event-by-event trigger information readout and firmware upgrade&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More development needed:&lt;br /&gt;
&lt;br /&gt;
* VSCM board (SVT readout)&lt;br /&gt;
&lt;br /&gt;
* DCRB board (Drift Chamber readout)&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=CLON_meeting_May_23,_2012&amp;diff=5816</id>
		<title>CLON meeting May 23, 2012</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=CLON_meeting_May_23,_2012&amp;diff=5816"/>
		<updated>2012-05-23T12:16:21Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: Created page with &amp;quot;Clas On-line Meeting, Wednesday, May 23 at 10am in Room A110 ------------------------------------------------------------------  1. HPS/SVT test runs experience and future electr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clas On-line Meeting, Wednesday, May 23 at 10am in Room A110&lt;br /&gt;
------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
1. HPS/SVT test runs experience and future electronics development&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=CLON_Group_Meetings&amp;diff=5815</id>
		<title>CLON Group Meetings</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=CLON_Group_Meetings&amp;diff=5815"/>
		<updated>2012-05-23T12:15:46Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: /* 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2006 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 13, 2006]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 13, 2006 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 5, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 5, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 12, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 12, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 19, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 19, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 26, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 26, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 3, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 3, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 10, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 10, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 17, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 17, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 24, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 24, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 31, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 31, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 7, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 7, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 14, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 14, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 28, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 28, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 12, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 12, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 16, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 16, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 23, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 23, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 30, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 30, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 13, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 13, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 5, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 5, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 12, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 12, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 26, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 26, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 16, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 16, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 23, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 23, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 21, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 21, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 4, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 4, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 18, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 18, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 2, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 2, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 16, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 16, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 10, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 10, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 17, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 17, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 24, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 24, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 1, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 1, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 15, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 15, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 12, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 12, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 21, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 21, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 28, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 28, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 4, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 4, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 18, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 18, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 25, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 25, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 25, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 25, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 8, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 8, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 22, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 22, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 6, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 6, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 20, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 20, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 3, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 3, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 10, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 10, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 17, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 17, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 1, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 1, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 2, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 2, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 23, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 23, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 30, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 30, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 14, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 14, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 11, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 11, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 2, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 2, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 16, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 16, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 13, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 13, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 27, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 27, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 10, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 10, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 24, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 24, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 10, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 10, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 17, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 17, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 24, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 24, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 7, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 7, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 21, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 21, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 5, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 5, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 12, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 12, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 26, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 26, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 9, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 9, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 16, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 16, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 7, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 7, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 15, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 15, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 22, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 22, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 13, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 13, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 20, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 20, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 10, 2010]]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 10, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 17, 2010]]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 17, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 8, 2010]]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 8, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 15, 2010]]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 15, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 12, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 12, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 19, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 19, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 26, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 26, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 23, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 23, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 9, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 9, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 30, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 30, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 6, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 6, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 20, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 20, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 4, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 4, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 1, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 1, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 8, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 8, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 29, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 29, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting August 10, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[August 10, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting August 17, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[August 17, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting August 31, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[August 31, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 14, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 14, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 21, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 21, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 28, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 28, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 5, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 5, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 26, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 26, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 2, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 2, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 9, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 9, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 16, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 16, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 30, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 30, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 7, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 7, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 14, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 14, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 4, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 4, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 1, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 1, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 8, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 8, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 15, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 15, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 22, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 22, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 29, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 29, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 7, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 7, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 14, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 14, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 21, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 21, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 28, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 28, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 4, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 4, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 11, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 11, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 18, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 18, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 23, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 23, 2012 online meeting minutes]]&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EVIO&amp;diff=5731</id>
		<title>EVIO</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EVIO&amp;diff=5731"/>
		<updated>2012-02-03T13:20:40Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVIO is data format and corresponding software used at JLAB.&lt;br /&gt;
&lt;br /&gt;
EVIO Manual version 2.0: [https://clonwiki.jlab.org/wiki/clondocs/Docs/evio_Users_Guide.pdf pdf] [https://clonwiki.jlab.org/wiki/clondocs/Docs/evio_Users_Guide.doc doc].&lt;br /&gt;
&lt;br /&gt;
Event Building EVIO Scheme: [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.pdf pdf] [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.ppt ppt] [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.pptx pptx].&lt;br /&gt;
&lt;br /&gt;
Not in the manual yet: 8-word EVIO block(record) header:&lt;br /&gt;
 1. block length&lt;br /&gt;
 2. block number&lt;br /&gt;
 3. header length=8&lt;br /&gt;
 4. event count (# of banks, without dictionary if it is inserted)&lt;br /&gt;
 5. not used&lt;br /&gt;
 6. bit info[31-8] version [7-0]; if dectionary is therer, bit 8 (starting from 0) will be set&lt;br /&gt;
 7. unused&lt;br /&gt;
 8. magic int = 0xc0da0100&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CLAS12 guidelines:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;EVIO BANK&#039; (not &#039;EVIO SEGMENT&#039; or &#039;EVIO TAGSEGMENT&#039; will be used for data banks; bank header has 2 words, first one is exclusive bank length in words, second one contains 3 fields: tag[31:20], contentType[15:8] and num[7:0]&lt;br /&gt;
&lt;br /&gt;
* no mixed formats (for example &#039;int&#039; and &#039;short&#039;) will be allowed in the same bank, format is described in 8-bit field &#039;&#039;contentType&#039;&#039; (or use type=0 and do custom swap ?), except for formatted banks (see below)&lt;br /&gt;
&lt;br /&gt;
* BOS bank name will be replaced with 12-bit field &#039;&#039;tag&#039;&#039;, BOS bank number will be replaced with 8-bit field &#039;&#039;num&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* banks dictionary (former DDL replacement) will be provided in some form (ASCII ?) and will contains a notation on every bank &#039;&#039;tag&#039;&#039;, most important will be the number of &#039;columns&#039; and the meaning of every column (for example id,tdcl,adcl,tdcr,tdcl), it will help to decode data from the bank and can be used by evio viewers; will be written at least in the beginning of every file&lt;br /&gt;
&lt;br /&gt;
* data banks will be in &#039;unsigned short&#039; or &#039;unsigned int&#039; format; first element will be ID (&#039;slot&amp;lt;&amp;lt;8+channel&#039; without translation,   &#039;layer&amp;lt;&amp;lt;8+wire&#039; or similar with translation)&lt;br /&gt;
&lt;br /&gt;
* some bank examples:&lt;br /&gt;
 tdc version 1: ID, TDC&lt;br /&gt;
 tdc version 2: ID, N_HITS, TDC_1, ... , TDC_N&lt;br /&gt;
 adc (raw data hits): ID, N_SAMPLES(=window_width), ADC_1, ... , ADC_N&lt;br /&gt;
 adc (window integral - 32bit): ID, ADC_SUM(can be 22 bits+1 bit overflow)&lt;br /&gt;
 adc (pulse data hits): ID, N_SAMPLES, FIRST_SAMPLE, ADC_1, ..., ADC_N&lt;br /&gt;
&lt;br /&gt;
* may give a tags to all existing CLAS banks and make sure CLAS12 bank tags do not overlap - will allow to process old and new banks together&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO possible extensions:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* file split - implemented in CLAS&lt;br /&gt;
&lt;br /&gt;
* bank &#039;dictionary-based&#039;, or &#039;format-based&#039; swap (will allow mixed format), can be enforced if contentType=0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO format-based swap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sergey B. proposed 2 functions to handle format-based banks in EVIO. The idea is to have designated bank with contentType=0xf (or 0x11, 0x12 etc), which will contain 2 internal  banks (or segments). First bank (or segment) will contain bank format description, and second bank (or segment) will contain data. Format can be stored in form of ascii string, or in binary form. Two [https://clonwiki.jlab.org/wiki/clondocs/Downloads/evioswap.tar evio swap functions] are provided to handle format-based banks: &#039;&#039;eviofmt()&#039;&#039; converts format from character string form to binary form, and &#039;&#039;eviofmtswap()&#039;&#039; swaps data between big-endian and little-endian forms in according to the format (using binary form). Functions were tested using included test program, but more detailed tests and checks are required, as well as implementation into EVIO package. Available formats are following FORTRAN rules in general, with some restrictions/additions.&lt;br /&gt;
&lt;br /&gt;
Possible formats and corresponding binary codes:&lt;br /&gt;
       1    &#039;i&#039;   unsigned int&lt;br /&gt;
       2    &#039;F&#039;   floating point&lt;br /&gt;
       3    &#039;a&#039;   8-bit char (C++)&lt;br /&gt;
       4    &#039;S&#039;   short&lt;br /&gt;
       5    &#039;s&#039;   unsigned short&lt;br /&gt;
       6    &#039;C&#039;   char&lt;br /&gt;
       7    &#039;c&#039;   unsigned char&lt;br /&gt;
       8    &#039;D&#039;   double (64-bit float)&lt;br /&gt;
       9    &#039;L&#039;   long long (64-bit int)&lt;br /&gt;
      10    &#039;l&#039;   unsigned long long (64-bit int)&lt;br /&gt;
      11    &#039;I&#039;   int&lt;br /&gt;
      12    &#039;A&#039;   hollerith (4-byte char with int*32 bytes order for backward compatibility with BOS)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &amp;quot;3I,4S,5I&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,(F,I)&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,3(F,I),F,I,2S,L&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,2(2(F,I)),2S,L&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,3(F,I),F,NS,L&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rules:&lt;br /&gt;
&lt;br /&gt;
* when format control reaches last (outer) right parenthesis and there are data left, the format starts again by the last preceding right parenthesis, including its group repeat count, if any, or, if no group specification exists, then at the first left parenthesis of the format specification; if none of above exist, it starts from the beginning of the format control (FORTRAN rules)&lt;br /&gt;
&lt;br /&gt;
* repeat count must be between 2 and 15, missing repeat count assumed 1&lt;br /&gt;
&lt;br /&gt;
* if repeat count is &#039;N&#039; instead of digits, it will be taken from the data assuming int*32 format; it allows to have variable length rows (see last example)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO formated banks - EVIO version 4.0 and later&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
EVIO banks with contentType=0xf are formatted banks. They contains two parts: &#039;&#039;tagsegment&#039;&#039; with format description as ASCII string, and &#039;&#039;bank&#039;&#039; with data. All data banks produced by CLAS12 DAQ will be primitive data types whenever possible, or formatted type. Formatted banks will be used if different data types are needed inside the same bank, or/and if banks contains raws with variable length. Following formats will be used for basic data banks as they are inserted into the Event Transfer system from Event Builder:&lt;br /&gt;
&lt;br /&gt;
* CAEN v1190/v1290 TDCs: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,Ns&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of hits, hits&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in WINDOW RAW DATA mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,Ns&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of samples, samples&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in PULSE RAW DATA mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,N(c,Ns)&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of pulses (first sample number, the number of samples, samples)&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in PULSE INTEGRAL mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,N(c,i)&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of pulses (quality factor, pulse integral)&lt;br /&gt;
&lt;br /&gt;
For &#039;translated&#039; banks geographic identifiers (slot-channel) will be replaced by logical identifiers, for example layer-wire etc.&lt;br /&gt;
&lt;br /&gt;
Every subsystem will be assigned with unique 16-bit bank tags, while 8-bit bank number can be used for data separation inside subsystem, for example for different crates or sectors. Following scheme can be proposed:&lt;br /&gt;
&lt;br /&gt;
              31..........24 23..........16 15..........8 7..........0&lt;br /&gt;
                                    l e n g t h                          &amp;lt;- bank[0]&lt;br /&gt;
                 system#                         0xf       sysnum        &amp;lt;- bank[1]&lt;br /&gt;
                  0x0              0x6               length              &amp;lt;- segment&lt;br /&gt;
                              &amp;quot;3I,4S,3(F,I),F,NS,L&amp;quot;                      &amp;lt;- format string&lt;br /&gt;
                                    l e n g t h                          &amp;lt;- bank[0]&lt;br /&gt;
                subsystem#                       0x0       subsysnum     &amp;lt;- bank[1]&lt;br /&gt;
                                                                         &amp;lt;- data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;system#&#039;&#039;&#039; is unique id assigned to the particular detector, it can be the number or 2-letter (EC, CC etc). &#039;&#039;&#039;sysnum&#039;&#039;&#039; cab be used for futher subdivision inside system, for example sector number. &#039;&#039;&#039;subsystem#&#039;&#039;&#039; specifies different kinds of data (ADC raw, ADC pulse, TDC, Scalers etc), it can be the number or 2-letter as well. &#039;&#039;&#039;subsysnum&#039;&#039;&#039; allows to specify data representation (for example raw, translated, etc).&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EVIO&amp;diff=5730</id>
		<title>EVIO</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EVIO&amp;diff=5730"/>
		<updated>2012-02-03T13:19:13Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVIO is data format and corresponding software used at JLAB.&lt;br /&gt;
&lt;br /&gt;
EVIO Manual version 2.0: [https://clonwiki.jlab.org/wiki/clondocs/Docs/evio_Users_Guide.pdf pdf] [https://clonwiki.jlab.org/wiki/clondocs/Docs/evio_Users_Guide.doc doc].&lt;br /&gt;
&lt;br /&gt;
Event Building EVIO Scheme: [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.pdf pdf] [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.ppt ppt] [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.pptx pptx].&lt;br /&gt;
&lt;br /&gt;
Not in the manual yet: 8-word EVIO block(record) header:&lt;br /&gt;
 1. block length&lt;br /&gt;
 2. block number&lt;br /&gt;
 3. header length=8&lt;br /&gt;
 4. event count (# of banks, without dictionary if it is inserted)&lt;br /&gt;
 5. not used&lt;br /&gt;
 6. bit info[31-8] version [7-0]; if dectionary is therer, bit 8 (starting from 0) will be set&lt;br /&gt;
 7. unused&lt;br /&gt;
 8. magic int = 0xc0da0100&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CLAS12 guidelines:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;EVIO BANK&#039; (not &#039;EVIO SEGMENT&#039; or &#039;EVIO TAGSEGMENT&#039; will be used for data banks; bank header has 2 words, first one is exclusive bank length in words, second one contains 3 fields: tag[31:20], contentType[15:8] and num[7:0]&lt;br /&gt;
&lt;br /&gt;
* no mixed formats (for example &#039;int&#039; and &#039;short&#039;) will be allowed in the same bank, format is described in 8-bit field &#039;&#039;contentType&#039;&#039; (or use type=0 and do custom swap ?), except for formatted banks (see below)&lt;br /&gt;
&lt;br /&gt;
* BOS bank name will be replaced with 12-bit field &#039;&#039;tag&#039;&#039;, BOS bank number will be replaced with 8-bit field &#039;&#039;num&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* banks dictionary (former DDL replacement) will be provided in some form (ASCII ?) and will contains a notation on every bank &#039;&#039;tag&#039;&#039;, most important will be the number of &#039;columns&#039; and the meaning of every column (for example id,tdcl,adcl,tdcr,tdcl), it will help to decode data from the bank and can be used by evio viewers; will be written at least in the beginning of every file&lt;br /&gt;
&lt;br /&gt;
* data banks will be in &#039;unsigned short&#039; or &#039;unsigned int&#039; format; first element will be ID (&#039;slot&amp;lt;&amp;lt;8+channel&#039; without translation,   &#039;layer&amp;lt;&amp;lt;8+wire&#039; or similar with translation)&lt;br /&gt;
&lt;br /&gt;
* some bank examples:&lt;br /&gt;
 tdc version 1: ID, TDC&lt;br /&gt;
 tdc version 2: ID, N_HITS, TDC_1, ... , TDC_N&lt;br /&gt;
 adc (raw data hits): ID, N_SAMPLES(=window_width), ADC_1, ... , ADC_N&lt;br /&gt;
 adc (window integral - 32bit): ID, ADC_SUM(can be 22 bits+1 bit overflow)&lt;br /&gt;
 adc (pulse data hits): ID, N_SAMPLES, FIRST_SAMPLE, ADC_1, ..., ADC_N&lt;br /&gt;
&lt;br /&gt;
* may give a tags to all existing CLAS banks and make sure CLAS12 bank tags do not overlap - will allow to process old and new banks together&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO possible extensions:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* file split - implemented in CLAS&lt;br /&gt;
&lt;br /&gt;
* bank &#039;dictionary-based&#039;, or &#039;format-based&#039; swap (will allow mixed format), can be enforced if contentType=0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO format-based swap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sergey B. proposed 2 functions to handle format-based banks in EVIO. The idea is to have designated bank with contentType=0xf (or 0x11, 0x12 etc), which will contain 2 internal  banks (or segments). First bank (or segment) will contain bank format description, and second bank (or segment) will contain data. Format can be stored in form of ascii string, or in binary form. Two [https://clonwiki.jlab.org/wiki/clondocs/Downloads/evioswap.tar evio swap functions] are provided to handle format-based banks: &#039;&#039;eviofmt()&#039;&#039; converts format from character string form to binary form, and &#039;&#039;eviofmtswap()&#039;&#039; swaps data between big-endian and little-endian forms in according to the format (using binary form). Functions were tested using included test program, but more detailed tests and checks are required, as well as implementation into EVIO package. Available formats are following FORTRAN rules in general, with some restrictions/additions.&lt;br /&gt;
&lt;br /&gt;
Possible formats and corresponding binary codes:&lt;br /&gt;
       1    &#039;i&#039;   unsigned int&lt;br /&gt;
       2    &#039;F&#039;   floating point&lt;br /&gt;
       3    &#039;a&#039;   8-bit char (C++)&lt;br /&gt;
       4    &#039;S&#039;   short&lt;br /&gt;
       5    &#039;s&#039;   unsigned short&lt;br /&gt;
       6    &#039;C&#039;   char&lt;br /&gt;
       7    &#039;c&#039;   unsigned char&lt;br /&gt;
       8    &#039;D&#039;   double (64-bit float)&lt;br /&gt;
       9    &#039;L&#039;   long long (64-bit int)&lt;br /&gt;
      10    &#039;l&#039;   unsigned long long (64-bit int)&lt;br /&gt;
      11    &#039;I&#039;   int&lt;br /&gt;
      12    &#039;A&#039;   hollerith (4-byte char with int*32 bytes order for backward compatibility with BOS)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &amp;quot;3I,4S,5I&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,(F,I)&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,3(F,I),F,I,2S,L&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,2(2(F,I)),2S,L&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,3(F,I),F,NS,L&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rules:&lt;br /&gt;
&lt;br /&gt;
* when format control reaches last (outer) right parenthesis and there are data left, the format starts again by the last preceding right parenthesis, including its group repeat count, if any, or, if no group specification exists, then at the first left parenthesis of the format specification; if none of above exist, it starts from the beginning of the format control (FORTRAN rules)&lt;br /&gt;
&lt;br /&gt;
* repeat count must be between 2 and 15, missing repeat count assumed 1&lt;br /&gt;
&lt;br /&gt;
* if repeat count is &#039;N&#039; instead of digits, it will be taken from the data assuming int*32 format; it allows to have variable length rows (see last example)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO formated banks - EVIO version 4.0 and later&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
EVIO banks with contentType=0xf are formatted banks. They contains two parts: &#039;&#039;tagsegment&#039;&#039; with format description as ASCII string, and &#039;&#039;bank&#039;&#039; with data. All data banks produced by CLAS12 DAQ will be primitive data types whenever possible, or formatted type. Formatted banks will be used if different data types are needed inside the same bank, or/and if banks contains raws with variable length. Following formats will be used for basic data banks as they are inserted into the Event Transfer system from Event Builder:&lt;br /&gt;
&lt;br /&gt;
* CAEN v1190/v1290 TDCs: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,Ns&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of hits, hits&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in WINDOW RAW DATA mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,Ns&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of samples, samples&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in PULSE RAW DATA mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,N(c,Ns)&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of pulses (first sample number, the number of samples, samples)&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in PULSE INTEGRAL mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,N(c,i)&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of pulses (quality factor, pulse integral)&lt;br /&gt;
&lt;br /&gt;
For &#039;translated&#039; banks geographic identifiers (slot-channel) will be replaced by logical identifiers, for example layer-wire etc.&lt;br /&gt;
&lt;br /&gt;
Every subsystem will be assigned with unique 16-bit bank tags, while 8-bit bank number can be used for data separation inside subsystem, for example for different crates or sectors. Following scheme can be proposed:&lt;br /&gt;
&lt;br /&gt;
              31..........24 23..........16 15..........8 7..........0&lt;br /&gt;
                                    l e n g t h                          &amp;lt;- bank[0]&lt;br /&gt;
                 system#                         0xf       sysnum        &amp;lt;- bank[1]&lt;br /&gt;
                  0x0              0x6               length              &amp;lt;- segment&lt;br /&gt;
                              &amp;quot;3I,4S,3(F,I),F,NS,L&amp;quot;                      &amp;lt;- format string&lt;br /&gt;
                                    l e n g t h                          &amp;lt;- bank[0]&lt;br /&gt;
                subsystem#                       0x0       subsysnum     &amp;lt;- bank[1]&lt;br /&gt;
                                                                         &amp;lt;- data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;system#&#039;&#039;&#039; is unique id assigned to the particular detector, it can be the number or 2-letter (EC, CC etc). &#039;&#039;&#039;sysnum&#039;&#039;&#039; cab be used for futher subdivision inside system, for example sector number. &#039;&#039;&#039;subsystem#&#039;&#039;&#039; specifies different kinds of data (ADC raw, ADC pulse, TDC, Scalers etc), while &#039;&#039;&#039;subsysnum&#039;&#039;&#039; allows to specify data representation (for example raw, translated, etc).&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EVIO&amp;diff=5729</id>
		<title>EVIO</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EVIO&amp;diff=5729"/>
		<updated>2012-02-03T13:17:40Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVIO is data format and corresponding software used at JLAB.&lt;br /&gt;
&lt;br /&gt;
EVIO Manual version 2.0: [https://clonwiki.jlab.org/wiki/clondocs/Docs/evio_Users_Guide.pdf pdf] [https://clonwiki.jlab.org/wiki/clondocs/Docs/evio_Users_Guide.doc doc].&lt;br /&gt;
&lt;br /&gt;
Event Building EVIO Scheme: [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.pdf pdf] [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.ppt ppt] [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.pptx pptx].&lt;br /&gt;
&lt;br /&gt;
Not in the manual yet: 8-word EVIO block(record) header:&lt;br /&gt;
 1. block length&lt;br /&gt;
 2. block number&lt;br /&gt;
 3. header length=8&lt;br /&gt;
 4. event count (# of banks, without dictionary if it is inserted)&lt;br /&gt;
 5. not used&lt;br /&gt;
 6. bit info[31-8] version [7-0]; if dectionary is therer, bit 8 (starting from 0) will be set&lt;br /&gt;
 7. unused&lt;br /&gt;
 8. magic int = 0xc0da0100&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CLAS12 guidelines:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;EVIO BANK&#039; (not &#039;EVIO SEGMENT&#039; or &#039;EVIO TAGSEGMENT&#039; will be used for data banks; bank header has 2 words, first one is exclusive bank length in words, second one contains 3 fields: tag[31:20], contentType[15:8] and num[7:0]&lt;br /&gt;
&lt;br /&gt;
* no mixed formats (for example &#039;int&#039; and &#039;short&#039;) will be allowed in the same bank, format is described in 8-bit field &#039;&#039;contentType&#039;&#039; (or use type=0 and do custom swap ?), except for formatted banks (see below)&lt;br /&gt;
&lt;br /&gt;
* BOS bank name will be replaced with 12-bit field &#039;&#039;tag&#039;&#039;, BOS bank number will be replaced with 8-bit field &#039;&#039;num&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* banks dictionary (former DDL replacement) will be provided in some form (ASCII ?) and will contains a notation on every bank &#039;&#039;tag&#039;&#039;, most important will be the number of &#039;columns&#039; and the meaning of every column (for example id,tdcl,adcl,tdcr,tdcl), it will help to decode data from the bank and can be used by evio viewers; will be written at least in the beginning of every file&lt;br /&gt;
&lt;br /&gt;
* data banks will be in &#039;unsigned short&#039; or &#039;unsigned int&#039; format; first element will be ID (&#039;slot&amp;lt;&amp;lt;8+channel&#039; without translation,   &#039;layer&amp;lt;&amp;lt;8+wire&#039; or similar with translation)&lt;br /&gt;
&lt;br /&gt;
* some bank examples:&lt;br /&gt;
 tdc version 1: ID, TDC&lt;br /&gt;
 tdc version 2: ID, N_HITS, TDC_1, ... , TDC_N&lt;br /&gt;
 adc (raw data hits): ID, N_SAMPLES(=window_width), ADC_1, ... , ADC_N&lt;br /&gt;
 adc (window integral - 32bit): ID, ADC_SUM(can be 22 bits+1 bit overflow)&lt;br /&gt;
 adc (pulse data hits): ID, N_SAMPLES, FIRST_SAMPLE, ADC_1, ..., ADC_N&lt;br /&gt;
&lt;br /&gt;
* may give a tags to all existing CLAS banks and make sure CLAS12 bank tags do not overlap - will allow to process old and new banks together&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO possible extensions:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* file split - implemented in CLAS&lt;br /&gt;
&lt;br /&gt;
* bank &#039;dictionary-based&#039;, or &#039;format-based&#039; swap (will allow mixed format), can be enforced if contentType=0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO format-based swap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sergey B. proposed 2 functions to handle format-based banks in EVIO. The idea is to have designated bank with contentType=0xf (or 0x11, 0x12 etc), which will contain 2 internal  banks (or segments). First bank (or segment) will contain bank format description, and second bank (or segment) will contain data. Format can be stored in form of ascii string, or in binary form. Two [https://clonwiki.jlab.org/wiki/clondocs/Downloads/evioswap.tar evio swap functions] are provided to handle format-based banks: &#039;&#039;eviofmt()&#039;&#039; converts format from character string form to binary form, and &#039;&#039;eviofmtswap()&#039;&#039; swaps data between big-endian and little-endian forms in according to the format (using binary form). Functions were tested using included test program, but more detailed tests and checks are required, as well as implementation into EVIO package. Available formats are following FORTRAN rules in general, with some restrictions/additions.&lt;br /&gt;
&lt;br /&gt;
Possible formats and corresponding binary codes:&lt;br /&gt;
       1    &#039;i&#039;   unsigned int&lt;br /&gt;
       2    &#039;F&#039;   floating point&lt;br /&gt;
       3    &#039;a&#039;   8-bit char (C++)&lt;br /&gt;
       4    &#039;S&#039;   short&lt;br /&gt;
       5    &#039;s&#039;   unsigned short&lt;br /&gt;
       6    &#039;C&#039;   char&lt;br /&gt;
       7    &#039;c&#039;   unsigned char&lt;br /&gt;
       8    &#039;D&#039;   double (64-bit float)&lt;br /&gt;
       9    &#039;L&#039;   long long (64-bit int)&lt;br /&gt;
      10    &#039;l&#039;   unsigned long long (64-bit int)&lt;br /&gt;
      11    &#039;I&#039;   int&lt;br /&gt;
      12    &#039;A&#039;   hollerith (4-byte char with int*32 bytes order for backward compatibility with BOS)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &amp;quot;3I,4S,5I&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,(F,I)&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,3(F,I),F,I,2S,L&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,2(2(F,I)),2S,L&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,3(F,I),F,NS,L&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rules:&lt;br /&gt;
&lt;br /&gt;
* when format control reaches last (outer) right parenthesis and there are data left, the format starts again by the last preceding right parenthesis, including its group repeat count, if any, or, if no group specification exists, then at the first left parenthesis of the format specification; if none of above exist, it starts from the beginning of the format control (FORTRAN rules)&lt;br /&gt;
&lt;br /&gt;
* repeat count must be between 2 and 15, missing repeat count assumed 1&lt;br /&gt;
&lt;br /&gt;
* if repeat count is &#039;N&#039; instead of digits, it will be taken from the data assuming int*32 format; it allows to have variable length rows (see last example)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO formated banks - EVIO version 4.0 and later&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
EVIO banks with contentType=0xf are formatted banks. They contains two parts: &#039;&#039;tagsegment&#039;&#039; with format description as ASCII string, and &#039;&#039;bank&#039;&#039; with data. All data banks produced by CLAS12 DAQ will be primitive data types whenever possible, or formatted type. Formatted banks will be used if different data types are needed inside the same bank, or/and if banks contains raws with variable length. Following formats will be used for basic data banks as they are inserted into the Event Transfer system from Event Builder:&lt;br /&gt;
&lt;br /&gt;
* CAEN v1190/v1290 TDCs: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,Ns&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of hits, hits&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in WINDOW RAW DATA mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,Ns&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of samples, samples&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in PULSE RAW DATA mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,N(c,Ns)&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of pulses (first sample number, the number of samples, samples)&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in PULSE INTEGRAL mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,N(c,i)&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of pulses (quality factor, pulse integral)&lt;br /&gt;
&lt;br /&gt;
For &#039;translated&#039; banks geographic identifiers (slot-channel) will be replaced by logical identifiers, for example layer-wire etc.&lt;br /&gt;
&lt;br /&gt;
Every subsystem will be assigned with unique 16-bit bank tags, while 8-bit bank number can be used for data separation inside subsystem, for example for different crates or sectors. Following scheme can be proposed:&lt;br /&gt;
&lt;br /&gt;
              31..........24 23..........16 15..........8 7..........0&lt;br /&gt;
                                    l e n g t h                          &amp;lt;- bank[0]&lt;br /&gt;
                 system#                         0xf       sysnum        &amp;lt;- bank[1]&lt;br /&gt;
                  0x0              0x6               length              &amp;lt;- segment&lt;br /&gt;
                              &amp;quot;3I,4S,3(F,I),F,NS,L&amp;quot;                      &amp;lt;- format string&lt;br /&gt;
                                    l e n g t h                          &amp;lt;- bank[0]&lt;br /&gt;
                subsystem#                       0x0       subsysnum     &amp;lt;- bank[1]&lt;br /&gt;
                                                                         &amp;lt;- data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;system#&#039;&#039;&#039; is unique id assigned to the particular detector, it can be the number or 2-letter (EC, CC etc). &#039;&#039;&#039;sysnum&#039;&#039;&#039; cab be used for futher subdivision inside system, for example sector number. &#039;&#039;&#039;subsystem#&#039;&#039;&#039; specifies different kinds of data (ADC, TDC, Scalers etc), while &#039;&#039;&#039;subsysnum&#039;&#039;&#039; allows to specify data representation (for example raw, translated, etc).&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EVIO&amp;diff=5728</id>
		<title>EVIO</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EVIO&amp;diff=5728"/>
		<updated>2012-02-03T13:14:44Z</updated>

		<summary type="html">&lt;p&gt;98.166.92.51: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVIO is data format and corresponding software used at JLAB.&lt;br /&gt;
&lt;br /&gt;
EVIO Manual version 2.0: [https://clonwiki.jlab.org/wiki/clondocs/Docs/evio_Users_Guide.pdf pdf] [https://clonwiki.jlab.org/wiki/clondocs/Docs/evio_Users_Guide.doc doc].&lt;br /&gt;
&lt;br /&gt;
Event Building EVIO Scheme: [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.pdf pdf] [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.ppt ppt] [https://clonwiki.jlab.org/wiki/clondocs/Docs/eventbuilding.pptx pptx].&lt;br /&gt;
&lt;br /&gt;
Not in the manual yet: 8-word EVIO block(record) header:&lt;br /&gt;
 1. block length&lt;br /&gt;
 2. block number&lt;br /&gt;
 3. header length=8&lt;br /&gt;
 4. event count (# of banks, without dictionary if it is inserted)&lt;br /&gt;
 5. not used&lt;br /&gt;
 6. bit info[31-8] version [7-0]; if dectionary is therer, bit 8 (starting from 0) will be set&lt;br /&gt;
 7. unused&lt;br /&gt;
 8. magic int = 0xc0da0100&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CLAS12 guidelines:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;EVIO BANK&#039; (not &#039;EVIO SEGMENT&#039; or &#039;EVIO TAGSEGMENT&#039; will be used for data banks; bank header has 2 words, first one is exclusive bank length in words, second one contains 3 fields: tag[31:20], contentType[15:8] and num[7:0]&lt;br /&gt;
&lt;br /&gt;
* no mixed formats (for example &#039;int&#039; and &#039;short&#039;) will be allowed in the same bank, format is described in 8-bit field &#039;&#039;contentType&#039;&#039; (or use type=0 and do custom swap ?), except for formatted banks (see below)&lt;br /&gt;
&lt;br /&gt;
* BOS bank name will be replaced with 12-bit field &#039;&#039;tag&#039;&#039;, BOS bank number will be replaced with 8-bit field &#039;&#039;num&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* banks dictionary (former DDL replacement) will be provided in some form (ASCII ?) and will contains a notation on every bank &#039;&#039;tag&#039;&#039;, most important will be the number of &#039;columns&#039; and the meaning of every column (for example id,tdcl,adcl,tdcr,tdcl), it will help to decode data from the bank and can be used by evio viewers; will be written at least in the beginning of every file&lt;br /&gt;
&lt;br /&gt;
* data banks will be in &#039;unsigned short&#039; or &#039;unsigned int&#039; format; first element will be ID (&#039;slot&amp;lt;&amp;lt;8+channel&#039; without translation,   &#039;layer&amp;lt;&amp;lt;8+wire&#039; or similar with translation)&lt;br /&gt;
&lt;br /&gt;
* some bank examples:&lt;br /&gt;
 tdc version 1: ID, TDC&lt;br /&gt;
 tdc version 2: ID, N_HITS, TDC_1, ... , TDC_N&lt;br /&gt;
 adc (raw data hits): ID, N_SAMPLES(=window_width), ADC_1, ... , ADC_N&lt;br /&gt;
 adc (window integral - 32bit): ID, ADC_SUM(can be 22 bits+1 bit overflow)&lt;br /&gt;
 adc (pulse data hits): ID, N_SAMPLES, FIRST_SAMPLE, ADC_1, ..., ADC_N&lt;br /&gt;
&lt;br /&gt;
* may give a tags to all existing CLAS banks and make sure CLAS12 bank tags do not overlap - will allow to process old and new banks together&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO possible extensions:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* file split - implemented in CLAS&lt;br /&gt;
&lt;br /&gt;
* bank &#039;dictionary-based&#039;, or &#039;format-based&#039; swap (will allow mixed format), can be enforced if contentType=0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO format-based swap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sergey B. proposed 2 functions to handle format-based banks in EVIO. The idea is to have designated bank with contentType=0xf (or 0x11, 0x12 etc), which will contain 2 internal  banks (or segments). First bank (or segment) will contain bank format description, and second bank (or segment) will contain data. Format can be stored in form of ascii string, or in binary form. Two [https://clonwiki.jlab.org/wiki/clondocs/Downloads/evioswap.tar evio swap functions] are provided to handle format-based banks: &#039;&#039;eviofmt()&#039;&#039; converts format from character string form to binary form, and &#039;&#039;eviofmtswap()&#039;&#039; swaps data between big-endian and little-endian forms in according to the format (using binary form). Functions were tested using included test program, but more detailed tests and checks are required, as well as implementation into EVIO package. Available formats are following FORTRAN rules in general, with some restrictions/additions.&lt;br /&gt;
&lt;br /&gt;
Possible formats and corresponding binary codes:&lt;br /&gt;
       1    &#039;i&#039;   unsigned int&lt;br /&gt;
       2    &#039;F&#039;   floating point&lt;br /&gt;
       3    &#039;a&#039;   8-bit char (C++)&lt;br /&gt;
       4    &#039;S&#039;   short&lt;br /&gt;
       5    &#039;s&#039;   unsigned short&lt;br /&gt;
       6    &#039;C&#039;   char&lt;br /&gt;
       7    &#039;c&#039;   unsigned char&lt;br /&gt;
       8    &#039;D&#039;   double (64-bit float)&lt;br /&gt;
       9    &#039;L&#039;   long long (64-bit int)&lt;br /&gt;
      10    &#039;l&#039;   unsigned long long (64-bit int)&lt;br /&gt;
      11    &#039;I&#039;   int&lt;br /&gt;
      12    &#039;A&#039;   hollerith (4-byte char with int*32 bytes order for backward compatibility with BOS)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 &amp;quot;3I,4S,5I&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,(F,I)&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,3(F,I),F,I,2S,L&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,2(2(F,I)),2S,L&amp;quot;&lt;br /&gt;
 &amp;quot;3I,4S,3(F,I),F,NS,L&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Rules:&lt;br /&gt;
&lt;br /&gt;
* when format control reaches last (outer) right parenthesis and there are data left, the format starts again by the last preceding right parenthesis, including its group repeat count, if any, or, if no group specification exists, then at the first left parenthesis of the format specification; if none of above exist, it starts from the beginning of the format control (FORTRAN rules)&lt;br /&gt;
&lt;br /&gt;
* repeat count must be between 2 and 15, missing repeat count assumed 1&lt;br /&gt;
&lt;br /&gt;
* if repeat count is &#039;N&#039; instead of digits, it will be taken from the data assuming int*32 format; it allows to have variable length rows (see last example)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EVIO formated banks - EVIO version 4.0 and later&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
EVIO banks with contentType=0xf are formatted banks. They contains two parts: &#039;&#039;tagsegment&#039;&#039; with format description as ASCII string, and &#039;&#039;bank&#039;&#039; with data. All data banks produced by CLAS12 DAQ will be primitive data types whenever possible, or formatted type. Formatted banks will be used if different data types are needed inside the same bank, or/and if banks contains raws with variable length. Following formats will be used for basic data banks as they are inserted into the Event Transfer system from Event Builder:&lt;br /&gt;
&lt;br /&gt;
* CAEN v1190/v1290 TDCs: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,Ns&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of hits, hits&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in WINDOW RAW DATA mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,Ns&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of samples, samples&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in PULSE RAW DATA mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,N(c,Ns)&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of pulses (first sample number, the number of samples, samples)&lt;br /&gt;
&lt;br /&gt;
* JLAB FADC250 in PULSE INTEGRAL mode: &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &amp;quot;2c,N(c,i)&amp;quot; &amp;lt;/span&amp;gt; - slot, channel, the number of pulses (quality factor, pulse integral)&lt;br /&gt;
&lt;br /&gt;
For &#039;translated&#039; banks geographic identifiers (slot-channel) will be replaced by logical identifiers, for example layer-wire etc.&lt;br /&gt;
&lt;br /&gt;
Every subsystem will be assigned with unique 16-bit bank tags, while 8-bit bank number can be used for data separation inside subsystem, for example for different crates or sectors. Following scheme can be proposed:&lt;br /&gt;
&lt;br /&gt;
              31..........24 23..........16 15..........8 7..........0&lt;br /&gt;
                                    l e n g t h                          &amp;lt;- bank[0]&lt;br /&gt;
                 system#                         0xf       sysnum        &amp;lt;- bank[1]&lt;br /&gt;
                  0x0              0x6               length              &amp;lt;- segment&lt;br /&gt;
                              &amp;quot;3I,4S,3(F,I),F,NS,L&amp;quot;                      &amp;lt;- format string&lt;br /&gt;
                                    l e n g t h                          &amp;lt;- bank[0]&lt;br /&gt;
                subsystem#                       0x0       subsysnum     &amp;lt;- bank[1]&lt;br /&gt;
                                                                         &amp;lt;- data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;system#&#039;&#039;&#039; is unique id assigned to the particular detector, it can be the number or 2-letter (EC, CC etc). &#039;&#039;&#039;sysnum&#039;&#039;&#039; cab be used for futher subdivision inside system, for example sector number.&lt;/div&gt;</summary>
		<author><name>98.166.92.51</name></author>
	</entry>
</feed>