Hello,
I have an asyn driver IOC that periodically receives new data, updates the parameters (and timestamps), and runs the callbacks for the "I/O Intr" records.
It has an extra thread that runs something like this:
while(1)
{
int value = wait_for_data();
setIntegerParam(dev_addr, param_id, value)
updateTimeStamp();
callParamCallbacks(dev_addr);
}
However, 'callParamCallbacks' will not update the record timestamp if the value received keeps being the same.
From what I understand, this is the intended behaviour of asynDriver - no updates if data is the same -, but I would like to know if there a way to enforce it (to update the record timestamp)?
One possible solution I think will work is to update the parameter with a random value first, to trigger the 'new data' flag, but it feels like an hack...
Example:
setIntegerParam(dev_addr, param_id, 0)
setIntegerParam(dev_addr, param_id, value)
Thank you,
Joao Afonso