Hi All,
It being Friday afternoon, I have decided to send out a message on this
subject that I've been meaning to send for some time.
Currently, as I understand it EPICS has a problem relating to status
numbers and messages. EPICS base has status values in libraries
consisting of a 32 bit integer where:
- most significant 16 bits is the library modifier code
- least significant 16 bits is the status value within that library.
These status values have comments in the header files associated with
them, but these ASCII comments are of no use to any software.
Also, within records of the database there are 22 fixed status values
defined and 4 associated severities. These do have text associated with
them, but only minimal text.
Back in the bad old days, VMS had a message system that users could also
use. This provided a mechanism of accessing message numbers and
associated text strings via a system library. The system also provided a
way of generating an object file which could be linked in with any
program which would automagically augment the system status values with
user defined status values and messages.
The 32 bit message number was divided up as follows:
Bits 0-2: The severity, as follows
Symbol Value Description
STS_K_WARNING 0 Warning
STS_K_SUCCESS 1 Success
STS_K_ERROR 2 Error
STS_K_INFO 3 Informational
STS_K_SEVERE 4 Severe (Fatal) error
5 Reserved
6 Reserved
7 Reserved
Bits 3-14: Message number (1-4095)
Bit 15: Reserved, must be set true
Bits 16-26: Facility system number (i.e. library identifier)Bit 27:
Reserved, must be set true
Bits 28-32: Reserved, must be set false
Now this generated an incomprehensible number, but there was a library
routine to turn it into a string.
In a previous life, I used a system called DRAMA, which had a library
and set of utility programs that basically replicated this functionality
for Unix and VxWorks systems. There are two problems:
- There has to be some way of assigning Facility numbers (so they don't
clash). This is an issue, but manageable.
- Every client that wants to turn a number into a string has to have
access to a site specific object file that has all the strings in it.
This has to be routinely regenerated as people add more libraries and
messages. At my last site we had a script that walked the CVS repository
and dragged out all the message files on a regular basis.
What do people think of this as an approach? Does it solve any of our
problems? I could easily dust off the Drama message facility. If people
are interested go to:
- http://www.aao.gov.au/drama/html/mess_routines.frames.html
- http://www.aao.gov.au/drama/html/mess_programs.frames.html
- http://www.aao.gov.au/drama/doc/ps/mess_6.ps
Cheers,
Nick Rees
Principal Software Engineer Phone: +44 (0)1235-778430
Diamond Light Source Fax: +44 (0)1235-446713
--
Scanned by iCritical.
- Replies:
- RE: Message values and message texts. Pearson, MR (Matthew)
- Navigate by Date:
- Prev:
Re: Patch: Move alarm.h and rename alarmString.h Benjamin Franksen
- Next:
RE: Message values and message texts. Pearson, MR (Matthew)
- Index:
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: Patch: Move alarm.h and rename alarmString.h Davidsaver, Michael
- Next:
RE: Message values and message texts. Pearson, MR (Matthew)
- Index:
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|