Confluence will be unusable 23-July-2024 at 06:00 due to a Crowd upgrade.
...
(TODO: convert code into diagram, adding pBsaDrvbsaAsynDriver, pBsaEllList, and pBsaBridge)
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
typedef struct {
ELLNODE node;
char *named_root;
char *port;
bsaAsynDriver *pBsaDrv;
ELLLIST *pBsaEllList;
void *_pBsaBridge;
} pDrvList_t; |
bsaAsynDriver is a class defined in bsaAsynDriver.h: class bsaAsynDriver:asynPortDriver.
The linked list pBsaEllList contains elements of the struct bsaList_t:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
typedef struct {
ELLNODE node;
ELLLIST *pSlaveEllList; // slave node
char bsa_name[64]; // bsa name
char bsa_type[32]; // bsa datatype
int firstParam;
int p_num[MAX_BSA_ARRAY]; // asyn parameter for number of average, asynFloat64Array, RO
int p_mean[MAX_BSA_ARRAY]; // asyn parameter for average value, asynFloat64Array, RO
int p_rms2[MAX_BSA_ARRAY]; // asyn parameter for rms2 value, asynFloat64Array, RO
int p_slope; // asyn parameter for linear conversion, asynFloat64, RW
int p_offset; // asyn parameter for linear conversion, asynFloat64, RW
int lastParam;
double slope;
double offset;
bsaDataType_t type;
devBsaPvt_t ppvt_num[MAX_BSA_ARRAY];
devBsaPvt_t ppvt_mean[MAX_BSA_ARRAY];
devBsaPvt_t ppvt_rms2[MAX_BSA_ARRAY];
char pname_num[MAX_BSA_ARRAY][64];
char pname_mean[MAX_BSA_ARRAY][64];
char pname_rms2[MAX_BSA_ARRAY][64];
char pname_slope[64];
char pname_offset[64];
bool doNotTouch;
} bsaList_t; |
The functions operating on the linked list are as follows:
...