Hello,
I have run into a problem lately. I have sort of a slow device - a
TDS2024 scope. So when I run my IOC, I expect StreamDevice to initialize
my PVs. So there are ~ 20 PVs I want to initialize. And every once in a
while I get the following error message in epics shell:
/2012/05/30 13:02:25.211 L2 TDS2024:probe_ch2: got "<0d>:CH2:PROBE 1"
where ":CH2:PROBE " was expected
/This <0d> character (or CR) is driving me mad. This is because it was
supposed to be the terminator of the previous input (here is the whole
string together with the one above):
/2012/05/30 13:02:25.124 /dev/ttyUSB0 read 13
:CH1:PROBE 1\n
//2012/05/30 13:02:25.211 L2 TDS2024:probe_ch2: got "<0d>:CH2:PROBE 1"
where ":CH2:PROBE " was expected/
As you can see, there is an \r missing. So my <0d> comes as a part of
the input /":CH2:PROBE 1" /- so I get /"<0d>:CH2:PROBE 1" /instead
which causes the error.
How can I fix this?
I have tried using the @mismatch handler, but it doesn't work within the
@init handler.
And you will never know which PV will not initialize next.
As an comparison, my TPS2024 and TPS2024B scopes are fast enough to
stumble upon this. No problem there.
--
Best regards,
Pavel Maslov, MS
Controls Engineer at Pulsed power Lab
Efremov Institute for Electro-Physical Apparatus
St. Petersburg, Russia
Mobile: +7 (951) 672 22 19
Land line: +7 (812) 461 01 01