Changed extension db to dbd
This commit is contained in:
@@ -17,7 +17,6 @@ INC += fast_lock.h
|
||||
INC += initHooks.h
|
||||
INC += recSup.h
|
||||
INC += devSup.h
|
||||
INC += task_params.h
|
||||
INC += taskwd.h
|
||||
INC += recGbl.h
|
||||
INC += dbBkpt.h
|
||||
|
||||
+9
-7
@@ -18,10 +18,11 @@ MENUS += menuScan.h
|
||||
MENUS += menuYesNo.h
|
||||
|
||||
RECTYPES += dbCommon.h
|
||||
USER_DBDFLAGS += -I .. -I $(EPICS_BASE)/dbd
|
||||
|
||||
DBINSTALL += dbCommonRecord.db
|
||||
DBINSTALL += menuGlobal.db
|
||||
DBINSTALL += epics.db
|
||||
DBINSTALL += dbCommonRecord.dbd
|
||||
DBINSTALL += menuGlobal.dbd
|
||||
DBINSTALL += epics.dbd
|
||||
DBINSTALL += epicsLIBOBJS
|
||||
|
||||
SRCS.c = \
|
||||
@@ -73,12 +74,13 @@ LIBNAME = dbLib
|
||||
|
||||
include $(EPICS)/config/RULES.Vx
|
||||
|
||||
dbCommon.h: ../dbCommonRecord.db dbCommon.db
|
||||
dbCommon.h: ../dbCommonRecord.dbd dbCommon.dbd
|
||||
$(RM) $@
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH $<
|
||||
$(EPICS_BASE)/bin/$(HOST_ARCH)/dbToRecordtypeH \
|
||||
$(USER_DBDFLAGS) $<
|
||||
|
||||
dbCommon.db: ../dbCommon.db
|
||||
dbCommon.dbd: ../dbCommon.dbd
|
||||
@test -f $@ || ln -s $< $@
|
||||
|
||||
clean::
|
||||
@$(RM) dbCommon.db rec base
|
||||
@$(RM) dbCommon.dbd rec base
|
||||
|
||||
+6
-6
@@ -388,12 +388,12 @@ struct rset *dbGetRset(struct dbAddr *paddr)
|
||||
struct dbFldDes *pfldDes = (struct dbFldDes *)paddr->pfldDes;
|
||||
|
||||
if(!pfldDes) return(0);
|
||||
return(pfldDes->pdbRecDes->prset);
|
||||
return(pfldDes->pdbRecordType->prset);
|
||||
}
|
||||
|
||||
int dbIsValueField(struct dbFldDes *pdbFldDes)
|
||||
{
|
||||
if(pdbFldDes->pdbRecDes->indvalFlddes == pdbFldDes->indRecDes)
|
||||
if(pdbFldDes->pdbRecordType->indvalFlddes == pdbFldDes->indRecordType)
|
||||
return(TRUE);
|
||||
else
|
||||
return(FALSE);
|
||||
@@ -401,7 +401,7 @@ int dbIsValueField(struct dbFldDes *pdbFldDes)
|
||||
|
||||
int dbGetFieldIndex(struct dbAddr *paddr)
|
||||
{
|
||||
return(((struct dbFldDes *)paddr->pfldDes)->indRecDes);
|
||||
return(((struct dbFldDes *)paddr->pfldDes)->indRecordType);
|
||||
}
|
||||
|
||||
|
||||
@@ -448,7 +448,7 @@ long dbScanLink(dbCommon *pfrom, dbCommon *pto)
|
||||
long dbProcess(dbCommon *precord)
|
||||
{
|
||||
struct rset *prset = (struct rset *)precord->rset;
|
||||
dbRecDes *pdbRecDes = (dbRecDes *)precord->rdes;
|
||||
dbRecordType *pdbRecordType = (dbRecordType *)precord->rdes;
|
||||
unsigned char tpro=precord->tpro;
|
||||
unsigned long lset;
|
||||
long status = 0;
|
||||
@@ -500,7 +500,7 @@ long dbProcess(dbCommon *precord)
|
||||
recGblSetSevr(precord, SCAN_ALARM, INVALID_ALARM);
|
||||
monitor_mask = recGblResetAlarms(precord);
|
||||
monitor_mask |= DBE_VALUE;
|
||||
pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->indvalFlddes];
|
||||
pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->indvalFlddes];
|
||||
db_post_events(precord,
|
||||
(void *)(((char *)precord) + pdbFldDes->offset),
|
||||
monitor_mask);
|
||||
@@ -531,7 +531,7 @@ long dbProcess(dbCommon *precord)
|
||||
precord->nsta = 0;
|
||||
db_post_events(precord, &precord->stat, DBE_VALUE);
|
||||
db_post_events(precord, &precord->sevr, DBE_VALUE);
|
||||
pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->indvalFlddes];
|
||||
pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->indvalFlddes];
|
||||
db_post_events(precord,
|
||||
(void *)(((char *)precord) + pdbFldDes->offset),
|
||||
DBE_VALUE|DBE_ALARM);
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
extra("void *dpvt")
|
||||
}
|
||||
field(RDES,DBF_NOACCESS) {
|
||||
prompt("Address of dbRecDes")
|
||||
prompt("Address of dbRecordType")
|
||||
special(SPC_NOMOD)
|
||||
interest(4)
|
||||
size(4)
|
||||
@@ -1,3 +1,3 @@
|
||||
recordtype(dbCommon) {
|
||||
include "dbCommon.db"
|
||||
include "dbCommon.dbd"
|
||||
}
|
||||
+21
-20
@@ -253,7 +253,7 @@ unsigned long dbLockGetLockId(dbCommon *precord)
|
||||
void dbLockInitRecords(dbBase *pdbbase)
|
||||
{
|
||||
int link;
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
dbFldDes *pdbFldDes;
|
||||
dbRecordNode *pdbRecordNode;
|
||||
dbCommon *precord;
|
||||
@@ -262,15 +262,15 @@ void dbLockInitRecords(dbBase *pdbbase)
|
||||
lockRecord *plockRecord;
|
||||
|
||||
/*Allocate and initialize a lockRecord for each record instance*/
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
nrecords += ellCount(&pdbRecDes->recList);
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
nrecords += ellCount(&pdbRecordType->recList);
|
||||
}
|
||||
/*Allocate all of them at once */
|
||||
plockRecord = dbCalloc(nrecords,sizeof(lockRecord));
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList);
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList);
|
||||
pdbRecordNode;
|
||||
pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) {
|
||||
precord = pdbRecordNode->precord;
|
||||
@@ -279,17 +279,18 @@ void dbLockInitRecords(dbBase *pdbbase)
|
||||
plockRecord++;
|
||||
}
|
||||
}
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList);
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList);
|
||||
pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList);
|
||||
pdbRecordNode;
|
||||
pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) {
|
||||
precord = pdbRecordNode->precord;
|
||||
if(!(precord->name[0])) continue;
|
||||
for(link=0; link<pdbRecDes->no_links; link++) {
|
||||
for(link=0; link<pdbRecordType->no_links; link++) {
|
||||
DBADDR *pdbAddr;
|
||||
|
||||
pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[link]];
|
||||
pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[link]];
|
||||
plink = (DBLINK *)((char *)precord + pdbFldDes->offset);
|
||||
if(plink->type != DB_LINK) continue;
|
||||
pdbAddr = (DBADDR *)(plink->value.pv_link.pvt);
|
||||
@@ -354,7 +355,7 @@ void dbLockSetSplit(dbCommon *psource)
|
||||
lockRecord *plockRecord;
|
||||
dbCommon *precord;
|
||||
int link;
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
dbFldDes *pdbFldDes;
|
||||
DBLINK *plink;
|
||||
int nrecordsInSet,i;
|
||||
@@ -384,11 +385,11 @@ void dbLockSetSplit(dbCommon *psource)
|
||||
precord = paprecord[i];
|
||||
plockRecord = (lockRecord *)precord->lset;
|
||||
if(!(precord->name[0])) continue;
|
||||
pdbRecDes = (dbRecDes *)precord->rdes;
|
||||
for(link=0; link<pdbRecDes->no_links; link++) {
|
||||
pdbRecordType = (dbRecordType *)precord->rdes;
|
||||
for(link=0; link<pdbRecordType->no_links; link++) {
|
||||
DBADDR *pdbAddr;
|
||||
|
||||
pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[link]];
|
||||
pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[link]];
|
||||
plink = (DBLINK *)((char *)precord + pdbFldDes->offset);
|
||||
if(plink->type != DB_LINK) continue;
|
||||
|
||||
@@ -420,7 +421,7 @@ long dblsr(char *recordname,int level)
|
||||
dbCommon *precord;
|
||||
lockSet *plockSet;
|
||||
lockRecord *plockRecord;
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
dbFldDes *pdbFldDes;
|
||||
DBLINK *plink;
|
||||
|
||||
@@ -465,13 +466,13 @@ long dblsr(char *recordname,int level)
|
||||
for(plockRecord = (lockRecord *)ellFirst(&plockSet->recordList);
|
||||
plockRecord; plockRecord = (lockRecord *)ellNext(&plockRecord->node)) {
|
||||
precord = plockRecord->precord;
|
||||
pdbRecDes = (dbRecDes *)precord->rdes;
|
||||
pdbRecordType = (dbRecordType *)precord->rdes;
|
||||
printf("%s\n",precord->name);
|
||||
if(level<=1) continue;
|
||||
for(link=0; (link<pdbRecDes->no_links) ; link++) {
|
||||
for(link=0; (link<pdbRecordType->no_links) ; link++) {
|
||||
DBADDR *pdbAddr;
|
||||
|
||||
pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[link]];
|
||||
pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[link]];
|
||||
plink = (DBLINK *)((char *)precord + pdbFldDes->offset);
|
||||
if(plink->type != DB_LINK) continue;
|
||||
pdbAddr = (DBADDR *)(plink->value.pv_link.pvt);
|
||||
|
||||
+5
-4
@@ -636,14 +636,15 @@ static void scanList(scan_list *psl)
|
||||
|
||||
static void buildScanLists(void)
|
||||
{
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
dbRecordNode *pdbRecordNode;
|
||||
dbCommon *precord;
|
||||
|
||||
/*Look for first record*/
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList);
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList);
|
||||
pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList);
|
||||
pdbRecordNode;
|
||||
pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) {
|
||||
precord = pdbRecordNode->precord;
|
||||
|
||||
+21
-20
@@ -46,7 +46,7 @@
|
||||
/* Global Database Test Routines - All can be invoked via vxWorks shell*/
|
||||
long dba(char*pname); /*dbAddr info */
|
||||
long dbel(char*pname); /*CA event list */
|
||||
long dbl(char *precdesname); /*list records*/
|
||||
long dbl(char *precordTypename); /*list records*/
|
||||
long dbnr(int verbose); /*list number of records of each type*/
|
||||
long dbgrep(char *pmask); /*list records with mask*/
|
||||
long dbgf(char *pname); /*get field value*/
|
||||
@@ -158,17 +158,17 @@ long dbel(char*pname)
|
||||
return(0);
|
||||
}
|
||||
|
||||
long dbl(char *precdesname)
|
||||
long dbl(char *precordTypename)
|
||||
{
|
||||
DBENTRY dbentry;
|
||||
DBENTRY *pdbentry=&dbentry;
|
||||
long status;
|
||||
|
||||
dbInitEntry(pdbbase,pdbentry);
|
||||
if(!precdesname)
|
||||
status = dbFirstRecdes(pdbentry);
|
||||
if(!precordTypename)
|
||||
status = dbFirstRecordType(pdbentry);
|
||||
else
|
||||
status = dbFindRecdes(pdbentry,precdesname);
|
||||
status = dbFindRecordType(pdbentry,precordTypename);
|
||||
if(status) printf("No record description\n");
|
||||
while(!status) {
|
||||
status = dbFirstRecord(pdbentry);
|
||||
@@ -176,8 +176,8 @@ long dbl(char *precdesname)
|
||||
printf("%s\n",dbGetRecordName(pdbentry));
|
||||
status = dbNextRecord(pdbentry);
|
||||
}
|
||||
if(precdesname) break;
|
||||
status = dbNextRecdes(pdbentry);
|
||||
if(precordTypename) break;
|
||||
status = dbNextRecordType(pdbentry);
|
||||
}
|
||||
dbFinishEntry(pdbentry);
|
||||
return(0);
|
||||
@@ -192,14 +192,14 @@ long dbnr(int verbose)
|
||||
int total=0;
|
||||
|
||||
dbInitEntry(pdbbase,pdbentry);
|
||||
status = dbFirstRecdes(pdbentry);
|
||||
status = dbFirstRecordType(pdbentry);
|
||||
if(status) printf("No record description\n");
|
||||
while(!status) {
|
||||
nrecords = dbGetNRecords(pdbentry);
|
||||
total += nrecords;
|
||||
if(verbose || nrecords)
|
||||
printf("%.4d %s\n",nrecords,dbGetRecdesName(pdbentry));
|
||||
status = dbNextRecdes(pdbentry);
|
||||
printf("%.4d %s\n",nrecords,dbGetRecordTypeName(pdbentry));
|
||||
status = dbNextRecordType(pdbentry);
|
||||
}
|
||||
dbFinishEntry(pdbentry);
|
||||
printf("Total Records: %d\n",total);
|
||||
@@ -261,7 +261,7 @@ long dbgrep(char *pmask)
|
||||
char *pname;
|
||||
|
||||
dbInitEntry(pdbbase,pdbentry);
|
||||
status = dbFirstRecdes(pdbentry);
|
||||
status = dbFirstRecordType(pdbentry);
|
||||
while(!status) {
|
||||
status = dbFirstRecord(pdbentry);
|
||||
while(!status) {
|
||||
@@ -269,7 +269,7 @@ long dbgrep(char *pmask)
|
||||
if (specified_by(pname, pmask)) printf("%s\n", pname);
|
||||
status = dbNextRecord(pdbentry);
|
||||
}
|
||||
status = dbNextRecdes(pdbentry);
|
||||
status = dbNextRecordType(pdbentry);
|
||||
}
|
||||
dbFinishEntry(pdbentry);
|
||||
return(0);
|
||||
@@ -643,7 +643,7 @@ long dbior(char *pdrvName,int type)
|
||||
char *pname;
|
||||
drvSup *pdrvSup;
|
||||
struct drvet *pdrvet;
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
devSup *pdevSup;
|
||||
struct dset *pdset;
|
||||
|
||||
@@ -664,9 +664,10 @@ long dbior(char *pdrvName,int type)
|
||||
}
|
||||
}
|
||||
/* now check devSup reports */
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
for(pdevSup = (devSup *)ellFirst(&pdbRecDes->devList); pdevSup;
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList);
|
||||
pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
for(pdevSup = (devSup *)ellFirst(&pdbRecordType->devList); pdevSup;
|
||||
pdevSup = (devSup *)ellNext(&pdevSup->node)) {
|
||||
if(!(pdset = pdevSup->pdset)) continue;
|
||||
if(!(pname = pdevSup->name)) continue;
|
||||
@@ -714,7 +715,7 @@ static void printDbAddr(long status,DBADDR *paddr)
|
||||
printf(" Field Address: %p",paddr->pfield);
|
||||
printf(" Field Description: %p\n",pdbFldDes);
|
||||
printf(" No Elements: %ld\n",paddr->no_elements);
|
||||
printf(" Record Type: %s\n",pdbFldDes->pdbRecDes->name);
|
||||
printf(" Record Type: %s\n",pdbFldDes->pdbRecordType->name);
|
||||
printf(" FieldType: DBF_");
|
||||
field_type = paddr->field_type;
|
||||
if(field_type<0 || field_type>DBR_NOACCESS)
|
||||
@@ -1030,14 +1031,14 @@ static int dbpr_report(
|
||||
|
||||
char *pmsg;
|
||||
dbFldDes *pdbFldDes = paddr->pfldDes;
|
||||
dbRecDes *pdbRecDes = pdbFldDes->pdbRecDes;
|
||||
dbRecordType *pdbRecordType = pdbFldDes->pdbRecordType;
|
||||
short n2;
|
||||
void *pfield;
|
||||
char *pfield_name;
|
||||
|
||||
pmsg = pMsgBuff->message;
|
||||
for (n2 = 0; n2 <= pdbRecDes->no_fields - 1; n2++) {
|
||||
pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->sortFldInd[n2]];
|
||||
for (n2 = 0; n2 <= pdbRecordType->no_fields - 1; n2++) {
|
||||
pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->sortFldInd[n2]];
|
||||
pfield_name = pdbFldDes->name;
|
||||
pfield = ((char *)paddr->precord) + pdbFldDes->offset;
|
||||
if (pdbFldDes->interest > interest_level )
|
||||
|
||||
+6
-6
@@ -50,7 +50,7 @@ long dbcar(char *precordname,int level)
|
||||
DBENTRY *pdbentry=&dbentry;
|
||||
long status;
|
||||
dbCommon *precord;
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
dbFldDes *pdbFldDes;
|
||||
DBLINK *plink;
|
||||
int ncalinks=0;
|
||||
@@ -64,16 +64,16 @@ long dbcar(char *precordname,int level)
|
||||
|
||||
|
||||
dbInitEntry(pdbbase,pdbentry);
|
||||
status = dbFirstRecdes(pdbentry);
|
||||
status = dbFirstRecordType(pdbentry);
|
||||
while(!status) {
|
||||
status = dbFirstRecord(pdbentry);
|
||||
while(!status) {
|
||||
if(!precordname
|
||||
|| (strcmp(precordname,dbGetRecordName(pdbentry)) ==0)) {
|
||||
pdbRecDes = pdbentry->precdes;
|
||||
pdbRecordType = pdbentry->precordType;
|
||||
precord = (dbCommon *)pdbentry->precnode->precord;
|
||||
for(j=0; j<pdbRecDes->no_links; j++) {
|
||||
pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[j]];
|
||||
for(j=0; j<pdbRecordType->no_links; j++) {
|
||||
pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[j]];
|
||||
plink = (DBLINK *)((char *)precord + pdbFldDes->offset);
|
||||
if (plink->type == CA_LINK) {
|
||||
ncalinks++;
|
||||
@@ -118,7 +118,7 @@ long dbcar(char *precordname,int level)
|
||||
}
|
||||
status = dbNextRecord(pdbentry);
|
||||
}
|
||||
status = dbNextRecdes(pdbentry);
|
||||
status = dbNextRecordType(pdbentry);
|
||||
}
|
||||
done:
|
||||
printf("ncalinks %d",ncalinks);
|
||||
|
||||
@@ -1,46 +1,46 @@
|
||||
include "menuGlobal.db"
|
||||
include "menuConvert.db"
|
||||
include "aiRecord.db"
|
||||
#include "aaiRecord.db"
|
||||
include "aoRecord.db"
|
||||
#include "aaoRecord.db"
|
||||
include "biRecord.db"
|
||||
include "boRecord.db"
|
||||
include "calcRecord.db"
|
||||
include "compressRecord.db"
|
||||
include "dfanoutRecord.db"
|
||||
#include "egRecord.db"
|
||||
#include "egeventRecord.db"
|
||||
#include "erRecord.db"
|
||||
#include "ereventRecord.db"
|
||||
include "eventRecord.db"
|
||||
include "fanoutRecord.db"
|
||||
#include "histogramRecord.db"
|
||||
include "longinRecord.db"
|
||||
include "longoutRecord.db"
|
||||
include "mbbiRecord.db"
|
||||
include "mbbiDirectRecord.db"
|
||||
include "mbboRecord.db"
|
||||
include "mbboDirectRecord.db"
|
||||
include "permissiveRecord.db"
|
||||
include "pidRecord.db"
|
||||
#include "pulseCounterRecord.db"
|
||||
#include "pulseDelayRecord.db"
|
||||
#include "pulseTrainRecord.db"
|
||||
#include "scanRecord.db"
|
||||
include "selRecord.db"
|
||||
include "seqRecord.db"
|
||||
include "stateRecord.db"
|
||||
#include "steppermotorRecord.db"
|
||||
include "stringinRecord.db"
|
||||
include "stringoutRecord.db"
|
||||
include "subRecord.db"
|
||||
#include "gsubRecord.db"
|
||||
#include "palRecord.db"
|
||||
include "subArrayRecord.db"
|
||||
#include "timerRecord.db"
|
||||
#include "waitRecord.db"
|
||||
include "waveformRecord.db"
|
||||
include "menuGlobal.dbd"
|
||||
include "menuConvert.dbd"
|
||||
include "aiRecord.dbd"
|
||||
#include "aaiRecord.dbd"
|
||||
include "aoRecord.dbd"
|
||||
#include "aaoRecord.dbd"
|
||||
include "biRecord.dbd"
|
||||
include "boRecord.dbd"
|
||||
include "calcRecord.dbd"
|
||||
include "compressRecord.dbd"
|
||||
include "dfanoutRecord.dbd"
|
||||
#include "egRecord.dbd"
|
||||
#include "egeventRecord.dbd"
|
||||
#include "erRecord.dbd"
|
||||
#include "ereventRecord.dbd"
|
||||
include "eventRecord.dbd"
|
||||
include "fanoutRecord.dbd"
|
||||
#include "histogramRecord.dbd"
|
||||
include "longinRecord.dbd"
|
||||
include "longoutRecord.dbd"
|
||||
include "mbbiRecord.dbd"
|
||||
include "mbbiDirectRecord.dbd"
|
||||
include "mbboRecord.dbd"
|
||||
include "mbboDirectRecord.dbd"
|
||||
include "permissiveRecord.dbd"
|
||||
include "pidRecord.dbd"
|
||||
#include "pulseCounterRecord.dbd"
|
||||
#include "pulseDelayRecord.dbd"
|
||||
#include "pulseTrainRecord.dbd"
|
||||
#include "scanRecord.dbd"
|
||||
include "selRecord.dbd"
|
||||
include "seqRecord.dbd"
|
||||
include "stateRecord.dbd"
|
||||
#include "steppermotorRecord.dbd"
|
||||
include "stringinRecord.dbd"
|
||||
include "stringoutRecord.dbd"
|
||||
include "subRecord.dbd"
|
||||
#include "gsubRecord.dbd"
|
||||
#include "palRecord.dbd"
|
||||
include "subArrayRecord.dbd"
|
||||
#include "timerRecord.dbd"
|
||||
#include "waitRecord.dbd"
|
||||
include "waveformRecord.dbd"
|
||||
device(ai,CONSTANT,devAiSoft,"Soft Channel")
|
||||
#device(ai,CONSTANT,devAiSoftRaw,"Raw Soft Channel")
|
||||
#device(ai,VME_IO,devAiXy566Se,"XYCOM-566 SE Scanned")
|
||||
@@ -237,7 +237,7 @@ device(waveform,CONSTANT,devWfSoft,"Soft Channel")
|
||||
#driver(drvIpac)
|
||||
#driver(drvTip810)
|
||||
#driver(drvVmi2534)
|
||||
#include "bptTypeJdegC.db"
|
||||
#include "bptTypeJdegF.db"
|
||||
#include "bptTypeKdegC.db"
|
||||
#include "bptTypeKdegF.db"
|
||||
#include "bptTypeJdegC.dbd"
|
||||
#include "bptTypeJdegF.dbd"
|
||||
#include "bptTypeKdegC.dbd"
|
||||
#include "bptTypeKdegF.dbd"
|
||||
+37
-36
@@ -306,22 +306,22 @@ LOCAL long initRecSup(void)
|
||||
long status=0;
|
||||
long rtnval;
|
||||
STATUS vxstatus;
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
struct rset *prset;
|
||||
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
strcpy(name,"_");
|
||||
strcat(name,pdbRecDes->name);
|
||||
strcat(name,pdbRecordType->name);
|
||||
strcat(name,"RSET");
|
||||
vxstatus = symFindByName(sysSymTbl, name,
|
||||
(void *)&pdbRecDes->prset, &type);
|
||||
(void *)&pdbRecordType->prset, &type);
|
||||
if (vxstatus != OK) {
|
||||
status = S_rec_noRSET;
|
||||
errPrintf(status,__FILE__,__LINE__,"%s",pdbRecDes->name);
|
||||
errPrintf(status,__FILE__,__LINE__,"%s",pdbRecordType->name);
|
||||
continue;
|
||||
}
|
||||
prset = pdbRecDes->prset;
|
||||
prset = pdbRecordType->prset;
|
||||
/* If an initialization routine exists for a record type, execute it */
|
||||
if(!prset->init) {
|
||||
continue;
|
||||
@@ -347,13 +347,13 @@ LOCAL long initDevSup(void)
|
||||
long status=0;
|
||||
long rtnval = 0;
|
||||
STATUS vxstatus;
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
devSup *pdevSup;
|
||||
struct dset *pdset;
|
||||
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
for(pdevSup = (devSup *)ellFirst(&pdbRecDes->devList); pdevSup;
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
for(pdevSup = (devSup *)ellFirst(&pdbRecordType->devList); pdevSup;
|
||||
pdevSup = (devSup *)ellNext(&pdevSup->node)) {
|
||||
if(!(pname = pdevSup->name)) continue;
|
||||
strcpy(name, "_");
|
||||
@@ -381,13 +381,13 @@ LOCAL long initDevSup(void)
|
||||
*/
|
||||
LOCAL long finishDevSup(void)
|
||||
{
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
devSup *pdevSup;
|
||||
struct dset *pdset;
|
||||
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
for(pdevSup = (devSup *)ellFirst(&pdbRecDes->devList); pdevSup;
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
for(pdevSup = (devSup *)ellFirst(&pdbRecordType->devList); pdevSup;
|
||||
pdevSup = (devSup *)ellNext(&pdevSup->node)) {
|
||||
if(!(pdset = pdevSup->pdset)) continue;
|
||||
if(pdset->init) (*pdset->init)(1);
|
||||
@@ -401,7 +401,7 @@ LOCAL long initDatabase(void)
|
||||
{
|
||||
long status=0;
|
||||
long rtnval=0;
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
dbFldDes *pdbFldDes;
|
||||
dbRecordNode *pdbRecordNode;
|
||||
devSup *pdevSup;
|
||||
@@ -412,10 +412,10 @@ LOCAL long initDatabase(void)
|
||||
DBLINK *plink;
|
||||
int j;
|
||||
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
prset = pdbRecDes->prset;
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList);
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
prset = pdbRecordType->prset;
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList);
|
||||
pdbRecordNode;
|
||||
pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) {
|
||||
if(!prset) break;
|
||||
@@ -423,7 +423,7 @@ LOCAL long initDatabase(void)
|
||||
precord = pdbRecordNode->precord;
|
||||
if(!(precord->name[0])) continue;
|
||||
precord->rset = prset;
|
||||
precord->rdes = pdbRecDes;
|
||||
precord->rdes = pdbRecordType;
|
||||
FASTLOCKINIT(&precord->mlok);
|
||||
ellInit(&(precord->mlis));
|
||||
|
||||
@@ -431,7 +431,7 @@ LOCAL long initDatabase(void)
|
||||
precord->pact=FALSE;
|
||||
|
||||
/* Init DSET NOTE that result may be NULL */
|
||||
pdevSup = (devSup *)ellNth(&pdbRecDes->devList,precord->dtyp+1);
|
||||
pdevSup = (devSup *)ellNth(&pdbRecordType->devList,precord->dtyp+1);
|
||||
pdset = (pdevSup ? pdevSup->pdset : 0);
|
||||
precord->dset = pdset;
|
||||
if(!prset->init_record) continue;
|
||||
@@ -443,18 +443,18 @@ LOCAL long initDatabase(void)
|
||||
/*
|
||||
* Second pass to resolve links
|
||||
*/
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
prset = pdbRecDes->prset;
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList);
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
prset = pdbRecordType->prset;
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList);
|
||||
pdbRecordNode;
|
||||
pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) {
|
||||
precord = pdbRecordNode->precord;
|
||||
if(!(precord->name[0])) continue;
|
||||
/* Convert all PV_LINKs to DB_LINKs or CA_LINKs */
|
||||
/* For all the links in the record type... */
|
||||
for(j=0; j<pdbRecDes->no_links; j++) {
|
||||
pdbFldDes = pdbRecDes->papFldDes[pdbRecDes->link_ind[j]];
|
||||
for(j=0; j<pdbRecordType->no_links; j++) {
|
||||
pdbFldDes = pdbRecordType->papFldDes[pdbRecordType->link_ind[j]];
|
||||
plink = (DBLINK *)((char *)precord + pdbFldDes->offset);
|
||||
if (plink->type == PV_LINK) {
|
||||
if(!(plink->value.pv_link.pvlMask&(pvlOptCA|pvlOptCP|pvlOptCPP))
|
||||
@@ -484,10 +484,10 @@ LOCAL long initDatabase(void)
|
||||
}
|
||||
|
||||
/* Call record support init_record routine - Second pass */
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
prset = pdbRecDes->prset;
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList);
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList); pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
prset = pdbRecordType->prset;
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList);
|
||||
pdbRecordNode;
|
||||
pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) {
|
||||
if(!prset) break;
|
||||
@@ -509,13 +509,14 @@ LOCAL long initDatabase(void)
|
||||
*/
|
||||
LOCAL long initialProcess(void)
|
||||
{
|
||||
dbRecDes *pdbRecDes;
|
||||
dbRecordType *pdbRecordType;
|
||||
dbRecordNode *pdbRecordNode;
|
||||
dbCommon *precord;
|
||||
|
||||
for(pdbRecDes = (dbRecDes *)ellFirst(&pdbbase->recDesList); pdbRecDes;
|
||||
pdbRecDes = (dbRecDes *)ellNext(&pdbRecDes->node)) {
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecDes->recList);
|
||||
for(pdbRecordType = (dbRecordType *)ellFirst(&pdbbase->recordTypeList);
|
||||
pdbRecordType;
|
||||
pdbRecordType = (dbRecordType *)ellNext(&pdbRecordType->node)) {
|
||||
for (pdbRecordNode=(dbRecordNode *)ellFirst(&pdbRecordType->recList);
|
||||
pdbRecordNode;
|
||||
pdbRecordNode = (dbRecordNode *)ellNext(&pdbRecordNode->node)) {
|
||||
precord = pdbRecordNode->precord;
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
include "menuAlarmSevr.db"
|
||||
include "menuAlarmStat.db"
|
||||
include "menuArrType.db"
|
||||
include "menuCompress.db"
|
||||
include "menuFtype.db"
|
||||
include "menuIvoa.db"
|
||||
include "menuLinr.db"
|
||||
include "menuOmsl.db"
|
||||
include "menuPriority.db"
|
||||
include "menuScan.db"
|
||||
include "menuYesNo.db"
|
||||
@@ -0,0 +1,11 @@
|
||||
include "menuAlarmSevr.dbd"
|
||||
include "menuAlarmStat.dbd"
|
||||
include "menuArrType.dbd"
|
||||
include "menuCompress.dbd"
|
||||
include "menuFtype.dbd"
|
||||
include "menuIvoa.dbd"
|
||||
include "menuLinr.dbd"
|
||||
include "menuOmsl.dbd"
|
||||
include "menuPriority.dbd"
|
||||
include "menuScan.dbd"
|
||||
include "menuYesNo.dbd"
|
||||
+4
-4
@@ -112,10 +112,10 @@ void recGblRecSupError(long status,struct dbAddr *paddr,char *pcaller_name,
|
||||
char buffer[200];
|
||||
struct dbCommon *precord;
|
||||
dbFldDes *pdbFldDes = 0;
|
||||
dbRecDes *pdbRecDes = 0;
|
||||
dbRecordType *pdbRecordType = 0;
|
||||
|
||||
if(paddr) pdbFldDes=(dbFldDes *)(paddr->pfldDes);
|
||||
if(pdbFldDes) pdbRecDes = pdbFldDes->pdbRecDes;
|
||||
if(pdbFldDes) pdbRecordType = pdbFldDes->pdbRecordType;
|
||||
buffer[0]=0;
|
||||
strcat(buffer,"Record Support Routine (");
|
||||
if(psupport_name)
|
||||
@@ -123,9 +123,9 @@ void recGblRecSupError(long status,struct dbAddr *paddr,char *pcaller_name,
|
||||
else
|
||||
strcat(buffer,"Unknown");
|
||||
strcat(buffer,") not available.\n");
|
||||
if(pdbRecDes) {
|
||||
if(pdbRecordType) {
|
||||
strcat(buffer,"Record Type is ");
|
||||
strcat(buffer,pdbRecDes->name);
|
||||
strcat(buffer,pdbRecordType->name);
|
||||
if(paddr) { /* print process variable name */
|
||||
precord=(struct dbCommon *)(paddr->precord);
|
||||
strcat(buffer,", PV is ");
|
||||
|
||||
@@ -1,230 +0,0 @@
|
||||
/* task_params.h */
|
||||
/* $Id$ */
|
||||
|
||||
/* Parameters for tasks on IOC */
|
||||
/*
|
||||
* Authors: Andy Kozubal, Jeff Hill, and Bob Dalesio
|
||||
* Date: 2-24-89
|
||||
*
|
||||
* Experimental Physics and Industrial Control System (EPICS)
|
||||
*
|
||||
* Copyright 1991, the Regents of the University of California,
|
||||
* and the University of Chicago Board of Governors.
|
||||
*
|
||||
* This software was produced under U.S. Government contracts:
|
||||
* (W-7405-ENG-36) at the Los Alamos National Laboratory,
|
||||
* and (W-31-109-ENG-38) at Argonne National Laboratory.
|
||||
*
|
||||
* Initial development by:
|
||||
* The Controls and Automation Group (AT-8)
|
||||
* Ground Test Accelerator
|
||||
* Accelerator Technology Division
|
||||
* Los Alamos National Laboratory
|
||||
*
|
||||
* Co-developed with
|
||||
* The Controls and Computing Group
|
||||
* Accelerator Systems Division
|
||||
* Advanced Photon Source
|
||||
* Argonne National Laboratory
|
||||
*
|
||||
* Modification Log:
|
||||
* -----------------
|
||||
* .01 07-23-91 ges Add time-stamp task.
|
||||
* .02 09-12-91 joh stack sizes increased for v5 vxWorks.
|
||||
* .03 10-24-91 lrd Increased stack sizes for scan tasks
|
||||
* .04 12-12-91 joh Increased stack size for the
|
||||
* wfDoneTask
|
||||
* .05 12-18-91 mrk Added callback task priorities
|
||||
* Changed def of PERIODSCAN_PRI and SEQUENCER_PRI
|
||||
* Shortened length of task names
|
||||
* .06 12-18-91 jba Global change of WDSCAN to TASKWD
|
||||
* .07 01-21-92 rcz Increased all stack sizes by 1000 for V5
|
||||
* .08 01-21-92 jrw added the GPIB & BB driver task info
|
||||
* .09 01-04-92 jba Added callback task priorities
|
||||
* .10 03-16-92 jrw added BB rx and tx specific task info
|
||||
* .11 05-22-92 lrd added the allen-bradley binary input Change of State scanner
|
||||
* .12 08-26-92 joh added xy 240 stuff
|
||||
* .13 08-26-92 joh added FP to CA repeater and on line to be safe
|
||||
* .14 02-16-92 joh removed historical items
|
||||
* .15 11-19-93 joh moved CA client priority up by one notch
|
||||
* .16 09-13-93 joh incresed CA on line beacon maximum delay
|
||||
* to 60 sec
|
||||
* .17 03-18-94 mcn added entries for breakpoint tasks
|
||||
* $Log$
|
||||
* Revision 1.2 1996/04/22 14:31:08 mrk
|
||||
* Changes for dynamic link modification
|
||||
*
|
||||
* Revision 1.1 1996/01/25 21:13:29 mrk
|
||||
* moved includes; .ascii=> .db; path changes
|
||||
*
|
||||
* Revision 1.27 1995/11/29 19:27:59 jhill
|
||||
* added $Log$
|
||||
* added Revision 1.2 1996/04/22 14:31:08 mrk
|
||||
* added Changes for dynamic link modification
|
||||
* added
|
||||
* added Revision 1.1 1996/01/25 21:13:29 mrk
|
||||
* added moved includes; .ascii=> .db; path changes
|
||||
* added
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef INCtaskLibh
|
||||
#include <taskLib.h>
|
||||
#endif
|
||||
|
||||
#define VXTASKIDSELF 0
|
||||
|
||||
/* Task Names */
|
||||
#define IOEVENTSCAN_NAME "scanIo"
|
||||
#define EVENTSCAN_NAME "scanEvent"
|
||||
#define SCANONCE_NAME "scanOnce"
|
||||
#define SMCMD_NAME "smCommand"
|
||||
#define SMRESP_NAME "smResponse"
|
||||
#define ABDONE_NAME "abDone"
|
||||
#define ABSCAN_NAME "abScan"
|
||||
#define ABCOS_NAME "abBiCosScanner"
|
||||
#define MOMENTARY_NAME "momentary"
|
||||
#define WFDONE_NAME "wfDone"
|
||||
#define SEQUENCER_NAME "sequencer"
|
||||
#define BKPT_CONT_NAME "bkptCont"
|
||||
#define SCANNER_NAME "scanner"
|
||||
#define REQ_SRVR_NAME "CA TCP"
|
||||
#define CA_CLIENT_NAME "CA client"
|
||||
#define CA_EVENT_NAME "CA event"
|
||||
#define CAST_SRVR_NAME "CA UDP"
|
||||
#define CA_REPEATER_NAME "CA repeater"
|
||||
#define CA_ONLINE_NAME "CA online"
|
||||
#define TASKWD_NAME "taskwd"
|
||||
#define SMIOTEST_NAME "smInout"
|
||||
#define SMROTTEST_NAME "smRotate"
|
||||
#define EVENT_PEND_NAME "event task"
|
||||
#define TIMESTAMP_NAME "timeStamp"
|
||||
#define XY240_NAME "xy 240 scan"
|
||||
#define GPIBLINK_NAME "gpibLink"
|
||||
#define BBLINK_NAME "bbLinkTask"
|
||||
#define BBTXLINK_NAME "bbTx"
|
||||
#define BBRXLINK_NAME "bbRx"
|
||||
#define BBWDTASK_NAME "bbwd"
|
||||
#define EPICSPRINT_NAME "epicsPrint"
|
||||
#define LOG_RESTART_NAME "logRestart"
|
||||
|
||||
/* Task priorities */
|
||||
#define EPICSPRINT_PRI 70
|
||||
#define SCANONCE_PRI 65 /* scan one time */
|
||||
/*DO NOT RUN ANY RECORD PROCESSING TASKS AT HIGHER PRIORITY THAN _netTask=50*/
|
||||
#define CALLBACK_PRI_LOW 65 /* callback task - generall callback task */
|
||||
#define CALLBACK_PRI_MEDIUM 57 /* callback task - generall callback task */
|
||||
#define CALLBACK_PRI_HIGH 51 /* callback task - generall callback task */
|
||||
#define IOEVENTSCAN_PRI 51 /* I/O Event Scanner - Runs on I/O interrupt */
|
||||
#define EVENTSCAN_PRI 52 /* Event Scanner - Runs on a global event */
|
||||
#define TIMESTAMP_PRI 32 /* Time-stamp task - interrupt */
|
||||
#define SMCMD_PRI 42 /* Stepper Motor Command Task - Waits for cmds */
|
||||
#define SMRESP_PRI 43 /* Stepper Motor Resp Task - Waits for resps */
|
||||
#define ABCOS_PRI 43 /* Allen-Bradley Binary Input COS io_event wakeup */
|
||||
#define ABDONE_PRI 44 /* Allen-Bradley Resp Task - Interrupt Driven */
|
||||
#define ABSCAN_PRI 45 /* Allen-Bradley Scan Task - Base Rate .1 secs */
|
||||
#define BBLINK_PRI 46
|
||||
#define BBWDTASK_PRI 45 /* BitBus watchdog task */
|
||||
#define BBRXLINK_PRI 46 /* BitBus link task */
|
||||
#define BBTXLINK_PRI 47 /* BitBus link task */
|
||||
#define GPIBLINK_PRI 47 /* GPIB link task */
|
||||
#define MOMENTARY_PRI 48 /* Momentary output - posted from watchdog */
|
||||
#define WFDONE_PRI 49 /* Waveform Task - Base Rate of .1 second */
|
||||
#define PERIODSCAN_PRI 59 /* Periodic Scanners - Slowest rate */
|
||||
#define SEQUENCER_PRI 70
|
||||
#define XY240_PRI 111 /* xy 240 dio scanner */
|
||||
#define DB_CA_PRI 100
|
||||
#define SCANNER_PRI 150
|
||||
#define REQ_SRVR_PRI 181 /* Channel Access TCP request server*/
|
||||
#define CA_CLIENT_PRI 180 /* Channel Access clients */
|
||||
#define CA_REPEATER_PRI 181 /* Channel Access repeater */
|
||||
#define CAST_SRVR_PRI 182 /* Channel Access broadcast server */
|
||||
#define CA_ONLINE_PRI 183 /* Channel Access server online notify */
|
||||
#define TASKWD_PRI 200 /* Watchdog Scan Task - runs every 6 seconds */
|
||||
#define SMIOTEST_PRI 205 /* Stepper Mtr in/out test - runs every .1 sec */
|
||||
#define SMROTTEST_PRI 205 /* Stepper Mtr rotate test - runs every .1 sec */
|
||||
#define LOG_RESTART_PRI 200 /* Log server connection watch dog */
|
||||
|
||||
/* Task delay times (seconds) */
|
||||
#define TASKWD_DELAY 6
|
||||
|
||||
/* Task delay times (tics) */
|
||||
#define ABSCAN_RATE (sysClkRateGet()/6)
|
||||
#define SEQUENCER_DELAY (sysClkRateGet()/5)
|
||||
#define SCANNER_DELAY (sysClkRateGet()/5)
|
||||
#define CA_ONLINE_DELAY (sysClkRateGet()*15)
|
||||
#define LOG_RESTART_DELAY (sysClkRateGet()*30)
|
||||
|
||||
/* Task creation options */
|
||||
#define EPICSPRINT_OPT VX_FP_TASK
|
||||
#define IOEVENTSCAN_OPT VX_FP_TASK
|
||||
#define EVENTSCAN_OPT VX_FP_TASK
|
||||
#define SCANONCE_OPT VX_FP_TASK
|
||||
#define CALLBACK_OPT VX_FP_TASK
|
||||
#define SMCMD_OPT VX_FP_TASK
|
||||
#define SMRESP_OPT VX_FP_TASK
|
||||
#define ABDONE_OPT VX_FP_TASK
|
||||
#define ABCOS_OPT VX_FP_TASK
|
||||
#define ABSCAN_OPT VX_FP_TASK
|
||||
#define MOMENTARY_OPT VX_FP_TASK
|
||||
#define PERIODSCAN_OPT VX_FP_TASK
|
||||
#define WFDONE_OPT VX_FP_TASK
|
||||
#define SEQUENCER_OPT VX_FP_TASK | VX_STDIO
|
||||
#define BKPT_CONT_OPT VX_FP_TASK
|
||||
#define SCANNER_OPT VX_FP_TASK
|
||||
#define REQ_SRVR_OPT VX_FP_TASK
|
||||
#define CAST_SRVR_OPT VX_FP_TASK
|
||||
#define CA_CLIENT_OPT VX_FP_TASK
|
||||
#define CA_REPEATER_OPT VX_FP_TASK
|
||||
#define CA_ONLINE_OPT VX_FP_TASK
|
||||
#define TASKWD_OPT VX_FP_TASK
|
||||
#define SMIOTEST_OPT VX_FP_TASK
|
||||
#define SMROTTEST_OPT VX_FP_TASK
|
||||
#define EVENT_PEND_OPT VX_FP_TASK
|
||||
#define TIMESTAMP_OPT VX_FP_TASK
|
||||
#define GPIBLINK_OPT VX_FP_TASK|VX_STDIO
|
||||
#define BBLINK_OPT VX_FP_TASK|VX_STDIO
|
||||
#define BBTXLINK_OPT VX_FP_TASK|VX_STDIO
|
||||
#define BBRXLINK_OPT VX_FP_TASK|VX_STDIO
|
||||
#define BBWDTASK_OPT VX_FP_TASK|VX_STDIO
|
||||
#define DB_CA_OPT (VX_FP_TASK | VX_STDIO)
|
||||
#define XY_240_OPT (0) /* none */
|
||||
#define LOG_RESTART_OPT (VX_FP_TASK)
|
||||
|
||||
|
||||
/* Task stack sizes */
|
||||
#define EPICSPRINT_STACK 4000
|
||||
#define EVENTSCAN_STACK 10000
|
||||
#define SCANONCE_STACK 10000
|
||||
#define CALLBACK_STACK 10000
|
||||
#define SMCMD_STACK 3000
|
||||
#define SMRESP_STACK 3000
|
||||
#define ABCOS_STACK 3000
|
||||
#define ABDONE_STACK 3000
|
||||
#define ABSCAN_STACK 3000
|
||||
#define MOMENTARY_STACK 2000
|
||||
#define PERIODSCAN_STACK 10000
|
||||
#define WFDONE_STACK 9000
|
||||
#define SEQUENCER_STACK 5096
|
||||
#define BKPT_CONT_STACK 10000
|
||||
#define SCANNER_STACK 3048
|
||||
#define RSP_SRVR_STACK 5096
|
||||
#define REQ_SRVR_STACK 5096
|
||||
#define CAST_SRVR_STACK 5096
|
||||
#define CA_CLIENT_STACK 10000
|
||||
#define CA_REPEATER_STACK 5096
|
||||
#define CA_ONLINE_STACK 3048
|
||||
#define TASKWD_STACK 2000 /* moved up by 1000 for v5 vxWorks */
|
||||
#define SMIOTEST_STACK 2000
|
||||
#define SMROTTEST_STACK 2000
|
||||
#define EVENT_PEND_STACK 5096
|
||||
#define TIMESTAMP_STACK 4000
|
||||
#define GPIBLINK_STACK 5000
|
||||
#define BBLINK_STACK 5000
|
||||
#define BBRXLINK_STACK 5000
|
||||
#define BBTXLINK_STACK 5000
|
||||
#define BBWDTASK_STACK 5000
|
||||
#define DB_CA_STACK 10000
|
||||
#define XY_240_STACK 4096
|
||||
#define LOG_RESTART_STACK 0x1000
|
||||
|
||||
Reference in New Issue
Block a user