Release Notes for P03-04-00 (last updated 07/15/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_Pxx-xx-xx_py2.3.exe from
http://www-glast.slac.stanford.edu/IntegrationTest/ONLINE/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 for this release:
- Added icons for Elogbook Installation and Tutorial documents to the Start
menu
- Installation now cleans up the GLAST I&T Online\LATTE program group before
starting the install.
- This release contains the following updated Python packages:
- logging 0.4.9.2
- Pyana 0.9.1
- 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.9.6 is included with this release.
Functional blocks and registers:
- Added the following pseudo registers for AEM environmental quantities:
ENV_VDD_XXX
ENV_TEMP_XXX
ENV_HV1_XXX
ENV_HV2_XXX
ENV_DAC_DIGITAL_3_3I
ENV_DAC_TEMP
ENV_DAC_HV_I
ENV_DAC_V
- Fixed LAYER_CC_PAIRS map for getNoisyChannels and getDeadChannels.
- In gEGU compensate for some pseudo quantities (like PSD_TEM_0) where the
rawValue may be received as a large positive value although it is negative.
- Handled signalled errors where the MSB is set. Added TEM related error
codes.
Environmental Monitoring Display:
- Fixed the bad handle error when running with a G2 or GASU setup.
- Updated for ACD free board environmental quantities.
RunControl:
- Changes made to preferences from scripts will not be reflected on the
runcontrol.cfg file unless they are set using the common.setPref method. If
runcontrol.cfg is readonly then the changes will be applied in memory but
not saved to a file.
- Added a path preference for runId.cfg. This way the whole LATTE
installation tree can be made read only and runId.cfg can exist in a
directory where the operator can write to it.
- Now hiding the warning message that says power should only be turned on
once.
- A security framework for RunControl has been implemented in this
release. See
LATTE Security Architecture for more information.
- Added a default preferences file which is read in before user's
config.User config now appends to lists or overwrites existing atom
preferences. Default file is $ONLINE_ROOT/RunControl/runControlDef.cfg.
- Allowed the scripts to set their own completion status codes. Added a
warning if the script does not set the completion status. Status
panel now displays the completion status as a string. See LATTE API
documentation for setCompletionStatus for more information.
- If security is enabled, exiting RunControl is not allowed except for the
administrator.
- If elogbook integration is enabled the missing fields are now saved to
the AdditionFields column using the same syntax that Xin is using. Produce a
debug log for each missing field in the database.
- Test report class now uses xml.dom.minidom to improve performance on CAL
reports.
Command Client & Server:
- Command Client can now access LCB CSR register through the
setLCBCSR() and getLCBCSR() calls.
Event Client & Server:
- Bumped event LATtypeId version number to 0x104F0010 for second and higher
generation GASUs.
- Including tower info in CAL LogData now.
- Event Client and Server now
support various callbacks, which can be selected from
userApplication.setup().
- Callbacks are selectable
through the setEventMode(mode) method of EvtCli. Valid modes are:
- EvtCli.SEND_EVENTS: Send all events.
- EvtCli.DONOT_SEND_EVENTS: Send no events.
- EvtCli.SEND_ONLY_ERROR_EVENTS Send only error events.
- EvtCli.ACD_SW_SCALERS: ACD software scaler hook. (Takes a parameter)
- EvtCli.PRESCALE_EVENTS: Prescale events by some factor (parameter)
- EvtCli.FILTER_EVENTS: Apply the
FSW event filter.(unimplemeted hook…)
- Callbacks which take a
parameter (e.g. PRESCALE_EVENTS) can have that parameter changed with the setUserParm(parm)
method.
- Parse the summary word for each contribution instead of only for the first
one.
- dumpContributionData() now dumps the summary as well.
- Implemented getErrorBit function in evtSvr.c which goes through the
summaries of all contributions and returns 1 if at least one has an error.
- Implemented evtCli.isErrorEvent method to see if at least one contribution
has an error.
- Due to an issue with sending large events, the TCP socket access protocol
has been changed to BLOCKING.
Testsuite and RunControl Sample Applications:
- Added test_regress_schema test script for checking if the schema
populates the object instances correctly.
- Added testAppAcdScalers test script to show example of accessing the ACD
software scalers.
Schema and Configuration:
- <opaque> data can now be included or specified under a node. If specified
under a node then that opaque data will be associated with that node.
- Added simpleTKRSchemaOpaque.xml and TKRTowerInfo.xml as an example of
associating <opaque> data with a node.
- Added regressTestSchema.xml test schema for checking if the object
instances are being created correctly.
- readSchema and applyConfig now recognizes and ignores if there are
repeating nodes in the hierarchy. This feature was added to support include
file fragments within a schema.
- Added include for envMonConfigACD.xml in envMonSchema.xml.
LDF:
- Bug fix in LDF to allow parsing of recent data.
- Interpret the event summary word for each contribution individually instead
of once per event. The error bit can be different for each contribution.
- Add capability to parse out LATcontributions that are not EBFevents.
See RunControl/applications/testAppAcdScalers.py for example code. To
parse the contents of the ACD scalers, please see the Flight Software
documentation for EMP/ASC.h.
(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.1.0 |
5.1.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.3 |
1.3 |
XBRD_HW |
1.1 |
1.1 |
cfitsio |
2.470 |
2.470 |
cmdCli |
1.62 |
1.62 |
cmdCliBase |
1.2 |
1.2 |
cmdSvr |
1.21 |
1.21 |
evtCli |
1.89 |
1.89 |
evtSvr |
1.13 |
1.13 |
gAttr |
1.27 |
1.27 |
gConstraint |
1.7 |
1.7 |
gEGU |
1.8 |
1.8 |
gGroup |
1.3 |
1.3 |
gLAT |
1.83 |
1.83 |
gNode |
1.40 |
1.40 |
gRule |
1.7 |
1.7 |
gSchemaConfig |
1.58 |
1.58 |
gutil |
1.28 |
1.28 |
logging |
0.4.9.2 |
0.4.9.2 |
sihippo |
1.9.6 |
1.9.6 |
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