
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.anl.gov/wiki_gsdaq/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcarpenter</id>
	<title>GammaSphere DAQ - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.anl.gov/wiki_gsdaq/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcarpenter"/>
	<link rel="alternate" type="text/html" href="https://wiki.anl.gov/gsdaq/Special:Contributions/Mcarpenter"/>
	<updated>2026-06-12T21:01:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Main_Page&amp;diff=2191</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Main_Page&amp;diff=2191"/>
		<updated>2021-09-16T15:30:01Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: /* Experts Only */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
These are the wiki pages for the Digital and the analog Gammasphere Data Acquisition systems (GS DAQs). Procedures for running the DAQs and the data format will be documented here.&lt;br /&gt;
&lt;br /&gt;
The GS DAQ serves the Gammasphere detector array (http://www.phy.anl.gov/gammasphere/), located at the ATLAS accelerator (http://www.phy.anl.gov/atlas), home of the CAlifornium Rare Isotope Breeder Upgrade (CARIBU http://www.phy.anl.gov/atlas/caribu/).&lt;br /&gt;
&lt;br /&gt;
Contact mailto:torben@anl.gov for comments on, and write access to, these wiki pages&lt;br /&gt;
&lt;br /&gt;
==Digital Gammasphere==&lt;br /&gt;
&lt;br /&gt;
o [[intro]]&lt;br /&gt;
&lt;br /&gt;
o [[typical DGS run procedures]]&lt;br /&gt;
&lt;br /&gt;
o [[receivers/GEBMerge/GEBsort]]&lt;br /&gt;
&lt;br /&gt;
o [[computers and networks]]&lt;br /&gt;
&lt;br /&gt;
o [[Raspberry Pi camera use]]&lt;br /&gt;
&lt;br /&gt;
o [[handeling removable disks under ESATA]]&lt;br /&gt;
&lt;br /&gt;
o [[triggers and digitizers]]&lt;br /&gt;
&lt;br /&gt;
o [[Digitizer Tester]]&lt;br /&gt;
&lt;br /&gt;
o [[The DGS/DFMA EPICS Implementation]]&lt;br /&gt;
&lt;br /&gt;
o [[data formats]]&lt;br /&gt;
&lt;br /&gt;
o [[analysis codes]]&lt;br /&gt;
&lt;br /&gt;
o [[list of experimental runs/analysis]]&lt;br /&gt;
&lt;br /&gt;
o [[some problems and their solutions]]&lt;br /&gt;
&lt;br /&gt;
o [[hint and kinks]]&lt;br /&gt;
&lt;br /&gt;
o [[firmware documentation]]&lt;br /&gt;
&lt;br /&gt;
o [[Tim Madden software documentation]]&lt;br /&gt;
&lt;br /&gt;
==Analog Gammasphere==&lt;br /&gt;
&lt;br /&gt;
o [[Analog Gammasphere]]&lt;br /&gt;
&lt;br /&gt;
o [[LN system]]&lt;br /&gt;
&lt;br /&gt;
o [[JohnSandbox]]&lt;br /&gt;
&lt;br /&gt;
==Experts Only==&lt;br /&gt;
&lt;br /&gt;
o [[Building the entire system]]&lt;br /&gt;
&lt;br /&gt;
o [[Linking Systems Together]]&lt;br /&gt;
&lt;br /&gt;
o [[Updating Firmware in Digitizers and Triggers]]&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
* [[Network Accessible Power Control Units of DGS]]&lt;br /&gt;
* [[Attempts at Inventory]]&lt;br /&gt;
* [https://wiki.anl.gov/wiki_gsdaq/images/4/40/MyRIAD_User_Manaual.pdf MyRIAD_User_Manaual]&lt;br /&gt;
* [https://wiki.anl.gov/wiki_gsdaq/images/1/16/MyRIAD_Abridged_User_Notes.pdf MyRIAD_Abridged_User_Notes]&lt;br /&gt;
* [[CrateAndBoardMapping]]&lt;br /&gt;
&lt;br /&gt;
===Digitizer hardware features you probably don&#039;t know about===&lt;br /&gt;
&lt;br /&gt;
* The digitizer has a [[DAC output]].&lt;br /&gt;
* The digitizer has a buffer amplifier that drives a copy of the analog signal going into channel 9 to outputs on the front panel.  This is a simple analog buffer, no shaping, sampling or anything else.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==contact list==&lt;br /&gt;
&lt;br /&gt;
Mike Carpenter, mailto:carpenter@anl.gov&lt;br /&gt;
&lt;br /&gt;
John Anderson, mailto:jta@anl.gov&lt;br /&gt;
&lt;br /&gt;
Michael Oberling, mailto:moberling@anl.gov&lt;br /&gt;
&lt;br /&gt;
Torben Lauritsen, mailto:torben@anl.gov&lt;br /&gt;
&lt;br /&gt;
Darek Seweryniak, mailto:seweryniak@anl.gov&lt;br /&gt;
&lt;br /&gt;
Pat Copp, mailto:copp@anl.gov&lt;br /&gt;
&lt;br /&gt;
Amel Korichi, mailto:korichi@csnsm.in2p3.fr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Standard Footer}}&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2190</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2190"/>
		<updated>2021-09-16T13:55:46Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Some more notes about flashing digitizers or triggers:==&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get the *.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
## We have 4 flavors, MSTR_digitizer, SLAVE_digitizer, trigger_top and router_top&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
## You can rename file to reflect the date compiled e.g. MSTR_digitizer_2020722.bin&lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as: epics.sendFgga(Firmwarename, ret file name, Crate num, Board num, erase, program, verify)&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Below are cut and paste commands to use with DGS or DFMA ==&lt;br /&gt;
=== Trigger and Routers ===&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DGS Digitizers===&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===For Non-Slave Configuration (FMA):===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2189</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2189"/>
		<updated>2021-09-16T13:54:43Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Some more notes about flashing digitizers or triggers:==&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get the *.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
## We have 4 flavors, MSTR_digitizer, SLAVE_digitizer, trigger_top and router_top&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
## You can rename file to reflect the date compiled e.g. MSTR_digitizer_2020722.bin&lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as: epics.sendFgga(Firmwarename, ret file name, Crate num, Board num, erase, program, verify)&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Below are cut and paste commands to use with DGS or DFMA ==&lt;br /&gt;
=== Trigger and Routers ===&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DGS Digitizers===&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===For Non-Slave Configuration (FMA):===&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2188</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2188"/>
		<updated>2021-09-16T13:52:39Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Some more notes about flashing digitizers or triggers:==&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get the *.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
## We have 4 flavors, MSTR_digitizer, SLAVE_digitizer, trigger_top and router_top&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
## You can rename file to reflect the date compiled e.g. MSTR_digitizer_2020722.bin&lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as: epics.sendFgga(Firmwarename, ret file name, Crate num, Board num, erase, program, verify)&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Below are cut and paste commands to use with DGS or DFMA ==&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2187</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2187"/>
		<updated>2021-09-16T13:51:21Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Some more notes about flashing digitizers or triggers:==&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get the *.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
## We have 4 flavors, MSTR_digitizer, SLAVE_digitizer, trigger_top and router_top&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
## You can rename file to reflect the date compiled e.g. MSTR_digitizer_2020722.bin&lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as: epics.sendFgga(Firmwarename, ret file name, Crate num, Board num, erase, program, verify)&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Below are cut and paste commands to use with DGS or DFMA ===&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2186</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2186"/>
		<updated>2021-09-16T13:49:44Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Some more notes about flashing digitizers or triggers:==&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get the *.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
## We have 4 flavors, MSTR_digitizer, SLAVE_digitizer, trigger_top and router_top&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
## You can rename file to reflect the date compiled e.g. MSTR_digitizer_2020722.bin&lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Below are cut and paste commands to use with DGS or DFMA ===&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2185</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2185"/>
		<updated>2021-09-16T13:48:35Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Some more notes about flashing digitizers or triggers:==&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get the *.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
## We have 4 flavors, MSTR_digitizer, SLAVE_digitizer, trigger_top and router_top&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
## You can rename file to reflect the date compiled e.g. MSTR_digitizer_2020722.bin&lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Below are cut and paste commands to use with DGS or DFMA ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2184</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2184"/>
		<updated>2021-09-16T13:47:43Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get the *.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
## We have 4 flavors, MSTR_digitizer, SLAVE_digitizer, trigger_top and router_top&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
## You can rename file to reflect the date compiled e.g. MSTR_digitizer_2020722.bin&lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Below are cut and paste commands to use with DGS or DFMA ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2183</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2183"/>
		<updated>2021-09-16T13:46:59Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get the *.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
** We have 4 flavors, MSTR_digitizer, SLAVE_digitizer, trigger_top and router_top&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
** You can rename file to reflect the date compiled e.g. MSTR_digitizer_2020722.bin&lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Below are cut and paste commands to use with DGS or DFMA ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2182</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2182"/>
		<updated>2021-09-16T05:39:21Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Below are cut and paste commands to use with DGS or DFMA ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2181</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2181"/>
		<updated>2021-09-16T05:38:26Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Heading text ===&lt;br /&gt;
Below are cut and paste commands to use with DGS or DFMA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2180</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2180"/>
		<updated>2021-09-16T05:36:49Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed but power cycle also works for digitizers too. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2179</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2179"/>
		<updated>2021-09-15T21:05:24Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed. CSS screens have controls for these PVs. The easiest is on the Global Control screen accessible from the main DGSCommander screen. Simply hit the button for config main fpga to reconfigure ALL digitizer FPGAs. Trigger FPGAs are not affected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For Non-Slave Configuration (FMA):&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2178</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2178"/>
		<updated>2021-09-15T21:00:20Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed. CSS screens have controls for these PVs. The easiest is on the Global Control screen accessible from the main DGSCommander screen. Simply hit the button for config main fpga to reconfigure ALL digitizer FPGAs. Trigger FPGAs are not affected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DGS Digitizers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;master digitzers&#039;&#039;&#039;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;slave digitzers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Non-Slave Configuration (FMA):&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
Not sure if VME10 is crate 9 or 10&lt;br /&gt;
&lt;br /&gt;
Gammasphere&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 3, 1,1,1);&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2177</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2177"/>
		<updated>2021-09-15T18:54:03Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed. CSS screens have controls for these PVs. The easiest is on the Global Control screen accessible from the main DGSCommander screen. Simply hit the button for config main fpga to reconfigure ALL digitizer FPGAs. Trigger FPGAs are not affected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DGS Digitizers&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
master digitzers&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
slave digitzers&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Non-Slave Configuration (FMA):&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
Not sure if VME10 is crate 9 or 10&lt;br /&gt;
&lt;br /&gt;
Gammasphere&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 3, 1,1,1);&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2176</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2176"/>
		<updated>2021-09-15T18:52:23Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed. CSS screens have controls for these PVs. The easiest is on the Global Control screen accessible from the main DGSCommander screen. Simply hit the button for config main fpga to reconfigure ALL digitizer FPGAs. Trigger FPGAs are not affected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br\&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br\&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br\&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;add these for FMA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&lt;br /&gt;
&lt;br /&gt;
DGS Digitizers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
master digitzers&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
slave digitzers&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Non-Slave Configuration (FMA):&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
Not sure if VME10 is crate 9 or 10&lt;br /&gt;
&lt;br /&gt;
Gammasphere&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 3, 1,1,1);&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2175</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2175"/>
		<updated>2021-09-15T15:38:46Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed. CSS screens have controls for these PVs. The easiest is on the Global Control screen accessible from the main DGSCommander screen. Simply hit the button for config main fpga to reconfigure ALL digitizer FPGAs. Trigger FPGAs are not affected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For master trigger&#039;&#039;&#039;&amp;lt;br\&amp;gt;&lt;br /&gt;
epics.sendFpga(mastware, fn1, 0, 0,1, 1, 1);&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For routers&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 1,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 2,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 3,1, 1, 1);&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add these for FMA&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 4,1, 1, 1);&lt;br /&gt;
epics.sendFpga(routware, fn1, 0, 5,1, 1, 1);&lt;br /&gt;
&lt;br /&gt;
DGS Digitizers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
master digitzers&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,0);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
slave digitzers&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 1, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 2, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 3, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 4, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 5, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 6, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 7, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 8, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 9, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 10, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 1, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(slvware, fn1, 11, 3, 1,1,0);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For Non-Slave Configuration (FMA):&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 1, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 2, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 3, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 4, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 5, 3, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 0, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 6, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 7, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 8, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&lt;br /&gt;
&lt;br /&gt;
Not sure if VME10 is crate 9 or 10&lt;br /&gt;
&lt;br /&gt;
Gammasphere&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 9, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 10, 3, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 0, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 1, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 2, 1,1,1);&lt;br /&gt;
epics.sendFpga(digware, fn1, 11, 3, 1,1,1);&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2174</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2174"/>
		<updated>2021-09-15T15:28:15Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
* To Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. &lt;br /&gt;
* To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. &lt;br /&gt;
* For the Trigger crate, a power cycle is needed. CSS screens have controls for these PVs. The easiest is on the Global Control screen accessible from the main DGSCommander screen. Simply hit the button for config main fpga to reconfigure ALL digitizer FPGAs. Trigger FPGAs are not affected.&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2173</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2173"/>
		<updated>2021-09-15T15:25:35Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get this far, you are now ready to flash the individual digitizers&lt;br /&gt;
&lt;br /&gt;
* To flash digitizer type epics.sendFpga(digware, fn1, 1, 0,1, 1, 1);&lt;br /&gt;
** This line sends the firmware file defined in digware to the board.&lt;br /&gt;
** The args of the function are defined as:   &lt;br /&gt;
*** Firmwarename, ret file name, Crate num, Board num, erase, program, verify&lt;br /&gt;
** IN the above function, we send digware to crate 1, board 0 and erase, program and verify the fpga.&lt;br /&gt;
&lt;br /&gt;
- Update the FPGA so it runs the new firmware. ON the dig boards there is a PV called GLBL:DIG:config_main_fpga that will reconfigure ALL digitizer FPGAs in DGS. This is convenient. To update a single FPGA, say in VME1, we use VME01:DIG1:config_main_fpga. Simple write a 1 to these PVs to reconfig the FPGAs. For the Trigger crate, a power cycle is needed. CSS screens have controls for these PVs. The easiest is on the Global Control screen accessible from the main DGSCommander screen. Simply hit the button for config main fpga to reconfigure ALL digitizer FPGAs. Trigger FPGAs are not affected.&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2172</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2172"/>
		<updated>2021-09-15T15:19:25Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
-&#039;&#039;&#039;NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2171</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2171"/>
		<updated>2021-09-15T15:18:03Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039;&lt;br /&gt;
- &#039;&#039;&#039;NOTE: If bin file name is wrong, program will still try to flash and result will be yellow fever.&lt;br /&gt;
- NOTE: The asynRecords.txt file defines the active crates. If you get a missing PV during setup, edit this file or better yet, make a new one and assign it instead.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2170</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2170"/>
		<updated>2021-09-15T15:14:59Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2169</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2169"/>
		<updated>2021-09-15T15:14:29Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2168</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2168"/>
		<updated>2021-09-15T15:14:00Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# issue following: java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTEL Need to define add current name of master, slave digitizer bin files and trigger &amp;amp; router bin file names&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2167</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2167"/>
		<updated>2021-09-15T15:11:05Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
epics.epics_init(); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
epics.connectPVs(fn0); &amp;lt;br&amp;gt;&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;); &amp;lt;br&amp;gt;&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2166</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2166"/>
		<updated>2021-09-15T15:09:37Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl &amp;lt;br&amp;gt;&lt;br /&gt;
epics.epics_init();&lt;br /&gt;
&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
epics.connectPVs(fn0);&lt;br /&gt;
&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2165</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2165"/>
		<updated>2021-09-15T15:06:34Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl&lt;br /&gt;
epics.epics_init();&lt;br /&gt;
&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
epics.connectPVs(fn0);&lt;br /&gt;
&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2164</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2164"/>
		<updated>2021-09-15T15:06:09Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl&lt;br /&gt;
&lt;br /&gt;
epics.epics_init();&lt;br /&gt;
&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
epics.connectPVs(fn0);&lt;br /&gt;
&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2163</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2163"/>
		<updated>2021-09-15T15:05:13Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;br /&gt;
# copy and paste below&lt;br /&gt;
&lt;br /&gt;
java -classpath jca-2.3.5.jar:caj-1.1.9.jar:fpgasender.jar plotControl&lt;br /&gt;
epics.epics_init();&lt;br /&gt;
var fn0=new String(&amp;quot;/home/dgs/tmadden/swWork/workspace/epicsClient/src/asynRecords.txt&amp;quot;);&lt;br /&gt;
var fn1=new String(&amp;quot;/home/dgs/tmadden/retfile.bin&amp;quot;);&lt;br /&gt;
epics.connectPVs(fn0);&lt;br /&gt;
var digware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/MSTR_digitizer_20200722.bin&amp;quot;);&lt;br /&gt;
var slvware=new String(&amp;quot;/home/dgs/tmadden/DGSDigFirmware/SLAVE_digitizer_20200602.bin&amp;quot;);&lt;br /&gt;
var mastware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/trigger_top_20160626.bin&amp;quot;);&lt;br /&gt;
var routware=new String(&amp;quot;/home/dgs/tmadden/DGSTrigFirmware/router_top_20160601.bin&amp;quot;);&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2162</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2162"/>
		<updated>2021-09-15T15:00:25Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;br /&gt;
# copy to /home/dgs/tmadden/DGSDigFirmware or  /home/dgs/tmadden/DGSTrigFirmware &lt;br /&gt;
# cd /home/dgs/tmadden/swWork/workspace/epicsClient/src&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2161</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2161"/>
		<updated>2021-09-15T14:56:14Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
# Get digitizer.bin from svn and copy it to directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2160</id>
		<title>Updating Firmware in Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Updating_Firmware_in_Modules&amp;diff=2160"/>
		<updated>2021-09-15T14:55:42Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: Created page with &amp;quot;Some more notes about flashing digitizers or triggers: # Log into dgs account on dgs1 Get digitizer.bin from svn and copy it to directory /Digitizer/MAIN_FPGA/Work11_DGS&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some more notes about flashing digitizers or triggers:&lt;br /&gt;
# Log into dgs account on dgs1&lt;br /&gt;
Get digitizer.bin from svn and copy it to directory /Digitizer/MAIN_FPGA/Work11_DGS&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Main_Page&amp;diff=2159</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Main_Page&amp;diff=2159"/>
		<updated>2021-09-15T14:48:33Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: /* Experts Only */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
These are the wiki pages for the Digital and the analog Gammasphere Data Acquisition systems (GS DAQs). Procedures for running the DAQs and the data format will be documented here.&lt;br /&gt;
&lt;br /&gt;
The GS DAQ serves the Gammasphere detector array (http://www.phy.anl.gov/gammasphere/), located at the ATLAS accelerator (http://www.phy.anl.gov/atlas), home of the CAlifornium Rare Isotope Breeder Upgrade (CARIBU http://www.phy.anl.gov/atlas/caribu/).&lt;br /&gt;
&lt;br /&gt;
Contact mailto:torben@anl.gov for comments on, and write access to, these wiki pages&lt;br /&gt;
&lt;br /&gt;
==Digital Gammasphere==&lt;br /&gt;
&lt;br /&gt;
o [[intro]]&lt;br /&gt;
&lt;br /&gt;
o [[typical DGS run procedures]]&lt;br /&gt;
&lt;br /&gt;
o [[receivers/GEBMerge/GEBsort]]&lt;br /&gt;
&lt;br /&gt;
o [[computers and networks]]&lt;br /&gt;
&lt;br /&gt;
o [[Raspberry Pi camera use]]&lt;br /&gt;
&lt;br /&gt;
o [[handeling removable disks under ESATA]]&lt;br /&gt;
&lt;br /&gt;
o [[triggers and digitizers]]&lt;br /&gt;
&lt;br /&gt;
o [[Digitizer Tester]]&lt;br /&gt;
&lt;br /&gt;
o [[The DGS/DFMA EPICS Implementation]]&lt;br /&gt;
&lt;br /&gt;
o [[data formats]]&lt;br /&gt;
&lt;br /&gt;
o [[analysis codes]]&lt;br /&gt;
&lt;br /&gt;
o [[list of experimental runs/analysis]]&lt;br /&gt;
&lt;br /&gt;
o [[some problems and their solutions]]&lt;br /&gt;
&lt;br /&gt;
o [[hint and kinks]]&lt;br /&gt;
&lt;br /&gt;
o [[firmware documentation]]&lt;br /&gt;
&lt;br /&gt;
o [[Tim Madden software documentation]]&lt;br /&gt;
&lt;br /&gt;
==Analog Gammasphere==&lt;br /&gt;
&lt;br /&gt;
o [[Analog Gammasphere]]&lt;br /&gt;
&lt;br /&gt;
o [[LN system]]&lt;br /&gt;
&lt;br /&gt;
o [[JohnSandbox]]&lt;br /&gt;
&lt;br /&gt;
==Experts Only==&lt;br /&gt;
&lt;br /&gt;
o [[Building the entire system]]&lt;br /&gt;
&lt;br /&gt;
o [[Linking Systems Together]]&lt;br /&gt;
&lt;br /&gt;
o [[Updating Firmware in Modules]]&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
* [[Network Accessible Power Control Units of DGS]]&lt;br /&gt;
* [[Attempts at Inventory]]&lt;br /&gt;
* [https://wiki.anl.gov/wiki_gsdaq/images/4/40/MyRIAD_User_Manaual.pdf MyRIAD_User_Manaual]&lt;br /&gt;
* [https://wiki.anl.gov/wiki_gsdaq/images/1/16/MyRIAD_Abridged_User_Notes.pdf MyRIAD_Abridged_User_Notes]&lt;br /&gt;
* [[CrateAndBoardMapping]]&lt;br /&gt;
&lt;br /&gt;
===Digitizer hardware features you probably don&#039;t know about===&lt;br /&gt;
&lt;br /&gt;
* The digitizer has a [[DAC output]].&lt;br /&gt;
* The digitizer has a buffer amplifier that drives a copy of the analog signal going into channel 9 to outputs on the front panel.  This is a simple analog buffer, no shaping, sampling or anything else.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==contact list==&lt;br /&gt;
&lt;br /&gt;
Mike Carpenter, mailto:carpenter@anl.gov&lt;br /&gt;
&lt;br /&gt;
John Anderson, mailto:jta@anl.gov&lt;br /&gt;
&lt;br /&gt;
Michael Oberling, mailto:moberling@anl.gov&lt;br /&gt;
&lt;br /&gt;
Torben Lauritsen, mailto:torben@anl.gov&lt;br /&gt;
&lt;br /&gt;
Darek Seweryniak, mailto:seweryniak@anl.gov&lt;br /&gt;
&lt;br /&gt;
Pat Copp, mailto:copp@anl.gov&lt;br /&gt;
&lt;br /&gt;
Amel Korichi, mailto:korichi@csnsm.in2p3.fr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Standard Footer}}&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1787</id>
		<title>Run procedures</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1787"/>
		<updated>2013-01-28T22:45:30Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==start DAQ==&lt;br /&gt;
&lt;br /&gt;
There are 3 controls associated with Run Control on the main page of either GUI&lt;br /&gt;
&lt;br /&gt;
* Start/Stop - this is self explanatory. Pushing to start begins taking data.&lt;br /&gt;
* NoSave/Save - If set to Save, IOC buffers fill with data. You must attach a receiver to each digitizer IOC or the system may crash horribly once the buffers fill up.&lt;br /&gt;
* Copy/Sort - In Sort mode, the data out of the IOC is time ordered according to the time stamp.&lt;br /&gt;
&lt;br /&gt;
Good instructions makes things easy, that is why we have none. &lt;br /&gt;
&lt;br /&gt;
==stop DAQ==&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==Changing gain in Phill&#039;s signal box== &lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==Linking two or more systems==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==syncing two systems==&lt;br /&gt;
&lt;br /&gt;
For DGS&lt;br /&gt;
&lt;br /&gt;
* Goto trig0 window.&lt;br /&gt;
* Turn off SYNC U - listed under LRU Control&lt;br /&gt;
* Make sure receive/send power is on for L &amp;amp; U&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If SYNC U is turned off - an Impeartive sync by DGS will reset the master clock on DFMA.&lt;br /&gt;
&lt;br /&gt;
For DFMA&lt;br /&gt;
&lt;br /&gt;
* Goto Trig0 Window&lt;br /&gt;
* Under Misc Control - turn on both undefined buttons&lt;br /&gt;
* Pull up diagnotsitc window on trig0.&lt;br /&gt;
* Set Clrk Source to LINK&lt;br /&gt;
* Set Nim1 and Nim2 out on master trigger module FMA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Clock Source cannot be set to LINK in GUI. Set address 0x8D0 in slot 0 to set 1 for trigger modules. This needs to be fixed in Driver by Tim.&lt;br /&gt;
&lt;br /&gt;
==receivers==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==cables==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==changing FPGA Firmware code==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1748</id>
		<title>Run procedures</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1748"/>
		<updated>2013-01-04T22:05:19Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: /* syncing two systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==start DAQ==&lt;br /&gt;
&lt;br /&gt;
this is how you start the daq,&lt;br /&gt;
&lt;br /&gt;
* first you do this&lt;br /&gt;
* then you do that&lt;br /&gt;
* and then it crashes&lt;br /&gt;
* and then you call Mike&lt;br /&gt;
&lt;br /&gt;
Good instructions makes things easy, that is why we have none. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==stop DAQ==&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==gtsort==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
==linking two or more systems==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==syncing two systems==&lt;br /&gt;
&lt;br /&gt;
For DGS&lt;br /&gt;
&lt;br /&gt;
* Goto trig0 window.&lt;br /&gt;
* Turn off SYNC U - listed under LRU Control&lt;br /&gt;
* Make sure receive/send power is on for L &amp;amp; U&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If SYNC U is turned off - an Impeartive sync by DGS will reset the master clock on DFMA.&lt;br /&gt;
&lt;br /&gt;
For DFMA&lt;br /&gt;
&lt;br /&gt;
* Goto Trig0 Window&lt;br /&gt;
* Under Misc Control - turn on both undefined buttons&lt;br /&gt;
* Pull up diagnotsitc window on trig0.&lt;br /&gt;
* Set Clrk Source to LINK&lt;br /&gt;
* Set Nim1 and Nim2 out on master trigger module FMA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Clock Source cannot be set to LINK in GUI. Set address 0x8D0 in slot 0 to set 1 for trigger modules. This needs to be fixed in Driver by Tim.&lt;br /&gt;
&lt;br /&gt;
==receivers==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==cables==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==changing FPGA code==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1747</id>
		<title>Run procedures</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1747"/>
		<updated>2013-01-04T22:04:30Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: /* syncing two systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==start DAQ==&lt;br /&gt;
&lt;br /&gt;
this is how you start the daq,&lt;br /&gt;
&lt;br /&gt;
* first you do this&lt;br /&gt;
* then you do that&lt;br /&gt;
* and then it crashes&lt;br /&gt;
* and then you call Mike&lt;br /&gt;
&lt;br /&gt;
Good instructions makes things easy, that is why we have none. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==stop DAQ==&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==gtsort==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
==linking two or more systems==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==syncing two systems==&lt;br /&gt;
&lt;br /&gt;
For DGS&lt;br /&gt;
&lt;br /&gt;
* Goto trig0 window.&lt;br /&gt;
* Turn off SYNC U - listed under LRU Control&lt;br /&gt;
* Make sure receive/send power is on for L &amp;amp; U&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If SYNC U is turned off - an Implicit sync by DGS will reset the master clock on DFMA.&lt;br /&gt;
&lt;br /&gt;
For DFMA&lt;br /&gt;
&lt;br /&gt;
* Goto Trig0 Window&lt;br /&gt;
* Under Misc Control - turn on both undefined buttons&lt;br /&gt;
* Pull up diagnotsitc window on trig0.&lt;br /&gt;
* Set Clrk Source to LINK&lt;br /&gt;
* Set Nim1 and Nim2 out on master trigger module FMA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Clock Source cannot be set to LINK in GUI. Set address 0x8D0 in slot 0 to set 1 for trigger modules. This needs to be fixed in Driver by Tim.&lt;br /&gt;
&lt;br /&gt;
==receivers==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==cables==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==changing FPGA code==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1746</id>
		<title>Run procedures</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1746"/>
		<updated>2013-01-04T22:03:56Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: /* syncing two systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==start DAQ==&lt;br /&gt;
&lt;br /&gt;
this is how you start the daq,&lt;br /&gt;
&lt;br /&gt;
* first you do this&lt;br /&gt;
* then you do that&lt;br /&gt;
* and then it crashes&lt;br /&gt;
* and then you call Mike&lt;br /&gt;
&lt;br /&gt;
Good instructions makes things easy, that is why we have none. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==stop DAQ==&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==gtsort==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
==linking two or more systems==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==syncing two systems==&lt;br /&gt;
&lt;br /&gt;
For DGS&lt;br /&gt;
&lt;br /&gt;
* Goto trig0 window.&lt;br /&gt;
* Turn off SYNC U - listed under LRU Control&lt;br /&gt;
* Make sure receive/send power is on for L &amp;amp; U&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If SYNC U is turned off - an Implicit sync by DGS will reset the master clock on DFMA.&lt;br /&gt;
&lt;br /&gt;
For DFMA&lt;br /&gt;
&lt;br /&gt;
* Goto Trig0 Window&lt;br /&gt;
* Under Misc Control - turn on both undefined buttons&lt;br /&gt;
* Pull up diagnotsitc window on trig0.&lt;br /&gt;
* Set Clrk Source to LINK&lt;br /&gt;
* Set Nim1 and Nim2 out on master trigger module FMA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Clock Source cannot be set to LINK in GUI. Set address 0x8D0 in slot 0 to set 1 for trigger modules. This needs to be fixed&lt;br /&gt;
&lt;br /&gt;
==receivers==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==cables==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==changing FPGA code==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1745</id>
		<title>Run procedures</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1745"/>
		<updated>2013-01-04T22:02:44Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: /* syncing two systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==start DAQ==&lt;br /&gt;
&lt;br /&gt;
this is how you start the daq,&lt;br /&gt;
&lt;br /&gt;
* first you do this&lt;br /&gt;
* then you do that&lt;br /&gt;
* and then it crashes&lt;br /&gt;
* and then you call Mike&lt;br /&gt;
&lt;br /&gt;
Good instructions makes things easy, that is why we have none. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==stop DAQ==&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==gtsort==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
==linking two or more systems==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==syncing two systems==&lt;br /&gt;
&lt;br /&gt;
For DGS&lt;br /&gt;
&lt;br /&gt;
* Goto trig0 window.&lt;br /&gt;
* Turn off SYNC U - listed under LRU Control&lt;br /&gt;
* Make sure receive/send power is on for L &amp;amp; U&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If SYNC U is turned off - an Implicit sync by DGS will reset the master clock on DFMA.&lt;br /&gt;
&lt;br /&gt;
For DFMA&lt;br /&gt;
&lt;br /&gt;
* Goto Trig0 Window&lt;br /&gt;
* Under Misc Control - turn on both undefined buttons&lt;br /&gt;
* Pull up diagnotsitc window on trig0.&lt;br /&gt;
* Set Clrk Source to LINK&lt;br /&gt;
* Set Nim1 and Nim2 out on master trigger module FMA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Clock Source does not set to link. Set address 0x8D0 in slot 0 to set 1 for trigger modules. This needs to be fixed&lt;br /&gt;
&lt;br /&gt;
==receivers==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==cables==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==changing FPGA code==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1744</id>
		<title>Run procedures</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Run_procedures&amp;diff=1744"/>
		<updated>2013-01-04T22:00:52Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: /* syncing two systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==start DAQ==&lt;br /&gt;
&lt;br /&gt;
this is how you start the daq,&lt;br /&gt;
&lt;br /&gt;
* first you do this&lt;br /&gt;
* then you do that&lt;br /&gt;
* and then it crashes&lt;br /&gt;
* and then you call Mike&lt;br /&gt;
&lt;br /&gt;
Good instructions makes things easy, that is why we have none. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==stop DAQ==&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==gtsort==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
==linking two or more systems==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==syncing two systems==&lt;br /&gt;
&lt;br /&gt;
For DGS&lt;br /&gt;
&lt;br /&gt;
    * Goto trig0 window.&lt;br /&gt;
    * Turn off SYNC U - listed under LRU Control&lt;br /&gt;
    * Make sure receive/send power is on for L &amp;amp; U&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If SYNC U is turned off - an Implicit sync by DGS will reset the master clock on DFMA.&lt;br /&gt;
&lt;br /&gt;
For DFMA&lt;br /&gt;
&lt;br /&gt;
    * Goto Trig0 Window&lt;br /&gt;
    * Under Misc Control - turn on both undefined buttons&lt;br /&gt;
    * Pull up diagnotsitc window on trig0.&lt;br /&gt;
    * Set Clrk Source to LINK&lt;br /&gt;
    * Set Nim1 and Nim2 out on master trigger module FMA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Clock Source does not set to link. Set address 0x8D0 in slot 0 to set 1 for trigger modules. This needs to be fixed&lt;br /&gt;
&lt;br /&gt;
==receivers==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==cables==&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;br /&gt;
&lt;br /&gt;
==changing FPGA code==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
write your instructions here&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
	<entry>
		<id>https://wiki.anl.gov/wiki_gsdaq/index.php?title=Main_Page&amp;diff=1743</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.anl.gov/wiki_gsdaq/index.php?title=Main_Page&amp;diff=1743"/>
		<updated>2013-01-04T21:56:42Z</updated>

		<summary type="html">&lt;p&gt;Mcarpenter: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
These are the wiki pages for the Digital Gammasphere Data Acquisition system (GS DAQ). Procedures for running the DAQ and the data format will be documented here.&lt;br /&gt;
&lt;br /&gt;
The GS DAQ serves the Gammasphere detector array (http://www.phy.anl.gov/gammasphere/), located at the ATLAS accelerator (http://www.phy.anl.gov/atlas), home of the CAlifornium Rare Isotope Breeder Upgrade (CARIBU http://www.phy.anl.gov/atlas/caribu/).&lt;br /&gt;
&lt;br /&gt;
Contact mailto:torben@anl.gov for comments on these wiki pages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o [[intro]]&lt;br /&gt;
&lt;br /&gt;
o [[computers and networks]]&lt;br /&gt;
&lt;br /&gt;
o [[run procedures]]&lt;br /&gt;
&lt;br /&gt;
o [[data formats]]&lt;br /&gt;
&lt;br /&gt;
o [[analysis codes]]&lt;br /&gt;
&lt;br /&gt;
o [[list of experimental runs/analysis]]&lt;br /&gt;
&lt;br /&gt;
o [[some problems and their solutions]]&lt;br /&gt;
&lt;br /&gt;
==contact list==&lt;br /&gt;
&lt;br /&gt;
Mike Carpenter, mailto:carpenter@anl.gov&lt;br /&gt;
&lt;br /&gt;
John Anderson, mailto:&lt;br /&gt;
&lt;br /&gt;
Tim Madden, mailto:&lt;br /&gt;
&lt;br /&gt;
Michael Oberling, mailto:&lt;br /&gt;
&lt;br /&gt;
Shaofei Zhu, mailto:&lt;br /&gt;
&lt;br /&gt;
Torben Lauritsen, mailto:torben@anl.gov&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Standard Footer}}&lt;/div&gt;</summary>
		<author><name>Mcarpenter</name></author>
	</entry>
</feed>