RSS Git Download  Clone
Raw Blame History
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>




	<meta http-equiv="content-type" content="text/html; charset=utf-8"><title>CERN TMS Release Notes</title>
	
	<meta name="generator" content="LibreOffice 5.2.7.2 (Linux)">
	<meta name="created" content="00:00:00">
	<meta name="changed" content="2017-12-11T12:18:15.547092270">
	<style type="text/css">
		h2.cjk { font-family: "WenQuanYi Micro Hei" }
		h2.ctl { font-family: "Lohit Devanagari" }
		h3.cjk { font-family: "WenQuanYi Micro Hei" }
		h3.ctl { font-family: "Lohit Devanagari" }
		h4.cjk { font-family: "WenQuanYi Micro Hei" }
		h4.ctl { font-family: "Lohit Devanagari" }
	</style></head><body dir="ltr" lang="en-GB">
<h1 align="center">CERN Trajectory Measurement System</h1>
<h2 class="western" align="center">Release Notes</h2>
<h3 class="western">Release 2.2.1 - 2021-01-14</h3>This only affects the tmsPuServer program in the tms-server package.<br>
<ol>
  <li>Fixed an issue where PUPE's where being configured from the last
rings state tables rather than the appropriate state table for the ring
the channel is on.</li>
</ol>
<h3 class="western">Release 2.2.0 - 2019-12-09</h3>
This release
provides a 64bit version of the TMS software to run in 64 client
systems. We have provided RPM format packages for Centos/RedHat 7 for
this.<br>
<br>
<h3 class="western">Release 2.1.0-2 - 2018-02-26</h3>

<ol>
  <li>The admxrc2.ko kernel module was not in the tms-mcsys RPM. This
has been added and the tms-mcsys-2.1.0-2.beam.i686.rpm RPM created.<br>
  </li>
</ol>
<h3 class="western">Release 2.1.0 – 2017-12-11</h3>

<p>This is a major update to the TMS system and software.</p>
<ol>
	<li>
<p>The underlying system for the TMS Server has been updated
	to the 64bit CentOS-7.</p>
	</li><li>
<p>The TMS cPCI controller module operating system has been
	updated to with with CentOS-7. This includes its own port of the
	Linux kernel for 32bit operation and updated busybox system and core
	application shared libraries from CentOS-7.</p>
	</li><li>
<p>The TMS software has be updated to use the latest Beam
	libraries and build, in 32bit mode, on the 64bit CentOS-7 system.</p>
	</li><li>
<p>The TMS configuration scripts have been updated for
	CentOS-7.</p>
	</li><li>
<p>The TMS software RPM packages have been split further into:
	tms, tms-server, tms-clients, tms-mcsys, tms-fpga and tms-doc. This
	allows the TMS client software to be easily installed on separate
	CentOS-7 systems.</p>
	</li><li>
<p>Binary TMS BOAP API compatibility with the old system has
	been retained, so CERN’s LynxOS clients should not need to be
	updated.</p>
	</li><li>
<p>The old 2.0.5 TMS release had a software issue so that
	separate state tables could not be used on a per ring basis. This
	has been fixed. The system now allows state tables to be defined for
	a particular ring and/or channel as well as generic state tables for
	any ring and/or channel.</p>
	</li><li>
<p>The document: TmsMaintenance has been updated to describe
	the installation process.</p>
</li></ol>
<h3 class="western">Release 2.0.6 - Psuedo release</h3>
<p>This is a pusdo release. It contains changes to the software made
by CERN.</p>
<ol>
	<li>
<p>Changes around in eventsToPeriods() to fix 2nd INJ JMB -
	2014-12-05 
	</p>
</li></ol>
<h3 class="western">Release 2.0.4 - 2014-12-03</h3>
<p>Minor fixes to Pupe code to handle events and periods.</p>
<h3 class="western">Release 2.0.3 - 2013-03-11</h3>
<p>Major update for new BoosterTMS system. The new software supports
the original PS TMS system with 1 ring and the Booster TMS system
with 4 rings.</p>
<h4 class="western">Updated Underlying System</h4>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The TMS Server's underlying
	Linux system has been updated to Centos 6.3. 
	</p>
	</li><li>
<p>The TMS modules mcsys system has been updated to be based
	on the same package versions as Centos 6.3. 
	</p>
</li></ol>
<h4 class="western">BoosterTMS modifications for multiple rings</h4>
<p>The Booster PS machine has 4 rings. The layout of the cabling for
this results in each TMS rack module (6 PUPE's) servicing the 4 rings
rather than having one TMS rack module per ring. The systems Software
and Firmware has been modified to support this topology. The changes
are:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The TMS server host system can
	now run multiple TmsServer processes, one per ring. The TmsServer
	process now has an additional "-c &lt;configFile&gt;"
	command line argument so that each TmsServer process has its own
	configuration file. The convention is to name these
	/etc/tmsServer1.conf, /etc/tmsServer2.conf etc. This configuration
	file provides information on the ring and the list of PUPE channels
	that are part of this ring.</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TmsServer configuration file
	now has a "ring" parameter to define the ring it operates
	on. This should be a value in the range 1-4. For a single ring
	system this should be set to 1. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TmsServer configuration file
	now has a "master" parameter. If this is set to 1 this
	server is deemed to be a master TmsServer process. A master
	TmsServer process distributes the State Table information to all of
	the TmsPuServer processes running in the TMS rack modules. It also
	sends the setNextCycle command to all of the TmsPuServer processes
	when this software signal is received. State tables should only be
	modified and updated on the master TmsServer.</p>
	</li><li>
<p style="margin-bottom: 0cm;">The BOAP object names used to
	access the TmsServer's API's now have the ring number appended to
	them This allows a client process to connect to the appropriate
	server for the ring in question.</p>
	</li><li>
<p style="margin-bottom: 0cm;">The state table files now have
	an additional "ring" parameter defining which ring the
	state table is for. This works in a similar manner to the channel
	number. If the ring parameter is 0 then the state table is deemed
	suitable for all rings. If this parameter is one of the values in
	the range 1-4, then the state table is deemed to be just for that
	ring. It is possible to have a state table for all rings (ring
	parameter set to 0) and then override this with another state table
	for a particular ring. To help support this the state table file
	naming convention has been changed to:
	&lt;CycleType&gt;_&lt;ring&gt;_&lt;channel&gt;.spt. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The state tables now have a
	"name" parameter so that state tables for different rings
	or channels can have a unique name. This is useful for debugging. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TmsControlGui now has a "-r
	&lt;ring&gt;" command line parameter so it can attach itself to
	the appropriate ring's server. The ring server's host and ring
	number are shown in the windows title. 
	</p>
	</li><li>
<p>The TmsControl program now has a "--ring &lt;ring&gt;"
	command line parameter so it can attach itself to the appropriate
	ring's server.</p>
</li></ol>
<h4 class="western"><b>Other Fixes</b></h4>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Added support for automatic
	shutting off of the PUPE FPGA's if the temperature is too high. The
	tmsPuServer.conf file defines two maximum temperature values:
	TempInternalMax and TempFpgaMax. Every 10 seconds the internal and
	FPGA temperatures of each PUPE is compared with these. If the
	temperatures are exceeded the system will shutdown the PUPE (clears
	the FPGA) and marks the PUPE with an error. This error: "Temperature
	Fpga to high: FPGA shutdown" will be returned on all requests.
	A complete TMS restart is needed to clear this condition. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Fixed problem where local 10MHz
	clock was not being used in simulation mode on PUPE's other than the
	master PUPE. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TmsServer's delControlInfo()
	API function no longer deletes the State files from disk. Thus when
	a TmsServer is re-initialised or restarted it will re-load any State
	tables that were deleted from the TMS server's internal cache. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Modified the FPGA state to
	period algorithm based on the new FPGA code. This now allows
	multiple injections, delay states and state loops. 
	</p>
	</li><li>
<p>Modified the TmsControlGui's Cycle Params editor to edit
	states rather than periods. This now works similarly to CERN's spt
	program.</p>
</li></ol>
<h4 class="western">State Table Changes</h4>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The State tables have the
	additional fields of "name" and "ring". 
	</p>
	</li><li>
<p>The content of the settings fields has been modified. This
	now contains the state num and state bit fields. Also the loHarmonic
	and loPhase have been renamed lo1Harmonic and lo1Phase. lo2Harmonic
	and lo2Phase have been added. The parameters useLoFref and
	acquireData have been removed. Note the state bitfield is for
	information only. The contents of the stateTable's state field will
	be used when loading state tables.</p>
</li></ol>
<p>State table editing software may need to be modified to support
these. 
</p>
<h4 class="western">Bugs</h4>
<ol>
	<li>
<p>When the PUPE channes's state machine enters the error
	state, this should be reported by interrupt. This is disabled in the
	current software due to issues in the FPGA firmware.</p>
</li></ol>
<h4 class="western">FPGA Firmware Changes</h4>
<p>The Tms-fpga package has been updated to version 1.3.0. The FPGA
firmware changes include:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Includes all of CERN's changes
	since version 1.2.4.</p>
	</li><li>
<p style="margin-bottom: 0cm;">The CycleInformation table now
	has the previous and next state numbers included. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The DELAY_EVENT now has a
	programable period in FREF units. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The DELAY_EVENT should now
	function correctly. 
	</p>
	</li><li>
<p>The CycleTiming table now has the final 1ms time included.</p>
</li></ol>
<h4 class="western">API Changes</h4>
<p>The TMS BOAP API has been updated to support the changes, but the
standard client access portion is unchanged except for the
requirement to add the ring number to the BOAP service name when
connecting. As the API has been updated a re-compile of the clients
is also required.</p>
<h3 class="western">Release 1.2.12 - 2012</h3>
<p>Some minor modifications by CERN.</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Modified Gui.cpp to have the
	window banner show on which machine the program is running. 
	</p>
	</li><li>
<p>Modified PupeDiagnosticsWin.h and PupeDiagnosticsWin.cpp to
	add&nbsp; controls for state-dependent triggers. This also requires
	some FPGA firmware changes. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.11 - 2011-11-03</h3>
<p>Minor changes release.</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">TmsControlGui: CERN: Added the
	host name to the window banner. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">TmsServer: CERN: Disabled
	deletion of *.spt files. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">TmsServer: CERN: Increased
	maximum number of orbits to 1500000. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">TmsPuServer: CERN: Increased
	maximum number of orbits to 1500000. 
	</p>
	</li><li>
<p>TmsPuServer: CERN:&nbsp; Removed the sign change and offset
	from frefPhaseDelay. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.10 - 2009-09-18</h3>
<p>Minor bug fix release.</p>
<ol>
	<li>
<p>Fixed an unsigned integer overflow in the TmsCycleParam.cc
	code when reading state files. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.9 - 2008-12-18</h3>
<p>Minor bug fix release.</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Added better argument checking
	on getData() calls. 
	</p>
	</li><li>
<p>Fixed a small bug in the InfoTable read. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.8 - 2008-09-08</h3>
<p>Minor bug fix release.</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Modified the software to support
	the case where the CycleInfoTable entry for the CYCLE_START event is
	not for 0ms after CYCLE_START. The software now searches for a
	timing table entry with a time of 1ms which will always be present.
	It uses this the timing table address before this one in its timing
	calculations. 
	</p>
	</li><li>
<p>As the system may not have a valid timing table entry for
	0, it also will not have entries in the data averaging tables for
	0ms after CYCLE_START. The system now returns an error if the user
	requests averaged data starting from a time offset of 0 from
	CYCLE_START. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.7 - 2008-05-01</h3>
<p>Minor bug fix release.</p>
<ol>
	<li>
<p>Fixed a bug where the Diagnostics Capture system was
	returning the data on the trigger event rather than after the data
	had been captured. This resulted in incorect data if the sample
	clock was set to a low value. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.6 - 2008-04-10</h3>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Added ability to delete
	State/Phase table control information in the tmsControlGui program. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Fixed bug where the StartTime
	was not working in diagnostics capture. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Fixed a bug where it was not
	possible to change the CycleType when setNextCycle simulation mode
	was enabled. 
	</p>
	</li><li>
<p>Note the API has been updated to version 8 with this
	release and so all client programs will need recompiling with the
	latest TMS API library. 
	</p>
</li></ol>
<p>The Tms-fpga-1.2.4 package has been updated. The FPGA firmware
changes include:</p>
<ol>
	<li>
<p>Now disables the Ethernet PHY's to reduce ADC 25MHz noise. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.5 - 2008-01-22</h3>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Added a new error message
	"NumValues to small for request" when the
	DataInfo.numValues parameter has been set to small for the request. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Changed default internal
	communications timeout to 10 seconds so that the CaptureDiagnostics
	can take up to 8 seconds to respond. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Fixed a BOAP error where the
	wrong error message was occassionaly rreturned in the case of a
	timeout. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">We have implemented a Watchdog
	reset timer on the Module Controllers. There is a "Watchdog"
	parameter in tmsPuServer.conf that sets the Watchdog timeout in
	seconds. 0 means turn off the Watchdog timer. If the tmsPuServer
	process is killed with CTRL-C (SIG_INT) then the Watchdog timer is
	stopped, otherwise it continues and will reset the module
	controller. There is also a program tmsWatchdog that will operate
	the Watchdog.This is useful if programs other than tmsPuServer are
	run. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Fixed a bug where the PUPE FPGA
	was not always initialised correctly. This could result in Test
	SDRAM write errors and also hard lockups of the Module Controller. 
	</p>
	</li><li>
<p>Modified the TmsPuServer to wait for a cycles data&nbsp;rather
	than returning an error if the data has not yet arrived. This is to
	stop error returns when using simulated timing where the timing
	between modules can be slightly adrift. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.4 - 2007-12-12</h3>
<ol>
	<li>
<p>Fixed a bug where reading the mean values from very near
	the end of the cycle period would result in a DMA error message
	being returned. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.3 - 2007-12-10</h3>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Modified the data fetch system
	to fetch data from the start of the next FREF period just after the
	CAL_START, INJECTION and HCHANGE events. Previously the system would
	return data from the next millisecond period. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TmsPuServer program would
	occassionly crash when a getStatus call was made during a
	setNextCycle call. This has been fixed. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The internal communications
	timeout as been lowered to 2 seconds. External timouts can be set by
	using the setTimeout() call on the BOAP client communications
	objects (TmsProcess and TmsControl). 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The&nbsp;getData() call now sets
	returned parameters to 0 in the event of an error being returned. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Added the ability to set the TMS
	system into simulation mode using a single API call, setSimulation
	and added a getSimulation call to get the simulation status. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Changed the name&nbsp;of the
	limitData parameter in the DataInfo class to beyondData. The
	operation has been changed so that setting this parameter to 0, the
	default, limits the data to the period required. 
	</p>
	</li><li>
<p>Changed the name of the captureTestData() function to
	captureDiagnostics(). 
	</p>
</li></ol>
<p>The Tms-fpga&nbsp;package has been updated to 1.2.3. The FPGA
firmware changes include:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The FPGA now stores the
	DataTable pointer in the Cycle Information table. 
	</p>
	</li><li>
<p>The CAL_START event is delayed until the next FREF period
	as per the INJECTION and HCHANGE events. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.2 - 2007-11-26</h3>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Added support for second System
	Controller on live system. 
	</p>
	</li><li>
<p>Fixed Cycle Parameter generation system to support multiple
	injection events. 
	</p>
</li></ol>
<p>The Tms-fpga 1.2.1 package has been updated. The FPGA firmware
changes include:</p>
<ol>
	<li>
<p>The FPGA now loads the PLL_FREQUENCY on CYCLE_START as well
	as after the PLL_FREQDELAY.</p>
</li></ol>
<h3 class="western">Release 1.2.1 - 2007-11-14</h3>
<ol>
	<li>
<p>Adds the ability to view the raw State/Phase table's
	generated in the TmsControlGui program. 
	</p>
</li></ol>
<h3 class="western">Release 1.2.0 - 2007-11-08</h3>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Added tmsBackup utility 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Fixed a few bugs in the state
	table generation system. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Changed the phase orientation in
	the phase tables so that a +ve phase value generates a lag in the
	waveform. 
	</p>
	</li><li>
<p>Increased the bit width diagnostics Post Trigger delay
	parameter to 32bits. 
	</p>
</li></ol>
<p>The FPGA firmware changes include:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Increased the bit width
	diagnostics Post Trigger delay parameter to 32bits. 
	</p>
	</li><li>
<p>Fixed a bug where SDRAM data writes could get currupted
	when a large amount of data was being read from the system. 
	</p>
</li></ol>
<h3 class="western">Release 1.1.0 - Preliminary</h3>
<p>This is a new release with improvements following the full system
installation.</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The Cycle Parameter information
	has been updated with the additional pllCycleStartFrequency field.
	This defines the PLL's frequency which is loaded on CYCLE_START.
	This setting is entended to set the initial PLL frequency for a
	calibration period. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The Cycle Parameter information
	has been updated with the bunchMask field. This bitmap defines in
	which RF bucket's the bunches to be captured lie. bit 0 of this bit
	mask defines bucket 1 etc. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The orientation of the
	bunchMask, Mean0Mask and Mean1Mask have been reversed so that bucket
	1 is bit 0. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The system can now handle
	multiple injection events. The cycle periods are now named
	CyclePeriodEvent* rather than CyclePeriodHarmonic to reflect this. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The system now has an improved
	BunchMean system. This calculates the mean of up to 24 individual
	bunches during data capture as well as the overal mean for all
	bunches. The additional DataInfo function setting of
	DataFunctionMean returns data from this system. The top 2MBytes of
	each channels SDRAM is used for the data storage of the mean values.
		</p>
	</li><li>
<p style="margin-bottom: 0cm;">The BunchMean system now
	calculates the time for each sample and returns a standard DataValue
	object with a time field instread of a DataValueMean object that had
	a numSamples field. 
	</p>
	</li><li>
<p>The TmsControlGui application has been modified to handle
	the above changes. 
	</p>
</li></ol>
<h3 class="western">Release 1.0.0 - 2007-10-09</h3>
<p>This is the first release of the TMS system to support a complete,
fully populated, system. There has been a number of enhancements and
bug fixes. The main changes are listed below:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Improvements have been made to
	the BEAM BOAP library to reduce the likelyhood of denial of service
	attacks. The BEAM BOAP library is used by the TmsLib API code. THE
	BOAP packets now contain a magic number and the packet length is
	checked. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The BunchMean function now
	performs the averaging function on the data received from the FPGA
	and scales the results as necessary. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TmsServer's getData call now
	supports a channel number of 0 to return data from all of the
	channels. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The return Data structure now
	returns an error for each of the channels for which data is
	returned. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">A number of improvements have
	been made to the simulated timing system to support multiple
	modules. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Added the new
	getCycleInformation API function to get information on a processing
	cycle. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Added DataValueMean return data
	type. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Added PUPE Physical slot
	location system. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Improved error messages with
	module and PUPE numbers. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Improved FPGA load speed. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Improved system test function to
	return status even when Ok. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Improved the tmsStateGen program
		</p>
	</li><li>
<p style="margin-bottom: 0cm;">A number of improvements to the
	tmsControlGui program including the ability to view the Sigma,
	DeltaX and DeltaY inputs in detail and with an FFT power spectrum. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Added the tmsTestData program to
	set simulation mode and test fetching data from all channels. 
	</p>
	</li><li>
<p>Various minor bugs have been fixed.</p>
</li></ol>
<p>The FPGA firmware changes include:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">A bug that caused memory reads
	from the SDRAM to fail occassionaly has been fixed. 
	</p>
	</li><li>
<p>The Bunch Mean system now integrates the samples over each
	millisecond period and scales the result using a factor dependent on
	the number of samples integrated. The number of samples integrated
	is output in the data samples. 
	</p>
</li></ol>
<h3 class="western">Release 0.3.11 - Preliminary</h3>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The TmsLib code has been
	modified by D.Korchagin of CERN to support the PPC based LynxOS
	system. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TMS system now supports
	physical slot addressing for the PUPE boards allowing individual
	boards to be taken out of service while keeping the overal
	configuration unchanged. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The PUPE boards now support the
	ability to use the free running VXCO or have the VXCO locked to the
	10MHz SYSCLOCK input. The system will report in its status report if
	the VXCO is locked to the reference and also report how many times
	the lock has been lost. The lock status is checked once per second. 
	</p>
	</li><li>
<p>Various minor bugs have been fixed. 
	</p>
</li></ol>
<p>The FPGA firmware changes include:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">A bug that caused memory writes
	to the SDRAM to fail occassionaly has been fixed. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The usage of the digital timing
	master bus sockets on the PUPE board have been re-arranged. This
	requires the connections to the digital timing&nbsp;front-panel to
	be re-orientated as shown in the latest TmsHardware manual. 
	</p>
	</li><li>
<p>The FPGA firmware now supports all 3 PUPE channels. 
	</p>
</li></ol>
<h3 class="western">Release 0.3.9 - Preliminary</h3>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The system now will limit the
	number of samples of data returned such that all of the data is from
	within the specified period. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The Test functionalility has
	been improved. 
	</p>
	</li><li>
<p>A bug where the orbit offset used in getData calls has been
	fixed. 
	</p>
</li></ol>
<h3 class="western">Release 0.3.8 - 2007-08-01</h3>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The diagnostics source array is
	now 4096 samples instread of 1024 samples. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TmsServer.conf file now has
	the "AdcSysclkSync" parameter to globally enable the
	synchronisation of the ADC clock to the 10MHz SYSCLK. Note that the
	pre-series PUPE boards do not support this feature. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Some improvemnets have been made
	to the BOAP API high level to better separate the control and user
	access functions into the seperate TmsControl and TmsProcess
	objects. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Task priorities have been added
	to improve the setNextCycle() performance. This includes&nbsp;BOAP
	API functions that can be used to raise the priority of network
	interface and the thread implementing this call. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The lower level BOAP API system
	has been improved to increase data transfer performance. 
	</p>
	</li><li>
<p>Fixed HCHANGE operation. 
	</p>
</li></ol>
<p>The FPGA firmware changes include:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The diagnostics source array is
	now 4096 samples instread of 1024 samples. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Added an EVENT_DELAYED state to
	the state table system to allow a delayed state transition. 
	</p>
	</li><li>
<p>Removed HCHANGE event delay. 
	</p>
</li></ol>
<h3 class="western">Release 0.3.6 - 2007-06-26</h3>
<ol>
	<li>
<p style="margin-bottom: 0cm;">This release adds the ability to
	edit the CycleParams data in the tmsControlGui application. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TMS API has been updated to
	better support the editing of the CycleParams data at a high level. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The TmsStateGen program's
	State/Phase table generation code has been re-written and simplified
	to be in-line with the tmsControlGui's CycleParam editing abilities.
	The&nbsp;State/Phase table generation code is in the TMS library so
	that it can be shared between the tmsStateGen and&nbsp;tmsControlGui
	programs. 
	</p>
	</li><li>
<p>Some changes to the diagnostics output in source 3 were
	made. The Sigma timing source display is now taken from after the
	BLR algorithm. This allows the timing between the Gate and incoming
	Sigma data to be more accurately determined. 
	</p>
</li></ol>
<p>The FPGA firmware changes include:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">The FPGA firmware is now
	compiled using the Xilinx XST tool. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">The FPGA firmware supports the
	ability to disable the BLR algorithm. 
	</p>
	</li><li>
<p>Some changes to the diagnostics output in source 3 were
	made. 
	</p>
</li></ol>
<p>There may be a problem in the individual bunch selection login in
this release. 
</p>
<h3 class="western">Release 0.3.5 - 2007-06-19</h3>
<p>This release fixes a number of issues with the first release.<br>
The
software changes include:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Modified TMS API to allow
	reading the Cycle Parameter iinformation from the server. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Modified TMS sources to support
	Redhat 7.3 and PPC based Linux systems. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">A couple of bug fixes to the
	tmsServer process and tmsPuServer processes that would result in
	lock-ups when the init() call was used in some cases. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Major improvements to the
	tmsControlGui application. 
	</p>
	</li><li>
<p>Added tmsRestart and improved some of the utility
	applications to support the manual installation of software/firmware
	packages. 
	</p>
</li></ol>
<p>The FPGA firmware fixes include:</p>
<ol>
	<li>
<p style="margin-bottom: 0cm;">Fixed ADC sample timing to
	correct data glitch errors. 
	</p>
	</li><li>
<p style="margin-bottom: 0cm;">Fixed itermittant register write
	problem causing diagnostics capture to fail sometimes and the
	setting to the PLL phase offset to be incorrect sometimes. 
	</p>
	</li><li>
<p>The internal SDRAM test data source system has been fixed. 
	</p>
</li></ol>
<h3 class="western">Release 0.3.1 - 2007-06-11</h3>
<p>This is the first external release of the TMS software to CERN as
part of the pre-series system. 
</p>
</body></html>