Send extended header in non verbose mode by default and add new API to change setting.
authorAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Tue, 13 May 2014 10:30:09 +0000 (12:30 +0200)
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Fri, 16 May 2014 06:37:36 +0000 (08:37 +0200)
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
include/dlt/dlt_user.h
src/lib/dlt_user.c
src/lib/dlt_user_cfg.h

index d09adae..564f56b 100644 (file)
@@ -228,7 +228,8 @@ typedef struct
 
     DltReceiver receiver;                 /**< Receiver for internal user-defined messages from daemon */
 
-    int8_t verbose_mode;                                 /**< Verbose mode enabled: 1 enabled, 0 disabled */
+    int8_t verbose_mode;                                               /**< Verbose mode enabled: 1 enabled, 0 disabled */
+    int8_t use_extende_header_for_non_verbose; /**< Use extended header for non verbose: 1 enabled, 0 disabled */
 
     int8_t enable_local_print;            /**< Local printing of log messages: 1 enabled, 0 disabled */
     int8_t local_print_mode;              /**< Local print mode, controlled by environment variable */
@@ -542,6 +543,14 @@ int dlt_user_check_library_version(const char *user_major_version,const char *us
 int dlt_nonverbose_mode(void);
 
 /**
+ * Use extended header in non verbose mode.
+ * Enabled by default.
+ * @param use_extende_header_for_non_verbose Use extended header for non verbose mode if true
+ * @return negative value if no success
+ */
+int dlt_use_extended_header_for_non_verbose(int8_t use_extende_header_for_non_verbose);
+
+/**
  * Set maximum logged log level and trace status of application
  *
  * @param loglevel This is the log level to be set for the whole application
index afc232b..dc81c27 100644 (file)
@@ -395,6 +395,9 @@ int dlt_init_common(void)
     /* Verbose mode is enabled by default */
     dlt_user.verbose_mode = 1;
 
+    /* Use extended header for non verbose is enabled by default */
+    dlt_user.use_extende_header_for_non_verbose = DLT_USER_USE_EXTENDED_HEADER_FOR_NONVERBOSE;
+
     /* Local print is disabled by default */
     dlt_user.enable_local_print = 0;
 
@@ -2700,6 +2703,22 @@ int dlt_nonverbose_mode(void)
     return 0;
 }
 
+int dlt_use_extended_header_for_non_verbose(int8_t use_extende_header_for_non_verbose)
+{
+    if (dlt_user_initialised==0)
+    {
+        if (dlt_init()<0)
+        {
+            return -1;
+        }
+    }
+
+    /* Set use_extende_header_for_non_verbose */
+    dlt_user.use_extende_header_for_non_verbose = use_extende_header_for_non_verbose;
+
+    return 0;
+}
+
 int dlt_enable_local_print(void)
 {
     if (dlt_user_initialised==0)
@@ -2889,9 +2908,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, int mtype)
     else
     {
         /* In non-verbose, send extended header if desired */
-#if (DLT_USER_USE_EXTENDED_HEADER_FOR_NONVERBOSE==1)
-        msg.standardheader->htyp = (msg.standardheader->htyp | DLT_HTYP_UEH );
-#endif
+       if(dlt_user.use_extende_header_for_non_verbose)
+               msg.standardheader->htyp = (msg.standardheader->htyp | DLT_HTYP_UEH );
     }
 
 #if (BYTE_ORDER==BIG_ENDIAN)
index c6cb50b..a94cb8f 100755 (executable)
 #define DLT_USER_INITIAL_TRACE_STATUS DLT_TRACE_STATUS_OFF\r
 \r
 /* use extended header for non-verbose mode: 0 - don't use, 1 - use */\r
-#define DLT_USER_USE_EXTENDED_HEADER_FOR_NONVERBOSE 0\r
+#define DLT_USER_USE_EXTENDED_HEADER_FOR_NONVERBOSE 1\r
 \r
 /* default message id for non-verbose mode, if no message id was provided */\r
 #define DLT_USER_DEFAULT_MSGID 0xffff\r