EPICS Home

Experimental Physics and Industrial Control System


 
2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: [Merge] lp:~khkim/epics-base/fix-timestamp into lp:epics-base
From: "Kim, Kukhee" <[email protected]>
To: [email protected]
Date: Wed, 26 May 2010 09:07:27 -0000
Kim, Kukhee has proposed merging lp:~khkim/epics-base/fix-timestamp into lp:epics-base.

Requested reviews:
  EPICS Core Developers (epics-core)


Put a new record field;TSMD (timestamp mode) to describe when the timesample will be updated.
There are three choices available.
1. DEFAULT: timestamp will be updated as the conventioal way
2. Monitor Deadband: timestamp will be updated when the value changes exceed the monitoring deadband.
3. Archive Deadband; timestamp will be updated when the value changes exceed the archiving deadband.
-- 
https://code.launchpad.net/~khkim/epics-base/fix-timestamp/+merge/26023
Your team EPICS Core Developers is requested to review the proposed merge of lp:~khkim/epics-base/fix-timestamp into lp:epics-base.
=== modified file 'src/db/Makefile'
--- src/db/Makefile	2009-12-21 19:45:12 +0000
+++ src/db/Makefile	2010-05-26 09:07:26 +0000
@@ -45,6 +45,7 @@
 DBDINC += menuScan
 DBDINC += menuYesNo
 DBDINC += menuSimm
+DBDINC += menuRecTime
 
 DBDINC += dbCommon
 DBD+=  menuGlobal.dbd

=== modified file 'src/db/menuGlobal.dbd'
--- src/db/menuGlobal.dbd	2009-04-23 20:35:02 +0000
+++ src/db/menuGlobal.dbd	2010-05-26 09:07:26 +0000
@@ -17,3 +17,4 @@
 include "menuScan.dbd"
 include "menuSimm.dbd"
 include "menuYesNo.dbd"
+include "menuRecTime.dbd"

=== added file 'src/db/menuRecTime.dbd'
--- src/db/menuRecTime.dbd	1970-01-01 00:00:00 +0000
+++ src/db/menuRecTime.dbd	2010-05-26 09:07:26 +0000
@@ -0,0 +1,5 @@
+menu(menuRecTime) {
+	choice(menuRecTimeDEFAULT,      "Default")
+        choice(menuRecTimeMONDEADBAND,  "Mon Deadband")
+        choice(menuRecTimeARCHDEADBAND, "Arch DeadBand")
+}

=== modified file 'src/rec/aiRecord.c'
--- src/rec/aiRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/aiRecord.c	2010-05-26 09:07:26 +0000
@@ -36,6 +36,7 @@
 #include "recGbl.h"
 #include "special.h"
 #include "menuConvert.h"
+#include "menuRecTime.h"
 #define GEN_SIZE_OFFSET
 #include "aiRecord.h"
 #undef  GEN_SIZE_OFFSET
@@ -169,7 +170,7 @@
 	if ( !pact && prec->pact ) return(0);
 	prec->pact = TRUE;
 
-	recGblGetTimeStamp(prec);
+	if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
 	if (status==0) convert(prec);
 	else if (status==2) status=0;
 
@@ -402,6 +403,11 @@
 		prec->alst = prec->val;
 	}
 
+	if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+           (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+           ) recGblGetTimeStamp(prec);
+
+
 	/* send out monitors connected to the value field */
 	if (monitor_mask){
 		db_post_events(prec,&prec->val,monitor_mask);

=== modified file 'src/rec/aiRecord.dbd'
--- src/rec/aiRecord.dbd	2005-11-15 23:35:34 +0000
+++ src/rec/aiRecord.dbd	2010-05-26 09:07:26 +0000
@@ -230,4 +230,11 @@
 		interest(2)
 		menu(menuAlarmSevr)
 	}
+        field(TSMD, DBF_MENU) {
+		prompt("Timestamping mode")
+		promptgroup(GUI_CONVERT)
+		pp(TRUE)
+		interest(1)
+		menu(menuRecTime)
+	}
 }

=== modified file 'src/rec/aoRecord.c'
--- src/rec/aoRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/aoRecord.c	2010-05-26 09:07:26 +0000
@@ -37,6 +37,7 @@
 #include "menuConvert.h"
 #include "menuOmsl.h"
 #include "menuYesNo.h"
+#include "menuRecTime.h"
 #define GEN_SIZE_OFFSET
 #include "aoRecord.h"
 #undef  GEN_SIZE_OFFSET
@@ -231,7 +232,7 @@
 	if ( !pact && prec->pact ) return(0);
 	prec->pact = TRUE;
 
-	recGblGetTimeStamp(prec);
+	if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
 
 	/* check event list */
 	monitor(prec);
@@ -500,6 +501,11 @@
                 prec->alst = prec->val;
         }
 
+	if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+           (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+           ) recGblGetTimeStamp(prec);
+
+
 
         /* send out monitors connected to the value field */
         if (monitor_mask){

=== modified file 'src/rec/aoRecord.dbd'
--- src/rec/aoRecord.dbd	2002-07-12 21:35:43 +0000
+++ src/rec/aoRecord.dbd	2010-05-26 09:07:26 +0000
@@ -291,4 +291,11 @@
 		prompt("Was OVAL modified?")
 		special(SPC_NOMOD)
 	}
+        field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
 }

=== modified file 'src/rec/biRecord.c'
--- src/rec/biRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/biRecord.c	2010-05-26 09:07:26 +0000
@@ -31,6 +31,7 @@
 #include "devSup.h"
 #include "errMdef.h"
 #include "menuSimm.h"
+#include "menuRecTime.h"
 #include "recSup.h"
 #include "recGbl.h"
 #include "special.h"
@@ -133,7 +134,7 @@
 	if ( !pact && prec->pact ) return(0);
 	prec->pact = TRUE;
 
-	recGblGetTimeStamp(prec);
+	if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
 	if(status==0) { /* convert rval to val */
 		if(prec->rval==0) prec->val =0;
 		else prec->val = 1;
@@ -236,6 +237,11 @@
                 prec->mlst = prec->val;
         }
 
+	if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+           (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+          ) recGblGetTimeStamp(prec);
+
+
 	/* send out monitors connected to the value field */
 	if (monitor_mask){
 		db_post_events(prec,&prec->val,monitor_mask);

=== modified file 'src/rec/biRecord.dbd'
--- src/rec/biRecord.dbd	2009-06-08 19:55:49 +0000
+++ src/rec/biRecord.dbd	2010-05-26 09:07:26 +0000
@@ -103,4 +103,12 @@
 		interest(2)
 		menu(menuAlarmSevr)
 	}
+	field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
+
 }

=== modified file 'src/rec/boRecord.c'
--- src/rec/boRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/boRecord.c	2010-05-26 09:07:26 +0000
@@ -39,6 +39,7 @@
 #include "menuIvoa.h"
 #include "menuOmsl.h"
 #include "menuYesNo.h"
+#include "menuRecTime.h"
 #include "epicsExport.h"
 
 /* Create RSET - Record Support Entry Table*/
@@ -252,7 +253,7 @@
 	if ( !pact && prec->pact ) return(0);
 	prec->pact = TRUE;
 
-	recGblGetTimeStamp(prec);
+	if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
 	if((prec->val==1) && (prec->high>0)){
 	    myCallback *pcallback;
 	    pcallback = (myCallback *)(prec->rpvt);
@@ -359,6 +360,11 @@
                 prec->mlst = prec->val;
         }
 
+	if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+           (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+          ) recGblGetTimeStamp(prec);
+
+
         /* send out monitors connected to the value field */
         if (monitor_mask){
                 db_post_events(prec,&prec->val,monitor_mask);

=== modified file 'src/rec/boRecord.dbd'
--- src/rec/boRecord.dbd	2009-06-08 19:55:49 +0000
+++ src/rec/boRecord.dbd	2010-05-26 09:07:26 +0000
@@ -148,4 +148,11 @@
 		promptgroup(GUI_OUTPUT)
 		interest(2)
 	}
+	field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
 }

=== modified file 'src/rec/calcRecord.c'
--- src/rec/calcRecord.c	2009-04-03 14:40:13 +0000
+++ src/rec/calcRecord.c	2010-05-26 09:07:26 +0000
@@ -32,6 +32,7 @@
 #include "recSup.h"
 #include "recGbl.h"
 #include "special.h"
+#include "menuRecTime.h"
 #define GEN_SIZE_OFFSET
 #include "calcRecord.h"
 #undef  GEN_SIZE_OFFSET
@@ -117,7 +118,7 @@
 	    recGblSetSevr(prec, CALC_ALARM, INVALID_ALARM);
 	} else prec->udf = isnan(prec->val);
     }
-    recGblGetTimeStamp(prec);
+    if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
     /* check for alarms */
     checkAlarms(prec);
     /* check event list */
@@ -325,6 +326,11 @@
 	prec->alst = prec->val;
     }
 
+    if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+       (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+      ) recGblGetTimeStamp(prec);
+
+
     /* send out monitors connected to the value field */
     if (monitor_mask){
 	db_post_events(prec, &prec->val, monitor_mask);

=== modified file 'src/rec/calcRecord.dbd'
--- src/rec/calcRecord.dbd	2007-03-13 16:39:53 +0000
+++ src/rec/calcRecord.dbd	2010-05-26 09:07:26 +0000
@@ -168,6 +168,13 @@
 		promptgroup(GUI_DISPLAY)
 		interest(1)
 	}
+	field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
 	field(A,DBF_DOUBLE) {
 		prompt("Value of Input A")
 		pp(TRUE)
@@ -298,4 +305,5 @@
 		interest(4)
 		extra("char	rpcl[INFIX_TO_POSTFIX_SIZE(40)]")
 	}
+
 }

=== modified file 'src/rec/calcoutRecord.c'
--- src/rec/calcoutRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/calcoutRecord.c	2010-05-26 09:07:26 +0000
@@ -41,6 +41,7 @@
 #include "calcoutRecord.h"
 #undef  GEN_SIZE_OFFSET
 #include "menuIvoa.h"
+#include "menuRecTime.h"
 #include "epicsExport.h"
 
 /* Create RSET - Record Support Entry Table*/
@@ -276,7 +277,7 @@
             writeValue(prec);
         }
     }
-    recGblGetTimeStamp(prec);
+    if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
     monitor(prec);
     recGblFwdLink(prec);
     prec->pact = FALSE;
@@ -596,6 +597,11 @@
                 prec->alst = prec->val;
         }
 
+	if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+           (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+          ) recGblGetTimeStamp(prec);
+
+
         /* send out monitors connected to the value field */
         if (monitor_mask){
                 db_post_events(prec, &prec->val, monitor_mask);

=== modified file 'src/rec/calcoutRecord.dbd'
--- src/rec/calcoutRecord.dbd	2009-04-04 23:01:23 +0000
+++ src/rec/calcoutRecord.dbd	2010-05-26 09:07:26 +0000
@@ -359,6 +359,13 @@
 		promptgroup(GUI_DISPLAY)
 		interest(1)
 	}
+        field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
 	field(A,DBF_DOUBLE) {
 		prompt("Value of Input A")
 		pp(TRUE)

=== modified file 'src/rec/longinRecord.c'
--- src/rec/longinRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/longinRecord.c	2010-05-26 09:07:26 +0000
@@ -32,6 +32,7 @@
 #include "recSup.h"
 #include "recGbl.h"
 #include "menuYesNo.h"
+#include "menuRecTime.h"
 #define GEN_SIZE_OFFSET
 #include "longinRecord.h"
 #undef  GEN_SIZE_OFFSET
@@ -144,7 +145,7 @@
 	if ( !pact && prec->pact ) return(0);
 	prec->pact = TRUE;
 
-	recGblGetTimeStamp(prec);
+	if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
 	if (status==0) prec->udf = FALSE;
 
 	/* check for alarms */
@@ -291,6 +292,11 @@
         prec->alst = prec->val;
     }
 
+    if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+       (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+      ) recGblGetTimeStamp(prec);
+
+
     /* send out monitors connected to the value field */
     if (monitor_mask)
         db_post_events(prec, &prec->val, monitor_mask);

=== modified file 'src/rec/longinRecord.dbd'
--- src/rec/longinRecord.dbd	2002-07-12 21:35:43 +0000
+++ src/rec/longinRecord.dbd	2010-05-26 09:07:26 +0000
@@ -142,4 +142,11 @@
 		interest(2)
 		menu(menuAlarmSevr)
 	}
+        field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
 }

=== modified file 'src/rec/longoutRecord.c'
--- src/rec/longoutRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/longoutRecord.c	2010-05-26 09:07:26 +0000
@@ -34,6 +34,7 @@
 #undef  GEN_SIZE_OFFSET
 #include "menuIvoa.h"
 #include "menuOmsl.h"
+#include "menuRecTime.h"
 #include "epicsExport.h"
 
 /* Create RSET - Record Support Entry Table*/
@@ -178,7 +179,7 @@
 	if ( !pact && prec->pact ) return(0);
 	prec->pact = TRUE;
 
-	recGblGetTimeStamp(prec);
+	if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
 
 	/* check event list */
 	monitor(prec);
@@ -331,6 +332,11 @@
         prec->alst = prec->val;
     }
 
+    if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+       (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+      ) recGblGetTimeStamp(prec);
+
+
     /* send out monitors connected to the value field */
     if (monitor_mask)
         db_post_events(prec, &prec->val, monitor_mask);

=== modified file 'src/rec/longoutRecord.dbd'
--- src/rec/longoutRecord.dbd	2002-07-12 21:35:43 +0000
+++ src/rec/longoutRecord.dbd	2010-05-26 09:07:26 +0000
@@ -173,4 +173,11 @@
 		promptgroup(GUI_OUTPUT)
 		interest(2)
 	}
+       field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+       }
 }

=== modified file 'src/rec/mbbiDirectRecord.c'
--- src/rec/mbbiDirectRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/mbbiDirectRecord.c	2010-05-26 09:07:26 +0000
@@ -31,6 +31,7 @@
 #include "devSup.h"
 #include "errMdef.h"
 #include "menuSimm.h"
+#include "menuRecTime.h"
 #include "recSup.h"
 #include "recGbl.h"
 #include "special.h"
@@ -181,7 +182,7 @@
 	if ( !pact && prec->pact ) return(0);
 	prec->pact = TRUE;
 
-	recGblGetTimeStamp(prec);
+	if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
 
 	if(status==0) { /* convert the value */
 		epicsUInt32 rval = prec->rval;
@@ -219,6 +220,11 @@
                 /* update last value monitored */
                 prec->mlst = prec->val;
         }
+
+	if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+           (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+           ) recGblGetTimeStamp(prec);
+
         /* send out monitors connected to the value field */
         if (monitor_mask){
                 db_post_events(prec,&prec->val,monitor_mask);

=== modified file 'src/rec/mbbiDirectRecord.dbd'
--- src/rec/mbbiDirectRecord.dbd	2005-11-15 23:35:34 +0000
+++ src/rec/mbbiDirectRecord.dbd	2010-05-26 09:07:26 +0000
@@ -84,6 +84,13 @@
 		interest(2)
 		menu(menuAlarmSevr)
 	}
+        field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
 	field(B0,DBF_UCHAR) {
 		prompt("Bit 0")
 		pp(TRUE)

=== modified file 'src/rec/mbbiRecord.c'
--- src/rec/mbbiRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/mbbiRecord.c	2010-05-26 09:07:26 +0000
@@ -29,6 +29,7 @@
 #include "devSup.h"
 #include "errMdef.h"
 #include "menuSimm.h"
+#include "menuRecTime.h"
 #include "recSup.h"
 #include "recGbl.h"
 #include "special.h"
@@ -158,7 +159,7 @@
 	if ( !pact && prec->pact ) return(0);
 	prec->pact = TRUE;
 
-	recGblGetTimeStamp(prec);
+	if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
 	if(status==0) { /* convert the value */
         	epicsUInt32 	*pstate_values;
         	short  		i;
@@ -313,6 +314,11 @@
                 /* update last value monitored */
                 prec->mlst = prec->val;
         }
+
+	if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+           (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+          ) recGblGetTimeStamp(prec);
+
         /* send out monitors connected to the value field */
         if (monitor_mask){
                 db_post_events(prec,&prec->val,monitor_mask);

=== modified file 'src/rec/mbbiRecord.dbd'
--- src/rec/mbbiRecord.dbd	2009-06-08 19:55:49 +0000
+++ src/rec/mbbiRecord.dbd	2010-05-26 09:07:26 +0000
@@ -466,4 +466,11 @@
 		interest(2)
 		menu(menuAlarmSevr)
 	}
+	field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
 }

=== modified file 'src/rec/mbboDirectRecord.c'
--- src/rec/mbboDirectRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/mbboDirectRecord.c	2010-05-26 09:07:26 +0000
@@ -38,6 +38,7 @@
 #include "menuOmsl.h"
 #include "menuIvoa.h"
 #include "menuYesNo.h"
+#include "menuRecTime.h"
 #include "epicsExport.h"
 
 /* Create RSET - Record Support Entry Table*/
@@ -223,7 +224,7 @@
     if ( !pact && prec->pact ) return(0);
     prec->pact = TRUE;
 
-    recGblGetTimeStamp(prec);
+    if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
     /* check event list */
     monitor(prec);
     /* process the forward scan link record */
@@ -299,6 +300,11 @@
                 /* update last value monitored */
                 prec->mlst = prec->val;
         }
+
+	if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+           (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+          ) recGblGetTimeStamp(prec);
+
         /* send out monitors connected to the value field */
         if (monitor_mask){
                 db_post_events(prec,&prec->val,monitor_mask);

=== modified file 'src/rec/mbboDirectRecord.dbd'
--- src/rec/mbboDirectRecord.dbd	2002-07-12 21:35:43 +0000
+++ src/rec/mbboDirectRecord.dbd	2010-05-26 09:07:26 +0000
@@ -211,6 +211,13 @@
 		interest(2)
 		menu(menuAlarmSevr)
 	}
+        field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
 	field(IVOA,DBF_MENU) {
 		prompt("INVALID outpt action")
 		promptgroup(GUI_MBB)

=== modified file 'src/rec/mbboRecord.c'
--- src/rec/mbboRecord.c	2010-04-05 18:49:18 +0000
+++ src/rec/mbboRecord.c	2010-05-26 09:07:26 +0000
@@ -39,6 +39,7 @@
 #include "menuOmsl.h"
 #include "menuIvoa.h"
 #include "menuYesNo.h"
+#include "menuRecTime.h"
 #include "epicsExport.h"
 
 /* Create RSET - Record Support Entry Table*/
@@ -256,7 +257,7 @@
     if ( !pact && prec->pact ) return(0);
     prec->pact = TRUE;
 
-    recGblGetTimeStamp(prec);
+    if(prec->tsmd == menuRecTimeDEFAULT) recGblGetTimeStamp(prec);
     /* check event list */
     monitor(prec);
     /* process the forward scan link record */
@@ -393,6 +394,11 @@
                 /* update last value monitored */
                 prec->mlst = prec->val;
         }
+
+	if((prec->tsmd == menuRecTimeMONDEADBAND && (monitor_mask & DBE_VALUE)) ||
+           (prec->tsmd == menuRecTimeARCHDEADBAND && (monitor_mask & DBE_LOG))
+           ) recGblGetTimeStamp(prec);
+
         /* send out monitors connected to the value field */
         if (monitor_mask){
                 db_post_events(prec,&prec->val,monitor_mask);

=== modified file 'src/rec/mbboRecord.dbd'
--- src/rec/mbboRecord.dbd	2009-06-08 19:55:49 +0000
+++ src/rec/mbboRecord.dbd	2010-05-26 09:07:26 +0000
@@ -484,6 +484,13 @@
 		interest(2)
 		menu(menuAlarmSevr)
 	}
+        field(TSMD, DBF_MENU) {
+                prompt("Timestamping mode")
+                promptgroup(GUI_CONVERT)
+                pp(TRUE)
+                interest(1)
+                menu(menuRecTime)
+        }
 	field(IVOA,DBF_MENU) {
 		prompt("INVALID outpt action")
 		promptgroup(GUI_MBB)


Replies:
Re: [Merge] lp:~khkim/epics-base/fix-timestamp into lp:epics-base Ralph Lange
Re: [Merge] lp:~khkim/epics-base/fix-timestamp into lp:epics-base Kim, Kukhee
Re: [Merge] lp:~khkim/epics-base/fix-timestamp into lp:epics-base Ralph Lange

Navigate by Date:
Prev: [Merge] lp:~khkim/epics-base/fix-572589 into lp:epics-base Andrew Johnson
Next: [Merge] lp:~ronaldo-mercado/epics-base/capr into lp:epics-base Ronaldo Mercado
Index: 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: [Merge] lp:~khkim/epics-base/fix-572589 into lp:epics-base Andrew Johnson
Next: Re: [Merge] lp:~khkim/epics-base/fix-timestamp into lp:epics-base Ralph Lange
Index: 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024