asyn
4-31
|
Class to support parameter library (also called parameter list); set and get values indexed by parameter number (pasynUser->reason) and do asyn callbacks when parameters change. More...
Public Member Functions | |
paramList (int nVals, class asynPortDriver *pPort) | |
Constructor for paramList class. More... | |
~paramList () | |
Destructor for paramList class; frees resources allocated in constructor. More... | |
paramVal * | getParameter (int index) |
Get a parameter from the list by index. More... | |
asynStatus | createParam (const char *name, asynParamType type, int *index) |
Adds a new parameter to the parameter library. More... | |
asynStatus | findParam (const char *name, int *index) |
Finds a parameter in the parameter library. More... | |
asynStatus | getName (int index, const char **name) |
Returns the name of a parameter from the parameter library. More... | |
asynStatus | setInteger (int index, int value) |
Sets the value for an integer in the parameter library. More... | |
asynStatus | setUInt32 (int index, epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask) |
Sets the value for an integer in the parameter library. More... | |
asynStatus | setDouble (int index, double value) |
Sets the value for a double in the parameter library. More... | |
asynStatus | setString (int index, const char *string) |
Sets the value for a string in the parameter library. More... | |
asynStatus | setString (int index, const std::string &string) |
Sets the value for a string in the parameter library. More... | |
asynStatus | getInteger (int index, int *value) |
Returns the value for an integer from the parameter library. More... | |
asynStatus | getUInt32 (int index, epicsUInt32 *value, epicsUInt32 mask) |
Returns the value for an integer from the parameter library. More... | |
asynStatus | getDouble (int index, double *value) |
Returns the value for a double from the parameter library. More... | |
asynStatus | getString (int index, int maxChars, char *value) |
Returns the value for a string from the parameter library. More... | |
asynStatus | getString (int index, std::string &value) |
Returns the value for a string from the parameter library. More... | |
asynStatus | setUInt32Interrupt (int index, epicsUInt32 mask, interruptReason reason) |
Sets the value of the UInt32Interrupt in the parameter library. More... | |
asynStatus | clearUInt32Interrupt (int index, epicsUInt32 mask) |
Clears the UInt32Interrupt in the parameter library. More... | |
asynStatus | getUInt32Interrupt (int index, epicsUInt32 *mask, interruptReason reason) |
Returns the UInt32Interrupt from the parameter library. More... | |
asynStatus | callCallbacks (int addr) |
Calls the registered asyn callback functions for all clients for any parameters that have changed since the last time this function was called. More... | |
asynStatus | callCallbacks () |
asynStatus | setStatus (int index, asynStatus status) |
Sets the status for a parameter in the parameter library. More... | |
asynStatus | getStatus (int index, asynStatus *status) |
Returns the status for a parameter in the parameter library. More... | |
asynStatus | setAlarmStatus (int index, int alarmStatus) |
Sets the alarmStatus for a parameter in the parameter library. More... | |
asynStatus | getAlarmStatus (int index, int *alarmStatus) |
Returns the alarmStatus for a parameter in the parameter library. More... | |
asynStatus | setAlarmSeverity (int index, int alarmSeverity) |
Sets the alarmSeverity for a parameter in the parameter library. More... | |
asynStatus | getAlarmSeverity (int index, int *alarmSeverity) |
Returns the alarmSeverity for a parameter in the parameter library. More... | |
void | report (FILE *fp, int details) |
Reports on status of the paramList. More... | |
Class to support parameter library (also called parameter list); set and get values indexed by parameter number (pasynUser->reason) and do asyn callbacks when parameters change.
The parameter class supports 3 types of parameters: int, double and dynamic-length strings.
paramList::paramList | ( | int | nValues, |
class asynPortDriver * | pPort | ||
) |
Constructor for paramList class.
[in] | nValues | Number of parameters in the list. |
[in] | pPort | Pointer to asynPortDriver port for this paramList. |
paramList::~paramList | ( | ) |
Destructor for paramList class; frees resources allocated in constructor.
asynStatus paramList::callCallbacks | ( | int | addr | ) |
Calls the registered asyn callback functions for all clients for any parameters that have changed since the last time this function was called.
[in] | addr | A client will be called if addr matches the asyn address registered for that client. |
Don't do anything if interruptAccept=0. There is a thread that will do all callbacks once when interruptAccept goes to 1.
asynStatus paramList::callCallbacks | ( | ) |
asynStatus paramList::clearUInt32Interrupt | ( | int | index, |
epicsUInt32 | mask | ||
) |
Clears the UInt32Interrupt in the parameter library.
[in] | index | The parameter number |
[in] | mask | The interrupt mask. |
asynStatus paramList::createParam | ( | const char * | name, |
asynParamType | type, | ||
int * | index | ||
) |
Adds a new parameter to the parameter library.
[in] | name | The name of this parameter |
[in] | type | The type of this parameter |
[out] | index | The parameter number |
asynStatus paramList::findParam | ( | const char * | name, |
int * | index | ||
) |
Finds a parameter in the parameter library.
[in] | name | The name of this parameter |
[out] | index | The parameter number |
asynStatus paramList::getAlarmSeverity | ( | int | index, |
int * | alarmSeverity | ||
) |
Returns the alarmSeverity for a parameter in the parameter library.
[in] | index | The parameter number |
[out] | alarmSeverity | Address of status to get |
asynStatus paramList::getAlarmStatus | ( | int | index, |
int * | alarmStatus | ||
) |
Returns the alarmStatus for a parameter in the parameter library.
[in] | index | The parameter number |
[out] | alarmStatus | Address of status to get |
asynStatus paramList::getDouble | ( | int | index, |
double * | value | ||
) |
Returns the value for a double from the parameter library.
[in] | index | The parameter number |
[out] | value | Address of value to get. |
asynStatus paramList::getInteger | ( | int | index, |
int * | value | ||
) |
Returns the value for an integer from the parameter library.
[in] | index | The parameter number |
[out] | value | Address of value to get. |
asynStatus paramList::getName | ( | int | index, |
const char ** | value | ||
) |
Returns the name of a parameter from the parameter library.
[in] | index | The parameter number |
[out] | value | Address of pointer that will contain name string pointer. |
paramVal * paramList::getParameter | ( | int | index | ) |
Get a parameter from the list by index.
[in] | index | The index of the desired parameter in the list |
ParamListInvalidIndex | if the index is outside the list boundaries |
asynStatus paramList::getStatus | ( | int | index, |
asynStatus * | status | ||
) |
Returns the status for a parameter in the parameter library.
[in] | index | The parameter number |
[out] | status | Address of status to get |
asynStatus paramList::getString | ( | int | index, |
int | maxChars, | ||
char * | value | ||
) |
Returns the value for a string from the parameter library.
[in] | index | The parameter number |
[in] | maxChars | Maximum number of characters to return. |
[out] | value | Address of value to get. |
asynStatus paramList::getString | ( | int | index, |
std::string & | value | ||
) |
Returns the value for a string from the parameter library.
[in] | index | The parameter number |
[out] | value | String value to get. |
asynStatus paramList::getUInt32 | ( | int | index, |
epicsUInt32 * | value, | ||
epicsUInt32 | mask | ||
) |
Returns the value for an integer from the parameter library.
[in] | index | The parameter number |
[out] | value | Address of value to get. |
[in] | mask | The mask to use when getting the value. |
asynStatus paramList::getUInt32Interrupt | ( | int | index, |
epicsUInt32 * | mask, | ||
interruptReason | reason | ||
) |
Returns the UInt32Interrupt from the parameter library.
[in] | index | The parameter number |
[out] | mask | The address of the interrupt mask to return. |
[in] | reason | The interrupt reason. |
void paramList::report | ( | FILE * | fp, |
int | details | ||
) |
Reports on status of the paramList.
[in] | fp | The file pointer on which report information will be written |
[in] | details | The level of report detail desired. Prints the number of parameters in the list, and the index, data type, name, and value of each parameter. |
asynStatus paramList::setAlarmSeverity | ( | int | index, |
int | alarmSeverity | ||
) |
Sets the alarmSeverity for a parameter in the parameter library.
[in] | index | The parameter number |
[in] | alarmSeverity | Severity to set |
asynStatus paramList::setAlarmStatus | ( | int | index, |
int | alarmStatus | ||
) |
Sets the alarmStatus for a parameter in the parameter library.
[in] | index | The parameter number |
[in] | alarmStatus | Status to set |
asynStatus paramList::setDouble | ( | int | index, |
double | value | ||
) |
Sets the value for a double in the parameter library.
[in] | index | The parameter number |
[in] | value | Value to set. |
asynStatus paramList::setInteger | ( | int | index, |
int | value | ||
) |
Sets the value for an integer in the parameter library.
[in] | index | The parameter number |
[in] | value | Value to set. |
asynStatus paramList::setStatus | ( | int | index, |
asynStatus | status | ||
) |
Sets the status for a parameter in the parameter library.
[in] | index | The parameter number |
[in] | status | Status to set |
asynStatus paramList::setString | ( | int | index, |
const char * | value | ||
) |
Sets the value for a string in the parameter library.
[in] | index | The parameter number |
[in] | value | Address of value to set. |
asynStatus paramList::setString | ( | int | index, |
const std::string & | value | ||
) |
Sets the value for a string in the parameter library.
[in] | index | The parameter number |
[in] | value | String value to set. |
asynStatus paramList::setUInt32 | ( | int | index, |
epicsUInt32 | value, | ||
epicsUInt32 | valueMask, | ||
epicsUInt32 | interruptMask | ||
) |
Sets the value for an integer in the parameter library.
[in] | index | The parameter number |
[in] | value | Value to set. |
[in] | valueMask | Mask to use when setting the value. |
[in] | interruptMask | Mask of bits that have changed even if the value has not changed |
asynStatus paramList::setUInt32Interrupt | ( | int | index, |
epicsUInt32 | mask, | ||
interruptReason | reason | ||
) |
Sets the value of the UInt32Interrupt in the parameter library.
[in] | index | The parameter number |
[in] | mask | The interrupt mask. |
[in] | reason | The interrupt reason. |