corvette:~>caput asyndevSetRateInt32 1.0
Old : asyndevSetRateInt32 0
New : asyndevSetRateInt32 1
Now when I run caget on asyndevAiInt32A0
it is indeed changing as you expect:
corvette:~>caget asyndevAiInt32A0
asyndevAiInt32A0 -99.9115
corvette:~>caget asyndevAiInt32A0
asyndevAiInt32A0 -99.8993
corvette:~>caget asyndevAiInt32A0
asyndevAiInt32A0 -99.8962
I can also run camonitor to see it change.
corvette:~>camonitor asyndevAiInt32A0
asyndevAiInt32A0 2023-07-07 07:01:09.423192 -99.8779
asyndevAiInt32A0 2023-07-07 07:01:10.423334 -99.8749
asyndevAiInt32A0 2023-07-07 07:01:11.423444 -99.8718
asyndevAiInt32A0 2023-07-07 07:01:12.423598 -99.8688
asyndevAiInt32A0 2023-07-07 07:01:13.423738 -99.8657
asyndevAiInt32A0 2023-07-07 07:01:14.423891 -99.8627
asyndevAiInt32A0 2023-07-07 07:01:15.424011 -99.8596
asyndevAiInt32A0 2023-07-07 07:01:16.424143 -99.8566
Dear community,
I would like to learn about the usage of epics interrupt. I found an example routine called `int32Driver` (asyn/iocBoot/ioctestEpics/st.cmd and asyn/testEpicsApp/src). In the `st.cmd` script, there is a record instance that I want to use to run an interrupt
because it has `SCAN=I/O Intr`. Here is the example record instance:
record(ai,"asyndevAiInt32A0") {
field(SCAN,"I/O Intr")
field(DTYP,"asynInt32")
field(INP,"@asyn( int32 , 0 , 1.0) ")
field(LINR,"LINEAR")
field(EGUF,"100.0")
field(EGUL,"-100.0")
field(PREC,"3")
}
After running `epics` using the above command, I tried to read the data generated by the interrupt using `caget asyndevAiInt32A0`. However, the return value of `caget` did not change. How can I make `asyndevAiInt32A0` generate a read data interrupt to software
simulate a hardware interrupt that produces new data?