advLigoRTS issueshttps://git.ligo.org/cds/software/advligorts/-/issues2024-03-12T22:04:11Zhttps://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.0https://git.ligo.org/cds/software/advligorts/-/issues/347RCG: 'Matrix' part no longer compiles2022-04-14T16:34:14ZErik von ReisRCG: 'Matrix' part no longer compiles<partnamne>_mask variable is expected but not created. Either part should be dropped from library or fixed. It apparently isn't used at the sites anymore.<partnamne>_mask variable is expected but not created. Either part should be dropped from library or fixed. It apparently isn't used at the sites anymore.https://git.ligo.org/cds/software/advligorts/-/issues/346Default part names ought to compile2022-01-20T01:54:20ZErik von ReisDefault part names ought to compilePart names created when copying from CDS_PARTS ought to compile without being changed.Part names created when copying from CDS_PARTS ought to compile without being changed.https://git.ligo.org/cds/software/advligorts/-/issues/345User model running on top of virtual user iop does not get a cycle from mbuf2022-01-20T02:22:15ZErik von ReisUser model running on top of virtual user iop does not get a cycle from mbufUser model hangs on start looking for the cycle value for the first ADC to change
controllerAppUser.c:396
Apparently a virtual user mode IOP does not bother to write even fake IOP data?User model hangs on start looking for the cycle value for the first ADC to change
controllerAppUser.c:396
Apparently a virtual user mode IOP does not bother to write even fake IOP data?https://git.ligo.org/cds/software/advligorts/-/issues/339RCG: ADCs can't be directly linked to bus concentrator2023-02-09T04:33:11ZErik von ReisRCG: ADCs can't be directly linked to bus concentratorSee FRS here:
https://services1.ligo-la.caltech.edu/FRS/show_bug.cgi?id=11819See FRS here:
https://services1.ligo-la.caltech.edu/FRS/show_bug.cgi?id=11819Ezekiel DohmenEzekiel Dohmenhttps://git.ligo.org/cds/software/advligorts/-/issues/332Standalone EDCU not supplying DATA_RATE_KB_PER_S EPICS variable2022-03-21T21:55:41ZKeith ThorneStandalone EDCU not supplying DATA_RATE_KB_PER_S EPICS variableEven with release 4.2.7, the Standalone EDCU is not providing the EPICS channel (prefix)_DATA_RATE_KB_PER_S, despite it being listed in the standalone_edcu.cc code and apparently being handled like the other channels (i.e. CHAN_NOCON)Even with release 4.2.7, the Standalone EDCU is not providing the EPICS channel (prefix)_DATA_RATE_KB_PER_S, despite it being listed in the standalone_edcu.cc code and apparently being handled like the other channels (i.e. CHAN_NOCON)4.2.8Jonathan HanksJonathan Hankshttps://git.ligo.org/cds/software/advligorts/-/issues/296Allow fast and low noise adcs to be read earlier2021-10-22T16:48:57ZErik von ReisAllow fast and low noise adcs to be read earlierIOP models wait until an entire 15 microseconds' worth of data is read from a fast adc before processing. This leads to problems since the iop doesn't have enough time to turn around and write out DAC values.
One approach is to take fa...IOP models wait until an entire 15 microseconds' worth of data is read from a fast adc before processing. This leads to problems since the iop doesn't have enough time to turn around and write out DAC values.
One approach is to take fast ADC data that's earlier.
I propose a 'shift' parameter that can be added to a fast ADC block. 'shift' is the number of samples that the IOP ought to read from the previous 15 microsecond time period.
'shift' can be any integer between 0 and UNDERSAMPLE, where UNDERSAMPLE is the number of values read in 15 microseconds. When 0, you get the default behavior that might impact DAC. When UNDERSAMPLE (typically 8), all the points come from the previous 15 usec. The ADC read returns immediately, and there's plenty of time to write to DACs.4.2.1Erik von ReisErik von Reishttps://git.ligo.org/cds/software/advligorts/-/issues/293Change models in src/rcgtest/models to MATLAB r2019a2022-04-14T16:34:15ZKeith ThorneChange models in src/rcgtest/models to MATLAB r2019aSome of the test models for the ATS in src/rcgtest/models were saved by Rolf on a laptop running MATLAB r2021a (or whatever has Simulink 10.3). We need to re-save these files under MATLAB r2019a so we can use them more widelySome of the test models for the ATS in src/rcgtest/models were saved by Rolf on a laptop running MATLAB r2021a (or whatever has Simulink 10.3). We need to re-save these files under MATLAB r2019a so we can use them more widelyKeith ThorneKeith Thornehttps://git.ligo.org/cds/software/advligorts/-/issues/286Investigate combining meta-data and data2023-11-20T21:51:17ZJonathan HanksInvestigate combining meta-data and dataWe should look at how to bring the meta-data into the main data stream. This issue is being opened to track some thoughts.We should look at how to bring the meta-data into the main data stream. This issue is being opened to track some thoughts.Jonathan HanksJonathan Hankshttps://git.ligo.org/cds/software/advligorts/-/issues/233Modify RCG model make, install to work with linux kernel 5.10 / Debian bullseye2021-08-23T21:00:51ZKeith ThorneModify RCG model make, install to work with linux kernel 5.10 / Debian bullseyeUpdate the RCG model make, make install to work with linux kernel 5.10
known items
- update src/fe/timing.g to support change to 64-bit timekeepingUpdate the RCG model make, make install to work with linux kernel 5.10
known items
- update src/fe/timing.g to support change to 64-bit timekeepingKeith ThorneKeith Thorne