Release Notes for P03-01-00 (last updated 04/21/2004):
The latest revision of this document is located
here. The previous version of the release notes are located
here.
These procedures cover a Windows installation. If you wish to install LATTE under Unix/Linux, refer to the separate procedure.
Installing Truegrid Pro NFS Server for Windows NT/2000/XP
- Download and extract the software from the I&T Online FTP site at: ftp://ftp.slac.stanford.edu/groups/glast/Online/nfs.zip to the target PC's C: drive, or copy the c:\NFS1.1 directory from another PC to the target PC.
- Open up a Command Prompt.
- Type "C:" and press Enter.
- Type "cd \NFS1.1" and press Enter.
- Type "mkdir %WINDIR%\ETC" and press Enter.
- Type "copy EXPORTS %WINDIR%\ETC\EXPORTS" and press Enter.
- Type "copy RPC %WINDIR%\ETC\RPC" and press Enter.
- Type "notepad %WINDIR%\ETC\EXPORTS" and press Enter. If the last two lines of the EXPORTS file say:
/c -path=c:\
/d -path=d:\
Remove the two lines and replace them with:
/VxWorks -path=c:\VxWorks\
Make sure there are no empty lines after the above entry.
- Save the file and exit Notepad.
- Type "portmap add" and press Enter.
- Type "nfs add" and press Enter.
- Type "nfs start" and press Enter.
- When using LATTE with a VxWorks crate, the following should also be done:
The LATTE RunControl component by default assumes the default VxWorks host name is "gitot" and expects an entry in the hosts file of the PC. The "hosts" file is located in %WINDIR%\system32\drivers\etc directory. Edit this file and add a line that says:
xxx.xxx.xxx.xxx gitot
Where xxx.xxx.xxx.xxx is the IP address of the SBC on the VxWorks crate.
Installing Python and LATTE
- LATTE installation requires administrative priviledges. Please make sure
you are logged in with administrative priviledges.
- Make sure Python 2.3 or later is installed. If not, download it from:
http://www.python.org
- After the Python installation add the Python 2.3 installation directory to
your PATH.
- Download and install Win32 Extensions for Python here:
http://starship.python.net/crew/mhammond/win32/Downloads.html
- Download LATTE_P03-00-00_py2.3.exe from http://www-glast.slac.stanford.edu/IntegrationTest/ONLINE/EM1/updates/default.htm. Start the installer and follow the onscreen instructions.
For teststand machines:
- Make sure VxWorks network parameters are set properly. If not, enter
"bootChange" and enter the correct values.
- On VxWorks, enter "< startup-dab.vx" for GASU, "< startup-vaem.vx" for AEM
G2, "< startup-gtem.vx" for a COMM card based system with CAL and/or TKR
hardware or "< startup-ltem.vx" for an LCB based system with CAL and/or TKR
hardware.
- Open up a Command Prompt and change the directory to "%ONLINE_ROOT%\testsuite".
- Type "python -i test_evt_aem.py" for GASU, "python -i test_evt_aem_g2.py"
for AEM G2, "python -i test_evt_cal.py" for CAL or "python -i test_evt_tkr.py" for TKR and press Enter. At the ">>>" prompt, type "test()" and press Enter. You should see the event data
or a running counter being displayed.
In order to run the "versions" utility, at the command prompt change the directory to "%ONLINE_ROOT%" and type "versions.bat". This should output version info for all modules (VxWorks and python) loaded,
and all hardware connected.
To begin writing LATTE scripts, refer to the test scripts in the
%ONLINE_ROOT%\RunControl\applications directory for orientation.
- As usual, prior to installation the old LATTE directories should be renamed
to Online_Pxx-xx-xx and VxWorks_Pxx-xx-xx, where xx-xx-xx is the previous
release number. This allows the user to go back to an earlier release if there
is a problem with the latest one.
- After installation, runControl.cfg file needs to be carried over to the new
installation. If you have created a runControl.cfg in the RunControl
directory, this needs to be copied to the new Online\RunControl directory. If
runControl.cfg exists in another directory and you are using the
"runcontrolmain -c" option to specify a configuration file location, then
there is no need to move the file.
- Beginning with the 1.7 release there is a change regarding the
user list in the configuration file. If you look at the runControl.cfg.sample
file in RunControl directory, you'll see that under the [users] section, the
id is now before the equal sig; this change was required to support full
names with spaces in them. Please modify configuration files
accordingly.
- Also the RunControl\runId.cfg file from earlier releases needs to be copied
over to the new installation directory. The machine ids needs to be updated to
ensure uniqueness. runId.cfg.sample file contains comments indicating machine
id assignments for each subsystem. This scheme allows for 100 teststands per
subsystem and 999999 runs per teststand. If RunControl fails to access the
runId.cfg after loading the application script, it will throw an exception. In
addition, if you created a brand new runId.cfg by copying from runId.cfg.sample
and fail to change the machine id from its current value of 0, RunControl will
throw an exception as well.
- If you create additional batch files to provide a customized
runControl.cfg to RunControl, please do not create it under the LATTE
installation directory. Instead use your subsystem root directory (ie.
ACD_ROOT, CAL_ROOT, etc.). This way, when you install a new LATTE release, you
won't have to carry over your batch files to the new directory.
Other installation related changes:
- If you install LATTE for the first time, the default installation directory
now points to C:\LAT\Online instead of C:\Online.
- The default output directory specified in runControl.cfg.sample has been
changed from C:/Temp to C:/LAT/Data. The installer creates this directory if
it doesn't exist.
- Added a Windows Start menu item to standalone Electronic Logbook.
- Added a Windows Start menu items for the LDF documentation.
- If you have any of the following environment variables defined:
ACD_ROOT, CAL_ROOT, ELX_ROOT, INT_ROOT, TKR_ROOT
you may get an error stating that the digestData file does not exist. This is
due to the fact that RunControl now validates subsystem scripts as well as
core LATTE scripts. When the subsystem installation packages are ready this
won't be a problem; however, until then you need to do the following after your
LATTE installation completes:
- Open up a Command Prompt.
- Type "cd %ONLINE_ROOT%\setup".
- Type "createDigestData %XXX_ROOT% c:\Python23 XXX_01-00-00" where XXX is
your subsystem prefix. The third parameter is not important right
now but it should have your subsystem release tag in the future.
- If you get an error such as "bad marshal data" you may have the digestData
but it may have been created with an old Python release. In that case,
follow the instructions above again to recreate the file.
- If you get an error similar to the following:
ERROR:root:ImportError: Bad magic number in
c:\LAT\CAL\Scripts\calu_init.pyo
that means your byte codes were generated with a different Python version. To
fix this just delete all *.pyo and *.pyc files from your script directories.
- If you get an error saying:
'python' is not recognized as an internal or
external command, operable program or batch file.
then your python installation directory may not be in your search path. Edit
your PATH environment variable and add C:\Python23 to it.
- If you install LATTE over an existing installation you may end up with
some obsolete files which may cause conflicts with the current release. Please
delete all files in the %ONLINE_ROOT%\DLLs directory other than the
ones listed below:
hippo.dll
HippoDraw.exe
pyqtconfig.*
pyuic.exe
qscintilla.dll
qt*.pyd
qthippo.dll
qt-mt331.dll
sihippo.pyd
sip.exe
sip.pyd
sipconfig.*
plugins/sqldrivers/*.*
Flight Software Release:
Qt and PyQt Related:
- This release requires and uses Qt 3.3.1 and PyQt 3.11. All the required
libraries can be found in the DLLs directory.
- pyuic.exe is also provided in the same directory and should be used to
generate python code from the .ui files. The best way of doing this is to run
setupRunControl.bat from the RunControl directory before running pyuic. This
way an older version of pyuic won't be used by mistake. Also, please make sure
you own a valid PyQt license if you are going to use pyuic.
- If sub-systems are doing any GUI development using the Qt Designer, it is
recommended that they
download and compile Qt 3.3.x on their systems.
Hippodraw:
- Hippodraw 1.7.1 is included with this release.
RunControl:
- arch2fits.py and fits2arch.py utility applications have been renamed to
ldf2fits.py and fits2ldf.py respectively. Both utilities have now an
additional command line option -r or --runreport which allows the user to
specify a run report file (ie. rcReport.out). In the case of ldf2fits the file
is an input file (usually named rcReport.out) generated by RunControl.The run
report fields are read from this file and added to the FITS file. For
fits2ldf, this file is an output file that gets generated based on the input
FITS file.
- Fixed a problem in the handler for "Front End Power Up" where power down
before power up was not executed for every TEM.
- Added a TEM reset after power up.
- Standalone mode of running RunControl applications is now available again
(see testAppCal.py for an example of usage).
FITS File Format:
- The FITS file has now an additional field called TimeStamp that contains
the time when the test was initiated. Its value matches the FITS file name and
can be different than the StartTime field.
Event Client & Server:
- CAL_LogData now contains a list of evCAL_LayerLogData to allow for
querying the layer id.
- Implemented setDebug method for on the fly setting of the debug masks.
- Based on the FSW changes GEM event contribution has now an id of 0x10 (16
decimal) and the ACD event contribution has an id of 0x11 (17 decimal).
- Respond (More) bit support. New EBF contribution ID table ==> bump EBF
identity version. Bug check on unrecognized send() failures. Disable event
delivery on bug checks. Enable event delivery at startup.
- Contribution string identifiers 'GLT' and 'ACD' have been renamed to 'OSW'
and 'AEM' respectively.
LDF:
Electronic Log Book (standalone version):
- First version of the standalone Electronic Log Book is available with this
installation. You will need MySQL to be able to run it.
- MySQL installation instructions:
- Download and install MySQL 4.0.17 (this specific version is required)
from the "Downloads" page of the Online web site.
- Add c:\mysql\bin to your PATH.
- Open up a Command Prompt and enter the following:
mysqld --install
net start mysql
mysql -e "drop database elogbook" (ignore the error)
mysql -e "create database elogbook"
mysql elogbook < %ONLINE_ROOT%\ELogbook\MySQLelogbook\elogbook.sql
- Start ELogbook from the Windows Start menu programs, GLAST I&T
Online->Electronic Logbook (standalone).
- At the connect dialog make sure the driver is pointing to "QMYSQL3", then click the "OK" button.
- Use the "Edit/Add User" button to add the shift takers that you plan to
have, when finished select the shift type and the date and click the
"Edit/Add Shift" button.
Testsuite and RunControl Sample Applications:
Schema and Configuration:
- It is now possible to add user defined "opaque" data to the schema. The
syntax is as follows:
<opaque
name="xxx">
where xxx is an arbitrary name selected by the sub-system. When the system
encounters this tag, it stores everything in its hieararchy as an XML DOM
object keyed by the name. Then the user script can access this DOM (document
object model) object with the following method:
domList =
self.lat.getOpaque("xxx")
where the parameter matches the name attribute of the <opaque> tag. The
reason it returns a list is that the same name can be specified more than once
in the schema, so the method returns all DOMs that match the name criteria.
It is recommended that this name starts with the three letter identifier for
the sub-system in order to avoid naming conflicts.
It is the user's responsibility to parse this DOM with the available tools.
LATTE comes with pyXML. Refer to this link for further information:
http://pyxml.sourceforge.net/.
An example of how <opaque> XML data blocks can be incorporated into the schema
is the simpleTKRSchemaOpaque.xml file in the %ONLINE_ROOT%\repos directory. In
this example it is embedded inside the schema but it could have been easily
included using the <include> tag.
- Added MAP_TEM_TO_TOWER mapping to gSchemaConfig.
- Fixed the ordering of CCs in MAP_LAYER_TO_CABLE to specify the lo and hi
CC.
- Added additional GLT registers to the snapshot.
- In applyConfig, added checks for TEM.DATA_MASKS and CCC.LAYER_MASK_x to
make sure they are set
to proper values for sweep event data taking. In order to make sure the schema
read doesn't put the system in an "invalid" state for proper data taking the
following logic is used in applying the configuration of a schema:
Ignore any TEM.CMD_RESET coming from the configuration
If DATA_MASKS is not specified:
Read the current DATA_MASKS value from the hardware
If the CAL CC bits are not enabled, enable it and write it back
Else if a DATA_MASKS value is specified:
If the value has the CAL CC bits enabled:
Write the value read from the configuration
Else:
Value read &= ~0xF00 (enable all CALL CC inputs)
Write the resulting value to the hardware
If downCCC(i).LAYER_MASK_x is specified:
Write the value to the hardware
Else if they are not specified:
Set the allCCC().LAYER_MASK_x to 0xFFFFFFFF in the hardware
If any of the above overrides are executed, a DEBUG log is added to the message log with the appropriate message.
Trigger Interface:
(Retrieved by running versions.bat while in %ONLINE_ROOT% directory)
The modules ending with _FW denote COMM card firmware and the modules ending
with _HW denote COMM card hardware revisions.
Module |
Version |
Comm Card |
LCB |
DEM/gaem |
1.0.3.1 |
1.0.3.2 |
DEM/gtem |
1.0.3.0 |
1.0.3.6 |
GAEM_FW |
3.1 |
N/A |
GAEM_HW |
1.1 |
N/A |
GGLT |
1.4.11.0 |
1.4.11.0 |
GGLT_FW |
AEM: 3.1
TEM: 2.2 |
N/A |
GGLT_HW |
1.1 |
N/A |
GNAT |
1.0.21.0 |
1.0.21.0 |
GTEM_FW |
2.2 |
N/A |
GTEM_HW |
1.1 |
N/A |
LDF |
5.0.0 |
5.0.0 |
PyQt |
3.11 |
3.11 |
Python |
0x20303f0 |
0x20303f0 |
Qt |
3.3.1 |
3.3.1 |
XBRD |
0.0.3.0 |
0.0.3.0 |
XBRD_FW |
1.2 |
1.2 |
XBRD_HW |
1.1 |
1.1 |
cfitsio |
2.470 |
2.470 |
cmdCli |
1.56 |
1.56 |
cmdSvr |
1.16 |
1.16 |
evtCli |
1.79 |
1.79 |
evtSvr |
1.9 |
1.9 |
gAttr |
1.26 |
1.26 |
gConstraint |
1.7 |
1.7 |
gEGU |
1.7 |
1.7 |
gGroup |
1.3 |
1.3 |
gLAT |
1.71 |
1.71 |
gNode |
1.37 |
1.37 |
gRule |
1.7 |
1.7 |
gSchemaConfig |
1.48 |
1.48 |
gutil |
1.25 |
1.25 |
logging |
0.4.8.1 |
0.4.8.1 |
sihippo |
1.7.1 |
1.7.1 |
versions |
1.34 |
1.34 |
xml |
0.8.3 |
0.8.3 |
Component |
Version |
|
TEM |
|
GCRC |
|
GTRC |
|
AEM |
|
GARC |
|
GAFE |
|
Please contact Selim Tuvi, Ric Claus or Jim
Panetta if you have problems or any questions (Contacts
Page)
Back