Move deadtime records to I/O Intr - #89
Open
ericonr wants to merge 5 commits into
Open
Conversation
this impacts setting parameters like the EventWidth. before this change, the last value set for any channel would be written to the first channel, and the other channels would be left with their default value. we also fix callParamCallbacks to use the addr, in order to propagate these changes correctly.
this function can be used to call callParamCallbacks for all driver channels, reducing the boilerplate necessary to perform this operation.
for these loops which called callParamCallbacks(chan) for each iteration, we can change them to simply call callParamCallbacksAllChannels() after the loop exits. we don't replace similar cases where the write*() functions used callParamCallbacks(addr), because there the only parameter changed is from a specific channel. therefore, there's no need to call callbacks for other channels.
in the Xspress3 constructor, the call to setInitialParameters sets parameters for all channels, so callParamCallbacks() should also be called for all channels. similarly, the call to writeOutScas() in xsp3DataTaskC also sets parameters for all channels.
instead of scanning these parameters at a desired rate, we can update them for new frames using callParamCallbacksAllChannels(). this requires setting their SCAN field to "I/O Intr". this also allows us to re-enable these records by default, since they were disabled in ac8390b (set dt RBV records to disa=1, scan=passive, 2023-09-21).
Contributor
Author
|
If anyone would like to test this along with #87 , I have a branch with the changes merged and the conflict solved: https://github.com/ericonr/xspress3/tree/integration |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This re-enables the records, which had been disabled by default with
DISA=1, and also simplifies their operation by usingI/O Intrscanning instead of a predetermined rate.Some cleanup along the way was also performed.
This likely conflicts with #87 , so I will rebase it once that's merged.