1 added + 5 modified, total 6 files
epics/trunk/epics_example/myexampleApp/Db
--- epics/trunk/epics_example/myexampleApp/Db/Makefile 2014-07-18 01:01:57 UTC (rev 788)
+++ epics/trunk/epics_example/myexampleApp/Db/Makefile 2014-07-18 01:03:23 UTC (rev 789)
@@ -10,12 +10,13 @@
#----------------------------------------------------
# Create and install (or just install)
# databases, templates, substitutions like this
-DB += dbExample1.db
-DB += dbExample2.db
-DB += dbSubExample.db
-DB += user.substitutions
-DB += userHost.substitutions
-DB += hybLV.db
+#DB += dbExample1.db
+#DB += dbExample2.db
+#DB += dbSubExample.db
+#DB += user.substitutions
+#DB += userHost.substitutions
+#DB += hybLV.db
+DB += dbHybT.db
DB += dbHybLV.db
DB += dbFebTemp.db
DB += dbSVT.db
epics/trunk/epics_example/myexampleApp/Db
--- epics/trunk/epics_example/myexampleApp/Db/dbFebTemp.db 2014-07-18 01:01:57 UTC (rev 788)
+++ epics/trunk/epics_example/myexampleApp/Db/dbFebTemp.db 2014-07-18 01:03:23 UTC (rev 789)
@@ -1,22 +1,54 @@
+
record(sub,SVT:temp:fe:0:axixadc:t_rd_sub)
{
field(SCAN, "Passive")
field(INAM,"subTempInit")
field(SNAM,"subTempProcess")
- field(FLNK,"SVT:lv:hyb:bot:0:dvdd:i_rd")
+ field(FLNK,"SVT:temp:fe:0:FebTemp0:t_rd")
}
-record(ai, SVT:temp:fe:0:anap:t_rd) {
+record(ai, SVT:temp:fe:0:axixadc:t_rd) {
field(SCAN, "Passive")
field(FLNK,"SVT:temp:fe:0:axixadc:t_rd_sub")
field(INP, "SVT:temp:fe:0:axixadc:t_rd_sub PP")
field(DTYP,"Soft Channel")
}
+record(sub,SVT:temp:fe:0:FebTemp0:t_rd_sub)
+{
+ field(SCAN, "Passive")
+ field(INAM,"subTempInit")
+ field(SNAM,"subTempProcess")
+ field(FLNK,"SVT:temp:fe:0:FebTemp1:t_rd")
+}
+record(ai, SVT:temp:fe:0:FebTemp0:t_rd) {
+ field(SCAN, "Passive")
+ field(FLNK,"SVT:temp:fe:0:FebTemp0:t_rd_sub")
+ field(INP, "SVT:temp:fe:0:FebTemp0:t_rd_sub PP")
+ field(DTYP,"Soft Channel")
+}
+record(sub,SVT:temp:fe:0:FebTemp1:t_rd_sub)
+{
+ field(SCAN, "Passive")
+ field(INAM,"subTempInit")
+ field(SNAM,"subTempProcess")
+ field(FLNK,"SVT:lv:hyb:bot:0:dvdd:i_rd")
+}
+record(ai, SVT:temp:fe:0:FebTemp1:t_rd) {
+ field(SCAN, "Passive")
+ field(FLNK,"SVT:temp:fe:0:FebTemp1:t_rd_sub")
+ field(INP, "SVT:temp:fe:0:FebTemp1:t_rd_sub PP")
+ field(DTYP,"Soft Channel")
+}
+
+
+
+
+
epics/trunk/epics_example/myexampleApp/Db
--- epics/trunk/epics_example/myexampleApp/Db/dbHybLV.db 2014-07-18 01:01:57 UTC (rev 788)
+++ epics/trunk/epics_example/myexampleApp/Db/dbHybLV.db 2014-07-18 01:03:23 UTC (rev 789)
@@ -16,7 +16,7 @@
record(ai, SVT:lv:hyb:bot:0:dvdd:i_rd) {
field(SCAN, "Passive")
- field(FLNK,"SVT:lv:hyb:bot:0:dvdd:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:0:dvdd:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:0:dvdd:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -31,7 +31,7 @@
record(ai, SVT:lv:hyb:bot:1:dvdd:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:1:dvdd:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:1:dvdd:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:1:dvdd:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -46,7 +46,7 @@
record(ai, SVT:lv:hyb:bot:2:dvdd:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:2:dvdd:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:2:dvdd:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:2:dvdd:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -61,7 +61,7 @@
record(ai, SVT:lv:hyb:bot:3:dvdd:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:3:dvdd:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:3:dvdd:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:3:dvdd:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -81,7 +81,7 @@
record(ai, SVT:lv:hyb:bot:0:avdd:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:0:avdd:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:0:avdd:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:0:avdd:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -96,7 +96,7 @@
record(ai, SVT:lv:hyb:bot:1:avdd:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:1:avdd:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:1:avdd:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:1:avdd:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -111,7 +111,7 @@
record(ai, SVT:lv:hyb:bot:2:avdd:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:2:avdd:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:2:avdd:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:2:avdd:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -126,7 +126,7 @@
record(ai, SVT:lv:hyb:bot:3:avdd:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:3:avdd:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:3:avdd:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:3:avdd:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -146,7 +146,7 @@
record(ai, SVT:lv:hyb:bot:0:v125:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:0:v125:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:0:v125:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:0:v125:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -161,7 +161,7 @@
record(ai, SVT:lv:hyb:bot:1:v125:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:1:v125:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:1:v125:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:1:v125:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -176,7 +176,7 @@
record(ai, SVT:lv:hyb:bot:2:v125:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:2:v125:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:2:v125:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:2:v125:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -191,7 +191,7 @@
record(ai, SVT:lv:hyb:bot:3:v125:i_rd) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:3:v125:i_rd_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:3:v125:i_rd_sub")
field(INP, "SVT:lv:hyb:bot:3:v125:i_rd_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -213,7 +213,7 @@
record(ai, SVT:lv:hyb:bot:0:dvdd:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:0:dvdd:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:0:dvdd:vn_sub")
field(INP, "SVT:lv:hyb:bot:0:dvdd:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -228,7 +228,7 @@
record(ai, SVT:lv:hyb:bot:1:dvdd:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:1:dvdd:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:1:dvdd:vn_sub")
field(INP, "SVT:lv:hyb:bot:1:dvdd:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -243,7 +243,7 @@
record(ai, SVT:lv:hyb:bot:2:dvdd:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:2:dvdd:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:2:dvdd:vn_sub")
field(INP, "SVT:lv:hyb:bot:2:dvdd:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -258,7 +258,7 @@
record(ai, SVT:lv:hyb:bot:3:dvdd:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:3:dvdd:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:3:dvdd:vn_sub")
field(INP, "SVT:lv:hyb:bot:3:dvdd:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -279,7 +279,7 @@
record(ai, SVT:lv:hyb:bot:0:avdd:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:0:avdd:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:0:avdd:vn_sub")
field(INP, "SVT:lv:hyb:bot:0:avdd:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -294,7 +294,7 @@
record(ai, SVT:lv:hyb:bot:1:avdd:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:1:avdd:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:1:avdd:vn_sub")
field(INP, "SVT:lv:hyb:bot:1:avdd:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -309,7 +309,7 @@
record(ai, SVT:lv:hyb:bot:2:avdd:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:2:avdd:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:2:avdd:vn_sub")
field(INP, "SVT:lv:hyb:bot:2:avdd:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -324,7 +324,7 @@
record(ai, SVT:lv:hyb:bot:3:avdd:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:3:avdd:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:3:avdd:vn_sub")
field(INP, "SVT:lv:hyb:bot:3:avdd:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -346,7 +346,7 @@
record(ai, SVT:lv:hyb:bot:0:v125:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:0:v125:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:0:v125:vn_sub")
field(INP, "SVT:lv:hyb:bot:0:v125:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -361,7 +361,7 @@
record(ai, SVT:lv:hyb:bot:1:v125:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:1:v125:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:1:v125:vn_sub")
field(INP, "SVT:lv:hyb:bot:1:v125:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -376,7 +376,7 @@
record(ai, SVT:lv:hyb:bot:2:v125:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:2:v125:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:2:v125:vn_sub")
field(INP, "SVT:lv:hyb:bot:2:v125:vn_sub CPP")
field(DTYP,"Soft Channel")
}
@@ -386,11 +386,12 @@
field(INAM,"subLVInit")
field(SNAM,"subLVProcess")
field(SCAN,"Passive")
+ field(FLNK, "SVT:temp:hyb:bot:0:temp1:t_rd")
}
record(ai, SVT:lv:hyb:bot:3:v125:vn) {
#field(SCAN, "5 second")
- field(FLNK,"SVT:lv:hyb:bot:3:v125:vn_sub PP")
+ field(FLNK,"SVT:lv:hyb:bot:3:v125:vn_sub")
field(INP, "SVT:lv:hyb:bot:3:v125:vn_sub CPP")
field(DTYP,"Soft Channel")
}
epics/trunk/epics_example/myexampleApp/Db
--- epics/trunk/epics_example/myexampleApp/Db/dbHybT.db (rev 0)
+++ epics/trunk/epics_example/myexampleApp/Db/dbHybT.db 2014-07-18 01:03:23 UTC (rev 789)
@@ -0,0 +1,36 @@
+
+
+####### T_RD BOT
+
+
+record(sub,SVT:temp:hyb:bot:0:temp1:t_rd_sub)
+{
+ field(SCAN,"Passive")
+ field(INAM,"subTempInit")
+ field(SNAM,"subTempProcess")
+ field(FLNK,"SVT:temp:hyb:bot:1:temp1:t_rd")
+}
+
+record(ai, SVT:temp:hyb:bot:0:temp1:t_rd) {
+ field(SCAN, "Passive")
+ field(FLNK,"SVT:temp:hyb:bot:0:temp1:t_rd_sub")
+ field(INP, "SVT:temp:hyb:bot:0:temp1:t_rd_sub CPP")
+ field(DTYP,"Soft Channel")
+}
+
+
+
+record(sub,SVT:temp:hyb:bot:1:temp1:t_rd_sub)
+{
+ field(SCAN,"Passive")
+ field(INAM,"subTempInit")
+ field(SNAM,"subTempProcess")
+}
+
+record(ai, SVT:temp:hyb:bot:1:temp1:t_rd) {
+ field(SCAN, "Passive")
+ field(FLNK,"SVT:temp:hyb:bot:1:temp1:t_rd_sub")
+ field(INP, "SVT:temp:hyb:bot:1:temp1:t_rd_sub CPP")
+ field(DTYP,"Soft Channel")
+}
+
epics/trunk/epics_example/myexampleApp/src
--- epics/trunk/epics_example/myexampleApp/src/client_util.c 2014-07-18 01:01:57 UTC (rev 788)
+++ epics/trunk/epics_example/myexampleApp/src/client_util.c 2014-07-18 01:03:23 UTC (rev 789)
@@ -23,6 +23,7 @@
return s;
}
+
double extractTempValFromString(char value[]) {
double t = 0.0;
char* p_start = strstr(value,"C (");
@@ -289,28 +290,6 @@
xmlCleanupParser();
}
-void readAxiXadcT(int sockfd,int feb_id, char value[],const unsigned int MAX) {
- char tag[] = "system:status:FrontEndTestFpga:FebCore:AxiXadc:Temperature";
- xmlDoc* document = NULL;
- xmlNode* root = NULL;
- int* p_sockfd = &sockfd;
- if(client_util_debug!=0) printf("readAxiXadcT: get DOM\n");
- getSystemDOM(p_sockfd,&document,&root);
- if(document==NULL) {
- printf("couldn't get xml document %p\n",document);
- return;
- }
- if(root==NULL) {
- printf("couldn't get root from document\n");
- document=NULL;
- return;
- }
- if(client_util_debug!=0) printf("retrieve value\n");
- retrieveValue(document,root,tag,value,MAX);
- if(client_util_debug!=0) printf("free the xml\n");
- xmlFreeDoc(document);
- xmlCleanupParser();
-}
void getXMLValue(char tag[], char value[],const unsigned int MAX) {
@@ -329,8 +308,17 @@
}
-void readFebT(int feb_id, char value[],const unsigned int MAX) {
- char tag[] = "system:status:FrontEndTestFpga:FebCore:AxiXadc:Temperature";
+void readFebT(int feb_id, char value[],char ch_name[],const unsigned int MAX) {
+ char tag[256];// = "system:status:FrontEndTestFpga:FebCore:AxiXadc:Temperature";
+ memset(tag,0,256);
+ if(strcmp(ch_name,"axixadc")==0) {
+ strcpy(tag,"system:status:FrontEndTestFpga:FebCore:AxiXadc:Temperature");
+ } else if(strcmp(ch_name,"FebTemp0")==0 || strcmp(ch_name,"FebTemp1")==0) {
+ sprintf(tag,"system:status:FrontEndTestFpga:FebCore:PowerMonitor:%s",ch_name);
+ } else {
+ printf("Error: wrong ch_name \"%s\" for readFebT\n",ch_name);
+ return;
+ }
getXMLValue(tag,value,MAX);
}
epics/trunk/epics_example/myexampleApp/src
--- epics/trunk/epics_example/myexampleApp/src/dbSubExample.c 2014-07-18 01:01:57 UTC (rev 788)
+++ epics/trunk/epics_example/myexampleApp/src/dbSubExample.c 2014-07-18 01:03:23 UTC (rev 789)
@@ -6,14 +6,19 @@
#include <aSubRecord.h>
#include <epicsExport.h>
#include <tcpipExample.h>
+#include <stringinRecord.h>
+#include <longinRecord.h>
#include <client_util.h>
+
int mySubDebug = 0;
+int process_order = 0;
const int BUF_SIZE = 256;
//char hostName[256] = "";// "134.79.229.141";
char* hostNameDef = "134.79.229.141";
char hostName[256];
-int port = 8090;
+int portDef = 8090;
+int port;
int sockfd = 0;
int counter = 0;
const double def_hyb_v = -1.0;
@@ -21,54 +26,57 @@
const double def_AxiXadcTemp = -1.0;
static long subLVInit(subRecord *precord) {
+ process_order++;
if (mySubDebug) {
- printf("Record %s called subLVInit(%p)\n", precord->name, (void*) precord);
+ printf("%d Record %s called subLVInit(%p)\n", process_order, precord->name, (void*) precord);
}
return 0;
}
static long subTempInit(subRecord *precord) {
+ process_order++;
if (mySubDebug) {
- printf("Record %s called subTempInit(%p)\n", precord->name, (void*) precord);
+ printf("%d: Record %s called subTempInit(%p)\n", process_order, precord->name, (void*) precord);
}
return 0;
}
-static long subPollInit(subRecord *precord) {
+static void setupSocket(subRecord *precord) {
+ process_order++;
if (mySubDebug) {
- printf("Record %s called subPollInit(%p)\n", precord->name, (void*) precord);
- //sockfd = open_socket(hostName,port);
- //printf("Opened socket %d\n",sockfd);
+ printf("%d: Record %s called setupSocket(%p)\n", process_order, precord->name, (void*) precord);
}
+
// look for host name and port in DB
//initialize the string
memset(hostName,0,BUF_SIZE);
+ port=0;
struct link* inpa;
struct link* inpb;
inpa = &precord->inpa;
inpb = &precord->inpb;
if(inpa && inpb) {
- if(inpa->value.constantStr && inpb->value.constantStr) {
+ if(inpa && inpb) {
//union value va = inpa->value;
//union value vb = inpb->value;
if (mySubDebug) {
printf("inpa type %d value %p %s\n",inpa->type,inpa->value.constantStr,inpa->value.constantStr);
printf("inpb type %d value %p %s\n",inpb->type,inpb->value.constantStr,inpb->value.constantStr);
+ printf("inpa pv_link name %p\n",(inpa->value).pv_link.pvname);
+ printf("inpa pv_link name %s\n",(inpa->value).pv_link.pvname);
}
- printf("%s\n",inpa->value.constantStr);
- //sprintf(hostName,"%s",inpa->value.constantStr);
- strcpy(hostName,inpa->value.constantStr);
- printf("%s\n",hostName);
-
- int p = (int)strtol(inpb->value.constantStr,NULL,0);
- if(p) {
- port = p;
- }
- else {
- printf("problem converting to in for port %s\n",inpb->value.constantStr);
- }
+ //struct dbCommon* recA = ((inpa->value).pv_link).precord;
+ struct stringinRecord* recA = (stringinRecord*) ((inpa->value).pv_link).precord;
+ if (mySubDebug) printf("inpa pv_link record %p name %s\n",recA, recA->name);
+ char* stra = recA->val;
+ if (mySubDebug) printf("stra %p %s %c\n",stra,stra,stra[0]);
+ strcpy(hostName,stra);
+ if (mySubDebug) printf("got hostname \"%s\"\n",hostName);
+ struct longinRecord* recB = (longinRecord*) ((inpa->value).pv_link).precord;
+ if (mySubDebug) printf("inpb pv_link record %p name %s\n",recB, recB->name);
+ port = recB->val;
} else {
printf("inpa and inpb strings are null when getting host and port\n");
}
@@ -76,17 +84,32 @@
} else {
printf("inpa and inpb are null when getting host and port\n");
}
-
+
if(strlen(hostName)==0) {
- printf("No hostname found in DB. USe default\b");
+ printf("No hostname found in DB. Use default\n");
strcpy(hostName,hostNameDef);
}
+ if(port==0) {
+ printf("No port found in DB. Use default\n");
+ port = portDef;
+ }
+
printf("hostName %s port %d\n",hostName,port);
if(strcmp(hostName,"")==0) {
printf("ERROR no valid hostname found\n");
- return 1;
+ return;
}
+
+}
+
+
+static long subPollInit(subRecord *precord) {
+ process_order++;
+ if (mySubDebug) {
+ printf("%d: Record %s called subPollInit(%p)\n", process_order, precord->name, (void*) precord);
+ }
+ setupSocket(precord);
return 0;
@@ -104,7 +127,7 @@
{
double constant;
if(mySubDebug) {
- printf("Record %s called readHybrid %s for half=%s id=%d ch_name=%s\n",precord->name,action,half,id,ch_name);
+ printf("Record %s called readHybrid %s for half=%s id=%d ch_name=%s\n", precord->name,action,half,id,ch_name);
}
//set to default
@@ -123,6 +146,7 @@
}
else if(strcmp(action,"vn_sub")==0) {
readHybridV(feb_id, id, ch_name, "Near", value, BUF_SIZE);
+ constant = 1e3;
}
else if(strcmp(action,"v_set_sub")==0) {
// need to move this to a write function?
@@ -148,17 +172,13 @@
}
//set to default
+ precord->val=def_AxiXadcTemp;
char value[BUF_SIZE];
memset(value,0,BUF_SIZE);
if(strcmp(action,"t_rd_sub")==0) {
- if(strcmp(ch_name,"axixadc") ==0 ) {
- precord->val=def_AxiXadcTemp;
- readFebT(feb_id, value, BUF_SIZE);
- } else {
- printf("No such ch_name %s implemented for readFeb!\n",ch_name);
- return;
- }
+ readFebT(feb_id, value, ch_name, BUF_SIZE);
+
}
else {
printf("No such action %s implemented for readFeb!\n",action);
@@ -220,8 +240,9 @@
static long subLVProcess(subRecord *precord) {
+ process_order++;
if (mySubDebug) {
- printf("Record %s called subLVProcess(%p)\n", precord->name, (void*) precord);
+ printf("%d: Record %s called subLVProcess(%p)\n",process_order, precord->name, (void*) precord);
}
//SVT:lv:hyb:bot:0:dvdd:vn_sub
int feb_id;
@@ -296,14 +317,16 @@
static long subTempProcess(subRecord *precord) {
+ process_order++;
if (mySubDebug) {
- printf("Record %s called subTempProcess(%p)\n", precord->name, (void*) precord);
+ printf("%d: Record %s called subTempProcess(%p)\n",process_order, precord->name, (void*) precord);
}
//SVT:temp:hyb:bot:0:temp1:t_rd_sub
//SVT:temp:hyb:bot:0:temp2:t_rd_sub
//SVT:temp:fe:0:axixadc:t_rd_sub)
int feb_id;
char type[BUF_SIZE];
+ memset(type,0,BUF_SIZE);
char board_type[BUF_SIZE];
char half[BUF_SIZE];
char id[BUF_SIZE];
@@ -318,8 +341,10 @@
printf("Record %s has type %s board type \"%s\"\n", precord->name, type,board_type);
}
- if(strcmp(type,"temp")!=0) {
- printf("ERROR this type is not valid \"%s\"\n",type);
+ // char tmp[BUF_SIZE];
+ int type_cmp;
+ if((type_cmp=strcmp(type,"temp"))!=0) {
+ printf("ERROR this type is not valid \"%s\" cmp %d\n",type,type_cmp);
return 0;
}
@@ -368,10 +393,9 @@
printf("ERROR this feb action type is not valid \"%s\"\n",action);
return 0;
}
-
- if(strcmp(ch_name,"axixadc") ) {
- printf("ERROR wrong option for feb ch: %s\n",ch_name);
- return 0;
+ if(strcmp(ch_name,"axixadc") !=0 && strcmp(ch_name,"FebTemp0") !=0 && strcmp(ch_name,"FebTemp1") !=0 ) {
+ printf("This ch name is not implemented for for readFeb: \"%s\" !\n",ch_name);
+ return 0;
}
readFeb(precord,action,feb_id,ch_name);
@@ -393,11 +417,13 @@
static long subPollProcess(subRecord *precord) {
+ process_order++;
if (mySubDebug) {
- printf("Record %s called subPollProcess(%p)\n", precord->name, (void*) precord);
+ printf("%d: Record %s called subPollProcess(%p)\n",process_order, precord->name, (void*) precord);
printf("sockfd %d\n",sockfd);
}
if(sockfd<=0) {
+ setupSocket(precord);
printf("Re-opening socket: host: %s:%d\n",hostName, port);
sockfd = open_socket(hostName,port);
printf("Opened socket : %d\n",sockfd);
@@ -422,17 +448,19 @@
static long mySubInit(subRecord *precord)
{
+ process_order++;
if (mySubDebug) {
- printf("Record %s called mySubInit(%p)\n", precord->name, (void*) precord);
+ printf("%d: Record %s called mySubInit(%p)\n", process_order, precord->name, (void*) precord);
}
return 0;
}
static long mySubProcess(subRecord *precord)
{
+ process_order++;
if (mySubDebug) {
- printf("Record %s called mySubProcess(%p)\n",
- precord->name, (void*) precord);
+ printf("%d: Record %s called mySubProcess(%p)\n",
+ process_order, precord->name, (void*) precord);
}
precord->val++;
counter++;
@@ -441,16 +469,18 @@
static long mySubTempInit(subRecord* precord)
{
+ process_order++;
if(mySubDebug) {
- printf("Record %s called mySubTempInit(%p)\n",precord->name,(void*) precord);
+ printf("%d: Record %s called mySubTempInit(%p)\n",process_order, precord->name,(void*) precord);
}
return 0;
}
static long mySubCalDelayInit(subRecord* precord)
{
+ process_order++;
if(mySubDebug) {
- printf("Record %s called mySubCalDelayInit(%p)\n",precord->name,(void*) precord);
+ printf("%d: Record %s called mySubCalDelayInit(%p)\n",process_order,precord->name,(void*) precord);
}
return 0;
}
@@ -458,8 +488,9 @@
static long mySubTempProcess(subRecord* precord)
{
+ process_order++;
if(mySubDebug) {
- printf("Record %s called mySubTempProcess(%p)\n",precord->name,(void*) precord);
+ printf("%d: Record %s called mySubTempProcess(%p)\n", process_order, precord->name,(void*) precord);
}
sockfd = open_socket(hostName,port);
if (mySubDebug) {
@@ -491,8 +522,9 @@
static long mySubCalDelayProcess(subRecord* precord)
{
+ process_order++;
if(mySubDebug) {
- printf("Record %s called mySubCalDelayProcess(%p)\n",precord->name,(void*) precord);
+ printf("%d: Record %s called mySubCalDelayProcess(%p)\n",process_order,precord->name,(void*) precord);
}
sockfd = open_socket(hostName,port);
if (mySubDebug) {
@@ -533,17 +565,19 @@
static long myAsubInit(aSubRecord *precord)
{
+process_order++;
if (mySubDebug)
- printf("Record %s called myAsubInit(%p)\n",
- precord->name, (void*) precord);
+ printf("%dRecord %s called myAsubInit(%p)\n",
+ process_order, precord->name, (void*) precord);
return 0;
}
static long myAsubProcess(aSubRecord *precord)
{
+process_order++;
if (mySubDebug)
- printf("Record %s called myAsubProcess(%p)\n",
- precord->name, (void*) precord);
+ printf("%d: Record %s called myAsubProcess(%p)\n",
+ process_order, precord->name, (void*) precord);
return 0;
}
SVNspam 0.1