DLT_CSTRING implementation non verbose mode.
authorAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Mon, 19 May 2014 12:23:55 +0000 (14:23 +0200)
committerAlexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Mon, 19 May 2014 12:30:03 +0000 (14:30 +0200)
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
examples/README.txt
examples/example3/example3.c
examples/example3/example3.xml
include/dlt/dlt_common_api.h
include/dlt/dlt_user.h
include/dlt/dlt_user_macros.h
src/lib/dlt_user.c

index 728e5c2..fe42331 100644 (file)
@@ -1,4 +1,5 @@
 This folder contains several examples of applications using the DLT library. These examples will be extended in the future to show different Use Cases.
 
 Example1: Minimal DLT Example
-Example2-3: Non Verbose Mode Examples with different AppIdds
+Example2: Non Verbose Mode Examples with different AppIdds and normal Strings
+Example3: Non Verbose Mode Examples with different AppIdds and constant strings
index bd72671..737a2a1 100644 (file)
@@ -61,9 +61,9 @@ int main()
 
        for(num=0;num<10;num++)
        {
-               DLT_LOG_ID(con_exa3,DLT_LOG_INFO,DLT_EXA3_CON_EXA3_ID1,DLT_INT32(12345678),DLT_STRING("Hello world 1!"));
-               DLT_LOG_ID(con_exa3,DLT_LOG_ERROR,DLT_EXA3_CON_EXA3_ID2,DLT_INT32(87654321),DLT_STRING("Hello world 2!"));
-               DLT_LOG_ID(con_exa3,DLT_LOG_WARN,DLT_EXA3_CON_EXA3_ID3,DLT_INT32(11223344),DLT_STRING("Hello world 3!"));
+               DLT_LOG_ID(con_exa3,DLT_LOG_INFO,DLT_EXA3_CON_EXA3_ID1,DLT_INT32(12345678),DLT_CSTRING("Hello world 1!"));
+               DLT_LOG_ID(con_exa3,DLT_LOG_ERROR,DLT_EXA3_CON_EXA3_ID2,DLT_INT32(87654321),DLT_CSTRING("Hello world 2!"));
+               DLT_LOG_ID(con_exa3,DLT_LOG_WARN,DLT_EXA3_CON_EXA3_ID3,DLT_INT32(11223344),DLT_CSTRING("Hello world 3!"));
        usleep(1000);
        }
 
index 706c0b5..616cfcb 100644 (file)
             </fx:PDU>
             <fx:PDU ID="PDU_1000_1">
                 <ho:SHORT-NAME>PDU_1000_1</ho:SHORT-NAME>
+                <ho:DESC>Hello world 1!</ho:DESC>
                 <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
                 <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
-                <fx:SIGNAL-INSTANCES>
-                    <fx:SIGNAL-INSTANCE ID="S_1000_0">
-                        <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
-                        <fx:SIGNAL-REF ID-REF="S_STRG_ASCII"/>
-                    </fx:SIGNAL-INSTANCE>
-                </fx:SIGNAL-INSTANCES>
             </fx:PDU>
             <fx:PDU ID="PDU_1001_0">
                 <ho:SHORT-NAME>PDU_1001_0</ho:SHORT-NAME>
             </fx:PDU>
             <fx:PDU ID="PDU_1001_1">
                 <ho:SHORT-NAME>PDU_1001_1</ho:SHORT-NAME>
+                <ho:DESC>Hello world 2!</ho:DESC>
                 <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
                 <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
-                <fx:SIGNAL-INSTANCES>
-                    <fx:SIGNAL-INSTANCE ID="S_1001_0">
-                        <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
-                        <fx:SIGNAL-REF ID-REF="S_STRG_ASCII"/>
-                    </fx:SIGNAL-INSTANCE>
-                </fx:SIGNAL-INSTANCES>
             </fx:PDU>
             <fx:PDU ID="PDU_1002_0">
                 <ho:SHORT-NAME>PDU_1002_0</ho:SHORT-NAME>
             </fx:PDU>
             <fx:PDU ID="PDU_1002_1">
                 <ho:SHORT-NAME>PDU_1002_1</ho:SHORT-NAME>
+                <ho:DESC>Hello world 3!</ho:DESC>
                 <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
                 <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
-                <fx:SIGNAL-INSTANCES>
-                    <fx:SIGNAL-INSTANCE ID="S_1002_0">
-                        <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
-                        <fx:SIGNAL-REF ID-REF="S_STRG_ASCII"/>
-                    </fx:SIGNAL-INSTANCE>
-                </fx:SIGNAL-INSTANCES>
             </fx:PDU>
         </fx:PDUS>
         <fx:FRAMES>
index 83acac5..f849567 100644 (file)
  * In the future in none verbose mode the string will not be sent via DLT message.\r
  * @param TEXT ASCII string\r
  */\r
-#define DLT_CSTRING(TEXT) \\r
-        DLT_STRING(TEXT)\r
+/* #define DLT_CSTRING(TEXT) */\r
+/* UNCHANGED */\r
 \r
 #endif /* DLT_COMMON_API_H */\r
 \r
index 93ac0a0..7d41896 100644 (file)
@@ -354,7 +354,18 @@ int dlt_user_log_write_int64(DltContextData *log, int64_t data);
  */
 int dlt_user_log_write_string( DltContextData *log, const char *text);
 
- /**
+/**
+ * Write a constant null terminated ASCII string into a DLT log message.
+ * In non verbose mode DLT parameter will not be send at all.
+ * dlt_user_log_write_start has to be called before adding any attributes to the log message.
+ * Finish sending log message by calling dlt_user_log_write_finish.
+ * @param log pointer to an object containing information about logging context data
+ * @param text pointer to the parameter written into log message containing null termination.
+ * @return negative value if there was an error
+ */
+int dlt_user_log_write_constant_string( DltContextData *log, const char *text);
+
+/**
  * Write a null terminated UTF8 string into a DLT log message.
  * dlt_user_log_write_start has to be called before adding any attributes to the log message.
  * Finish sending log message by calling dlt_user_log_write_finish.
index 3b6bb06..37a8ccf 100644 (file)
@@ -207,6 +207,13 @@ extern DltContext CONTEXT;
         dlt_user_log_write_string(&log,TEXT)
 
 /**
+ * Add constant string parameter to the log messsage.
+ * @param TEXT Constant ASCII string
+ */
+#define DLT_CSTRING(TEXT) \
+        dlt_user_log_write_constant_string(&log,TEXT)
+
+/**
  * Add utf8-encoded string parameter to the log messsage.
  * @param TEXT UTF8-encoded string
  */
index 0b28ff8..2d04467 100644 (file)
@@ -1853,6 +1853,17 @@ int dlt_user_log_write_string(DltContextData *log, const char *text)
     return 0;
 }
 
+int dlt_user_log_write_constant_string(DltContextData *log, const char *text)
+{
+    /* Send parameter only in verbose mode */
+    if (dlt_user.verbose_mode)
+    {
+       return dlt_user_log_write_string(log,text);
+    }
+
+    return 0;
+}
+
 int dlt_user_log_write_utf8_string(DltContextData *log, const char *text)
 {
     uint16_t arg_size;