Experimental Physics and
| |||||||||||||||||
|
void dhsDhsErrHd (int status) { char string[DHS_STRING_LENGTH]; printf("DHS error: ... status: %d\n", status); switch (status) { case DHS_S_CMD_BULK_SENT: strcpy (string, "Message sent as bulk data"); break; case DHS_S_CMD_DELETE : strcpy (string, "Deleting command structure"); break; case DHS_S_CMD_MSG_SENT : strcpy (string, "Message sent as regular message"); break; case DHS_S_CMD_NEW : strcpy (string, "Creating command structure"); break; case DHS_S_COND_TIMEOUT : strcpy (string, "Condition variable timed out"); break; case DHS_S_CONNECT : strcpy (string, "Client is requesting connection"); break; case DHS_S_DISCONNECT : strcpy (string, "Client has disconnected"); break; case DHS_S_EL_EXIT : strcpy (string, "Exit the event loop"); break; case DHS_S_FN_ENTRY : strcpy (string, "Entering function"); break; case DHS_S_FN_EXIT : strcpy (string, "Exiting function"); break; [...] lying around. This runs on an IOC and is part of the 'device support' for FITS files - obviously you can extend the number of codes to any enum value. If I was to do this again today I'd probably put it into a table (hopefully pvLoad-able) and use a genSub (I think the code above predates genSubs, at least it predates genSubs being wide-spread). Aloha, Maren Rodney R. Porter wrote: I have implemented similar conversions, though with considerably less than 300 states, using either a genSub record or SNL program. I choose between them based on what is needed for other support for the device or instrument. Rodney Porter
| ||||||||||||||||
ANJ, 10 Nov 2011 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |