Experimental Physics and Industrial Control System
|
Subject: |
Re: StreamDevice for an odd float format |
From: |
Ralph Lange via Tech-talk <[email protected]> |
To: |
EPICS Tech Talk <[email protected]> |
Date: |
Fri, 7 Jun 2019 16:44:24 +0200 |
Please have a look at the StreamDevice talk that Dirk Zimoch gave yesterday at the EPICS Meeting:
It looks like rewriting input using Regular Expressions is now supported, which might help in this case.
Cheers, ~Ralph
Thanks, I like your approach. I'll give it a try.
Garth
From: Priller, John <[email protected]>
Sent: Wednesday, June 5, 2019 2:05:30 PM
To: Davis, Mark; [email protected]; Brown, Garth
Subject: Re: StreamDevice for an odd float format
Z is just the letter I selected when I wrote my protocol converter add-on. There's a couple issues doing it this way but it seemed the best way forward for us at the time.
One, the interface to Stream is unofficial and can (and does) change from version to version.
Two, several necessary header files aren't exported as part of the package. We have a lightly-patched version of Stream we link against that does export those files
You can add your own format converters to StreamDevice.
John Priller ( [email protected]) at our lab has written the code for several odd format like this (see attached code). I believe the one you want is the %ZHF one.
Mark
On 6/5/2019 1:58 PM, Brown, Garth via Tech-talk wrote:
Hi All,
I'm trying to use StreamDevice to talk to a device that is almost, but not quite, giving me data that the format converters (as I understand them) can convert.
It’s an ASCII representation of the IEEE 32 bit floating point format, e.g. the raw data for a value of 28.0 is
0x34 0x31 0x45 0x30 0x30 0x30 0x30 0x30
Which is the ASCII code for
41E00000
Which is the IEEE-754 floating point representation of 28.0.
I think that if the raw data were 0x41E00000, %R would be able to convert it. And if the raw data were
0x32 0x38 0x2E 0x30 (ASCII for 28.0)
then %f would be able to convert it.
Before I start writing calc records to convert the 32 bits to a float value, I figured I'd ask if someone had a less brute-force approach. Maybe a StreamDevice format converter trick I don't know about?
Thanks,
Garth
- References:
- StreamDevice for an odd float format Brown, Garth via Tech-talk
- Re: StreamDevice for an odd float format Priller, John via Tech-talk
- Re: StreamDevice for an odd float format Brown, Garth via Tech-talk
- Navigate by Date:
- Prev:
Re: StreamDevice for an odd float format Brown, Garth via Tech-talk
- Next:
Re: Camonitor with client dictated update rate Hinko Kocevar via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: StreamDevice for an odd float format Brown, Garth via Tech-talk
- Next:
RE: StreamDevice for an odd float format Brown, Garth via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
|
ANJ, 17 Jun 2019 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|