...
The device support structures (DSET) are defined as follows
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
struct { long number; DEVSUPFUN report; DEVSUPFUN init; DEVSUPFUN init_record; DEVSUPFUN get_ioint_info; DEVSUPFUN read; }devBsssPid={ 5, NULL, NULL, init_record_pid, get_ioint_info, read_pid }; struct { long number; DEVSUPFUN report; DEVSUPFUN init; DEVSUPFUN init_record; DEVSUPFUN get_ioint_info; DEVSUPFUN read; DEVSUPFUN speical_linconv; }devBsssV={ 6, NULL, NULL, init_record_v, get_ioint_info, read_v, NULL }; epicsExportAddress(dset, devBsssPid); epicsExportAddress(dset, devBsssV); |
The More information about the DSET can be found here. The structure of these structures come from aiRecord.h and int64inRecord.h files. Once the functions are defined and their function addresses are given to the structure, the structures must be exported using the epicsExportAddress command.
The functions are namely as follows:
At this point, the device supports exist, but are still not enabled for usage. the new device supports need to be added to the dbd file (bsaAsynDriver.dbd) using the following commands:
...