advLigoRTS issueshttps://git.ligo.org/cds/software/advligorts/-/issues2023-01-19T04:34:29Zhttps://git.ligo.org/cds/software/advligorts/-/issues/146RCG no longer producing caQtDM screens on front-end builds2023-01-19T04:34:29ZKeith ThorneRCG no longer producing caQtDM screens on front-end buildsIn earlier development this year, Rolf had created caQtDM (*.ui) versions of the front-end screens. These were used in the post-build scripts to create the same screens as for MEDM *.adl)
However in test builds on l1boot0 it is noted th...In earlier development this year, Rolf had created caQtDM (*.ui) versions of the front-end screens. These were used in the post-build scripts to create the same screens as for MEDM *.adl)
However in test builds on l1boot0 it is noted that it can find these. And if I check the disks on the large test stand, we see that the *.ui screens have not been built since May28
<pre>
[keith.thorne@x2portal x2lsc]$ ls -l *GDS_TP*
-rw-rw-r--. 1 controls advligorts 41141 Aug 7 17:06 X2LSC_GDS_TP.adl
-rw-rw-r--. 1 controls advligorts 222804 May 28 20:31 X2LSC_GDS_TP.ui
</pre>
I could not find which branch had the template files. git log did not seem to help4.0.0Erik von ReisErik von Reishttps://git.ligo.org/cds/software/advligorts/-/issues/143Add EPICS outputs to stand-alone EDCU2020-08-26T17:17:28ZKeith ThorneAdd EPICS outputs to stand-alone EDCUSee https://alog.ligo-la.caltech.edu/TST/index.php?callRep=13676
For better monitoring, the following channels would be useful
- GPS time (allows monitoring that the software is running)
- DAQ data rate (# KB/sec)
- Uptime (to monitor r...See https://alog.ligo-la.caltech.edu/TST/index.php?callRep=13676
For better monitoring, the following channels would be useful
- GPS time (allows monitoring that the software is running)
- DAQ data rate (# KB/sec)
- Uptime (to monitor restarts)4.0.0Jonathan HanksJonathan Hankshttps://git.ligo.org/cds/software/advligorts/-/issues/141EzCaRead.pm has mismatch in Conn/Err output2020-07-31T17:40:04ZKeith ThorneEzCaRead.pm has mismatch in Conn/Err outputin src/epics/util/lib/EzCaread.pm, the second EPICS variable has suffix _CONN in the header structure (line 22) but suffix _ERR in the fromExp section (Line 72). This leads to an error in build when output is not sent to a terminator
/...in src/epics/util/lib/EzCaread.pm, the second EPICS variable has suffix _CONN in the header structure (line 22) but suffix _ERR in the fromExp section (Line 72). This leads to an error in build when output is not sent to a terminator
/var/cache/advligorts/rcg-4.0.0~dev5/src/fe/x2tstezca/x2tstezca.c:52:50: error: ‘TST’ {aka ‘struct TST’} has no membe
r named ‘X2_EXT_TEST_AO_ERR’; did you mean ‘X2_EXT_TEST_AO’?
pLocalEpics->tst.AO_READ_CONN = pLocalEpics->tst.X2_EXT_TEST_AO_ERR;
^~~~~~~~~~~~~~~~~~
X2_EXT_TEST_AO4.0.0Keith ThorneKeith Thornehttps://git.ligo.org/cds/software/advligorts/-/issues/122Update 'rtcds lsmod' script to support Dolphin IX, replacement for open-mx2020-07-31T17:40:04ZKeith ThorneUpdate 'rtcds lsmod' script to support Dolphin IX, replacement for open-mxThe rtcds lsmod currently checks for open-mx and Dolphin DX drivers.
This needs to be update the check for Dolphin IX drivers (dis_kosif, dis_ix_ntb, dis_ix_dma, dis_irm). We are no longer using the open-mx driver).
Should also consider...The rtcds lsmod currently checks for open-mx and Dolphin DX drivers.
This needs to be update the check for Dolphin IX drivers (dis_kosif, dis_ix_ntb, dis_ix_dma, dis_irm). We are no longer using the open-mx driver).
Should also consider add-on to verify that mx_stream replacements are running (local_dc, cps_xmit)4.0.0Erik von ReisErik von Reishttps://git.ligo.org/cds/software/advligorts/-/issues/111Ensure that non-real-time models are built and started correctly2020-06-15T22:32:10ZKeith ThorneEnsure that non-real-time models are built and started correctlyWe have several 'models' that have no real-time components. Historically built using 'make', then 'make install-nort-' to create a start file with no real-time component.
This may be working,but we need to checkWe have several 'models' that have no real-time components. Historically built using 'make', then 'make install-nort-' to create a start file with no real-time component.
This may be working,but we need to check4.0.0Rolf BorkErik von ReisRolf Borkhttps://git.ligo.org/cds/software/advligorts/-/issues/99Should remove athena sub-directory or migrate to its own repo2020-05-08T22:37:32ZKeith ThorneShould remove athena sub-directory or migrate to its own repoThe top-level Athena directory was done 10 years ago for some development work by Alex Ivanov for Ben Abbott. We should remove this to either its own git repo or just leave it with the old SVNThe top-level Athena directory was done 10 years ago for some development work by Alex Ivanov for Ben Abbott. We should remove this to either its own git repo or just leave it with the old SVN4.0.0https://git.ligo.org/cds/software/advligorts/-/issues/93run awgtpman as non-priviledged user2020-04-22T20:48:46ZJameson Rollinsjameson.rollins@ligo.orgrun awgtpman as non-priviledged userThe awgtpman systemd service currently needs to run the process as root, because it needs to bind to a low numbered port. There should be a way to let systemd open the port and provide it to the awgtpman process, so that the awgtpman pr...The awgtpman systemd service currently needs to run the process as root, because it needs to bind to a low numbered port. There should be a way to let systemd open the port and provide it to the awgtpman process, so that the awgtpman process can run as the non-privileged advligorts user.4.0.0https://git.ligo.org/cds/software/advligorts/-/issues/91Clearing DAC watchdogs on SUS machine without I/O chassis causes lockup2020-04-27T22:48:56ZKeith ThorneClearing DAC watchdogs on SUS machine without I/O chassis causes lockupIf you try to clear the DAC watchdogs on a SUS front-end that does not have an I/O chassis, it will cause the computer to lock up, requiring a hard boot to recover.
Details on how to reproduce are in [TST log 13353](https://alog.ligo-la...If you try to clear the DAC watchdogs on a SUS front-end that does not have an I/O chassis, it will cause the computer to lock up, requiring a hard boot to recover.
Details on how to reproduce are in [TST log 13353](https://alog.ligo-la.caltech.edu/TST/index.php?callRep=13353)
Note this has been present since November, 2019 on the test stand
[TST log 12930](https://alog.ligo-la.caltech.edu/TST/index.php?callRep=12930)4.0.0Rolf BorkRolf Borkhttps://git.ligo.org/cds/software/advligorts/-/issues/182advligorts-cymac package does not create /etc/advligorts/systemd_env, systemd...2021-11-23T23:19:08ZKeith Thorneadvligorts-cymac package does not create /etc/advligorts/systemd_env, systemd_env_<host>The advligorts-cymac package provides /etc/advligorts/env. However it does not provide /etc/advligorts/systemd_env (needed for awgtpman, etc) nor example /etc/advligorts/systemd_env_<hostname> used by rts-daqd scriptThe advligorts-cymac package provides /etc/advligorts/env. However it does not provide /etc/advligorts/systemd_env (needed for awgtpman, etc) nor example /etc/advligorts/systemd_env_<hostname> used by rts-daqd script4.2.6https://git.ligo.org/cds/software/advligorts/-/issues/618The RCG should emit more structured data about the model's IPCs and filter mo...2024-03-12T22:04:11ZEzekiel DohmenThe RCG should emit more structured data about the model's IPCs and filter modules, so we don't need as many one-off scripts.`librts` scans a header file to find filter information, and this breaks every so often because we change that headers structure.
We also have to scan medm or build files to list receivers when we remove an IPC sender.
The `.ini` refl...`librts` scans a header file to find filter information, and this breaks every so often because we change that headers structure.
We also have to scan medm or build files to list receivers when we remove an IPC sender.
The `.ini` reflects the state of the slow and fast data channels for a model, and IPCs/filters should emit a similar file.advligorts 5.2.0Ezekiel DohmenEzekiel Dohmenhttps://git.ligo.org/cds/software/advligorts/-/issues/592post_build_script.py fails the install when the `host=` parameter is not first.2023-09-20T16:57:30ZEzekiel Dohmenpost_build_script.py fails the install when the `host=` parameter is not first.```
...
Installing GDS node config file...
Installing auto-generated DAQ config file...
Running post-build script...
Traceback (most recent call last):
File "/usr/share/advligorts/src/src/epics/util/post_build_script.py", line 535, in...```
...
Installing GDS node config file...
Installing auto-generated DAQ config file...
Running post-build script...
Traceback (most recent call last):
File "/usr/share/advligorts/src/src/epics/util/post_build_script.py", line 535, in <module>
read_tree(root_block, (model_name[2:5].upper(),))
File "/usr/share/advligorts/src/src/epics/util/post_build_script.py", line 491, in read_tree
read_tree(node, name_so_far)
File "/usr/share/advligorts/src/src/epics/util/post_build_script.py", line 394, in read_tree
default_subs.append(["#DATA_RATE#", dict_of_params['rate']])
KeyError: 'rate'
make: *** [Makefile:161: install-x2huddlesei1] Error 1
1 of 1 models failed to install: x2huddlesei1
```https://git.ligo.org/cds/software/advligorts/-/issues/564Filter modules and filters integrated into parts have their specification spr...2023-04-13T17:03:57ZEzekiel DohmenFilter modules and filters integrated into parts have their specification spread over the model header.Instead, they should be consolidated into a single structure.Instead, they should be consolidated into a single structure.https://git.ligo.org/cds/software/advligorts/-/issues/458Sequencer issues2022-10-11T00:20:43ZJonathan HanksSequencer issuesThe 5.0 sequencer has issues.
* cannot select the table view (table selection)
* cannot select a wildcard pattern (show all/substring)
* empty fec.snap (is this an issue)?The 5.0 sequencer has issues.
* cannot select the table view (table selection)
* cannot select a wildcard pattern (show all/substring)
* empty fec.snap (is this an issue)?Jonathan HanksJonathan Hankshttps://git.ligo.org/cds/software/advligorts/-/issues/440RCG: cdsFunctionCall Needs to be more dynamic in how it searches for .c files2022-09-07T20:24:00ZEzekiel DohmenRCG: cdsFunctionCall Needs to be more dynamic in how it searches for .c files`cdsFunctionCall`s have an absolute path associated with finding the `.c` file.
Most of these `.c` files are prefixed with with variable path prefixes. Such as `$CDS_SRC/LOW_FREQ_DEMUX.c`
Some still have an absolute paths:
`./cal/comm...`cdsFunctionCall`s have an absolute path associated with finding the `.c` file.
Most of these `.c` files are prefixed with with variable path prefixes. Such as `$CDS_SRC/LOW_FREQ_DEMUX.c`
Some still have an absolute paths:
`./cal/common/models/CAL_FIR2_MASTER.mdl:890: Description "inline user_fir /opt/rtcds/userapps/release/cal/common/src/FIR_2H_INV_SENSING.c"`
We should probably move to a search path(s) method in finding `.c` files (or functions).
This might not work if we have multiple `.c` files with the same names.https://git.ligo.org/cds/software/advligorts/-/issues/424Control models should't need to know the card number for DACs/ADCs2023-01-04T20:51:15ZEzekiel DohmenControl models should't need to know the card number for DACs/ADCsWhen DAQ card types are changed (ex. 18 bit -> 20 bit) card numbers have to be updated across all control models. Forgetting one model could cause a model to write DAC output to unexpected cards.
One idea would be to have a string ID t...When DAQ card types are changed (ex. 18 bit -> 20 bit) card numbers have to be updated across all control models. Forgetting one model could cause a model to write DAC output to unexpected cards.
One idea would be to have a string ID that control models use, and the IOP maps it to actual HW. That way when a card is removed/replaced from the system, the build can fail a model trying to use a removed card.
![image](/uploads/e7f3ce398b4361fadfe1c29fb76c321c/image.png)advligorts 5.2.0https://git.ligo.org/cds/software/advligorts/-/issues/403RCG: Name collision detection should not be case sensitive2022-07-06T18:07:43ZErik von ReisRCG: Name collision detection should not be case sensitiveName collision detection is case sensitive, but code generation often transforms everything to lower case. This can lead to collisions in C compilation that are not detected during RCG parsing.Name collision detection is case sensitive, but code generation often transforms everything to lower case. This can lead to collisions in C compilation that are not detected during RCG parsing.advligorts 5.1.0https://git.ligo.org/cds/software/advligorts/-/issues/398RCGTEST: version 5 has some failures in the RCG autotest (x2ats) system2022-12-20T20:57:11ZErik von ReisRCGTEST: version 5 has some failures in the RCG autotest (x2ats) systemThe latest source for version 5 was tested on Friday April 22. (branch build_reorg_follow_on)
Version 5 fails a few tests that
- ~~RCG Simulink parts: failed product and divide (same part)? 4.2.8
passes this test.~~ (broken test. fix...The latest source for version 5 was tested on Friday April 22. (branch build_reorg_follow_on)
Version 5 fails a few tests that
- ~~RCG Simulink parts: failed product and divide (same part)? 4.2.8
passes this test.~~ (broken test. fixed)
- DACKILL, dkt sei timers set to 0. Should be 30. 4.2.8 is failed, but is set 1, not 0. This may have to do with timing of the test, since in some other results both sus and sei timers were 0.
- RCG Core multiple loopback times are zero, which either means
instantaneous detection of the signal, or signal never detected. 4.2.8
shows one loopback time is zero. I had thought loopback hardware is
faulty/not installed correctly, but the greater number of zeros in v5
makes me second guess that.
- RCG Core ADC module state incorrect on at least one ADC (report does
not say which). Should be 15 but is 27. 4.2.8 passes. Also, target number given seems to be wrong.
- Standard filter module test at 30 Hz passes, but seems to fail intermittently in repeated tests. This may also be true for 4.2.8.
[rcgtest.pdf](/uploads/da78813a599f91ecb570d245556acb72/rcgtest.pdf)https://git.ligo.org/cds/software/advligorts/-/issues/360RCG: Some problems with library links2022-02-18T01:06:56ZErik von ReisRCG: Some problems with library links1. There's no check if there are infinite library link loops.
2. When a deep link is used to subsystems which are not top systems, the RCG simply takes the first subsystem it finds with the right name. So if there are nested subsystems...1. There's no check if there are infinite library link loops.
2. When a deep link is used to subsystems which are not top systems, the RCG simply takes the first subsystem it finds with the right name. So if there are nested subsystems in a library with the same name, but different parent subsystems, the RCG might link to the wrong one, leading to an incorrect model.https://git.ligo.org/cds/software/advligorts/-/issues/357RCG: Add Gaussian noise part2022-04-27T22:07:14ZErik von ReisRCG: Add Gaussian noise partUniform noise part already exists. I don't know if there's a simple constant time platform, so a new part is needed for those that don't want to write a custom C module.Uniform noise part already exists. I don't know if there's a simple constant time platform, so a new part is needed for those that don't want to write a custom C module.advligorts 5.0.0https://git.ligo.org/cds/software/advligorts/-/issues/348RCG: Need good error message when FIR filter used in fast model2022-06-27T17:01:39ZErik von ReisRCG: Need good error message when FIR filter used in fast modelFIR filters are allowed only in 2k and 4k models, but if they are added to a faster model, the result is a cryptic "firNum" undefined message.
A nice error message would be better.FIR filters are allowed only in 2k and 4k models, but if they are added to a faster model, the result is a cryptic "firNum" undefined message.
A nice error message would be better.advligorts 5.1.0