]> jspc29.x-matter.uni-frankfurt.de Git - daqdata.git/commitdiff
EB prefix from shared mem added. Sergey.
authorhadaq <hadaq>
Wed, 24 Nov 2010 15:07:30 +0000 (15:07 +0000)
committerhadaq <hadaq>
Wed, 24 Nov 2010 15:07:30 +0000 (15:07 +0000)
ebctrl/ioc/ebctrlApp/src/evtbuild.c
ebctrl/ioc/ebctrlApp/src/evtbuild.dbd

index 438bf730be8e8d0205f771628e7b934198801955..a225968f6c6164babeed67c37f8a8450c368b316 100644 (file)
@@ -42,6 +42,7 @@ long evtbuild_proc( struct genSubRecord *pgsub )
   unsigned long tmp;
   static unsigned long temp[10] = {0};
   int i;
+  char *prefix;
 
   out[0]  = (uint32_t *)pgsub->vala;  /* nrOfMsgs */
   out[1]  = (uint32_t *)pgsub->valb;  /* byteWrit = bytes written */
@@ -59,6 +60,8 @@ long evtbuild_proc( struct genSubRecord *pgsub )
   out[13] = (uint32_t *)pgsub->valn;  /* number of EB machine (1 = lxhadeb01) */  
   out[14] = (uint32_t *)pgsub->valo;  /* PID */
   out[15] = (uint32_t *)pgsub->valp;  /* core number */
+  prefix = (char *)pgsub->valq;
+
   /* pgsub->vall : bytesWrittenRate in stringin record (array of char's) */
 
   for( i=0; i<16; i++ )
@@ -280,11 +283,34 @@ long evtbuild_proc( struct genSubRecord *pgsub )
   }
 
   /*
-   *   int bytedCoverted;   
-   *   sprintf( buf, "%s", unit(*out[9]));
-   *   strcpy(pgsub->vall, buf);
+   *   **************    prefix code    ***************
    */
+
+  if( Worker_getStatistic( buf, "prefix", &tmp ) == -1) {
+    sprintf(prefix, "--");
+
+    if(evtbuildDebug)
+      printf("<E> evtbuild.c: Worker_getStatistic failed for prefix!\n");
+  }
+  else {
+    uint32_t code = (uint32_t)tmp;
+
+    /* Decode prefixCode back to prefix string */
+    char alphabet[] = "abcdefghijklmnopqrstuvwxyz";
+    
+    int i1 = (int)(code/100) - 1;
+    int i2 = code - 100 * (int)(code/100) - 1;
+    
+    if(i1 >= 0 && i1 < 26 && i2 >= 0 && i2 < 26){
+      sprintf(prefix, "%c%c", alphabet[i1], alphabet[i2]);
+    }
+    else{
+      sprintf(prefix, "--");
+      if(evtbuildDebug)
+       printf("<E> evtbuild.c: decoding for prefix failed!\n");
+    }
+  }
+
   return(0);
 }
 
index 7a19465d8eb0107c99b239fb729ee567227b7588..f3798202e29b864ea565afe5c498c4f0df71abf4 100644 (file)
@@ -1,3 +1,3 @@
 variable(evtbuildDebug)
 function(evtbuild_init)
-function(evtbuild_proc)
\ No newline at end of file
+function(evtbuild_proc)