You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
PvaClientNTMultiMonitor lacks a method to check which channels returned with change after poll #66
I have the impression that, after a poll, I have to examine the contents of the "values" array if I want to check which channels have changed. For the ones that return as none, I know they had no change during the last poll. I would say that this is an indirect and unclear way of checking this. I may be wrong, but I couldn't find this explanation in the documentation.
marciodo's comment is correct. Thanks for raising this issue.
After private discussion with sveseli, it was decided that no code change is necessary.
I will close PR #67
I agree that documentation should be better.
I will work on it.
When I tried to run doxygen in pcaClientCPP it failed.
Looks like I have some work to do.
Sinisa Veseli prepared a test case that shows that PvaClientNTMuiliMonitor does not work properly.
I am going add a method like Sinisa suggested but the implementation will be different.
I will also carefully look at the PvaClientNTMuiliMonitor code.
multiGetDouble, multiMonitorDouble, and multiPutDouble are new.
ntMulti* have default for multiple channelNames.
ntMultiMonitor has #ifndef that uses previous monitor semantics.
If this is changed to #ifdef than the new pvaClient getChannelChangeFlags is used.
This results in only channels that changed since the last put show new values.
It would be great if both of You get a chance to try the new version before I merge the branch into master
I just took a brief look at the new pvaClientNTMultiData.cpp, and it seems that line 146 will cause the same problem that PR#67 addressed (commit fe74c59).
I will remove lines 145 and 146.
Note that if a value field does not exists in the channel then I suspect that this code will never be executed.
But the lines should be removed.
I want to do more testing before I push this change.
Activity
sveseli commentedon Jan 19, 2021
This issue should be resolved with PR #67
mrkraimer commentedon Jan 26, 2021
marciodo's comment is correct. Thanks for raising this issue.
After private discussion with sveseli, it was decided that no code change is necessary.
I will close PR #67
I agree that documentation should be better.
I will work on it.
When I tried to run doxygen in pcaClientCPP it failed.
Looks like I have some work to do.
Marty
mrkraimer commentedon Feb 2, 2021
I am going to start work on improving documentation.
I will also review code while working on documentation.
mrkraimer commentedon Feb 12, 2021
Sinisa Veseli prepared a test case that shows that PvaClientNTMuiliMonitor does not work properly.
I am going add a method like Sinisa suggested but the implementation will be different.
I will also carefully look at the PvaClientNTMuiliMonitor code.
mrkraimer commentedon Feb 17, 2021
I made changes on branch pvaClientChannel_changes.
I also pushed changes to
https://github.com/epics-base/exampleCPP
If this is changed to #ifdef than the new pvaClient getChannelChangeFlags is used.
This results in only channels that changed since the last put show new values.
It would be great if both of You get a chance to try the new version before I merge the branch into master
sveseli commentedon Feb 17, 2021
I just took a brief look at the new pvaClientNTMultiData.cpp, and it seems that line 146 will cause the same problem that PR#67 addressed (commit fe74c59).
mrkraimer commentedon Feb 18, 2021
I will remove lines 145 and 146.
Note that if a value field does not exists in the channel then I suspect that this code will never be executed.
But the lines should be removed.
I want to do more testing before I push this change.
The changes: