Hi Andrew,
I am using epicsQt 1.1.2 and QT 4.7.0.
I am trying to understand the following problem:
I have a simple soft IOC, with two records, see below.
I have a QT mainwindow GUI with only one widget, QCaPushButton.
record( ao, "TEST:AO:TEST"){
field( DESC, "ao test")
field( SCAN, "Passive")
field( OUT, "TEST:AI:TEST PP")
field( PREC, "3")
field( MDEL, "-1")
field( VAL, "1.75")
}
record( ai, "TEST:AI:TEST"){
field( DESC, "ai test")
field( PREC, "3")
field( MDEL, "-1")
}
The push button connects to TEST:AO:TEST.PROC and sends 1 when clicked.
I start camonitor TEST:AI:TEST, then the IOC, then the GUI. All seem well.
camonitor reports value 0.
I restart the IOC, camonitor reports PV disconnected, then it connects and shows value 0.
So far so good.
Now I click the push button, camonitor reports value 1.75 as it should.
I restart the IOC, camonitor reports PV disconnected, then it connects and shows value 1.75!
From now on, after restarting the IOC, the ai record ends up with value=1.75, even though I am not clicking the push button. Appears that the ao record is getting processed when the push button connects to the PV when the IOC starts up. This continues as long as the QT GUI is up. When I stop the QT GUI and restart the IOC, then restarting the IOC does not get the value transferred from the ao to the ai record.
Notice that restarting the GUI while IOC is running, does not process the ao record.
I observed this behavior in an application which controls motors via motor record and this behavior is highly undesirable.
Am I doing something wrong configuring the epicsQt push button or is there a bug in the epicsQt CA part of the software? I am assuming that this behavior is not built in intentionally.
Thanks for any insight into this,
Zen