#else
#define DLT_LOG(CONTEXT,LOGLEVEL,ARGS...) \
do { \
- DltContextData log; \
- if (dlt_user_log_write_start(&CONTEXT,&log,LOGLEVEL)>0) \
+ if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
{ \
- ARGS; \
- dlt_user_log_write_finish(&log); \
+ DltContextData log; \
+ if (dlt_user_log_write_start(&CONTEXT,&log,LOGLEVEL)>0) \
+ { \
+ ARGS; \
+ dlt_user_log_write_finish(&log); \
+ } \
} \
} while(0)
#endif
#else
#define DLT_LOG_ID(CONTEXT,LOGLEVEL,MSGID,ARGS...) \
do { \
- DltContextData log; \
- if (dlt_user_log_write_start_id(&CONTEXT,&log,LOGLEVEL,MSGID)>0) \
+ if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
{ \
- ARGS; \
- dlt_user_log_write_finish(&log); \
+ DltContextData log; \
+ if (dlt_user_log_write_start_id(&CONTEXT,&log,LOGLEVEL,MSGID)>0) \
+ { \
+ ARGS; \
+ dlt_user_log_write_finish(&log); \
+ } \
} \
} while(0)
#endif
* Add string parameter to the log messsage.
* @param TEXT ASCII string
*/
-#define DLT_STRING(TEXT) ({ \
- dlt_user_log_write_string(&log,TEXT); \
- })
+#define DLT_STRING(TEXT) \
+ 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
+ */
+#define DLT_UTF8(TEXT) \
+ dlt_user_log_write_utf8_string(&log,TEXT)
/**
* Add boolean parameter to the log messsage.
* @param BOOL_VAR Boolean value (mapped to uint8)
*/
-#define DLT_BOOL(BOOL_VAR) ({ \
- dlt_user_log_write_bool(&log,BOOL_VAR); \
- })
+#define DLT_BOOL(BOOL_VAR) \
+ dlt_user_log_write_bool(&log,BOOL_VAR)
/**
* Add float32 parameter to the log messsage.
* @param FLOAT32_VAR Float32 value (mapped to float)
*/
-#define DLT_FLOAT32(FLOAT32_VAR) ({ \
- dlt_user_log_write_float32(&log,FLOAT32_VAR); \
- })
+#define DLT_FLOAT32(FLOAT32_VAR) \
+ dlt_user_log_write_float32(&log,FLOAT32_VAR)
/**
* Add float64 parameter to the log messsage.
* @param FLOAT64_VAR Float64 value (mapped to double)
*/
-#define DLT_FLOAT64(FLOAT64_VAR) ({ \
- dlt_user_log_write_float64(&log,FLOAT64_VAR); \
- })
+#define DLT_FLOAT64(FLOAT64_VAR) \
+ dlt_user_log_write_float64(&log,FLOAT64_VAR)
/**
* Add integer parameter to the log messsage.
* @param INT_VAR integer value
*/
-#define DLT_INT(INT_VAR) ({ \
- dlt_user_log_write_int(&log,INT_VAR); \
- })
-#define DLT_INT8(INT_VAR) ({ \
- dlt_user_log_write_int8(&log,INT_VAR); \
- })
-#define DLT_INT16(INT_VAR) ({ \
- dlt_user_log_write_int16(&log,INT_VAR); \
- })
-#define DLT_INT32(INT_VAR) ({ \
- dlt_user_log_write_int32(&log,INT_VAR); \
- })
-#define DLT_INT64(INT_VAR) ({ \
- dlt_user_log_write_int64(&log,INT_VAR); \
- })
+#define DLT_INT(INT_VAR) \
+ dlt_user_log_write_int(&log,INT_VAR)
+
+#define DLT_INT8(INT_VAR) \
+ dlt_user_log_write_int8(&log,INT_VAR)
+
+#define DLT_INT16(INT_VAR) \
+ dlt_user_log_write_int16(&log,INT_VAR)
+
+#define DLT_INT32(INT_VAR) \
+ dlt_user_log_write_int32(&log,INT_VAR)
+
+#define DLT_INT64(INT_VAR) \
+ dlt_user_log_write_int64(&log,INT_VAR)
/**
* Add unsigned integer parameter to the log messsage.
* @param UINT_VAR unsigned integer value
*/
-#define DLT_UINT(UINT_VAR) ({ \
- dlt_user_log_write_uint(&log,UINT_VAR); \
- })
-#define DLT_UINT8(UINT_VAR) ({ \
- dlt_user_log_write_uint8(&log,UINT_VAR); \
- })
-#define DLT_UINT16(UINT_VAR) ({ \
- dlt_user_log_write_uint16(&log,UINT_VAR); \
- })
-#define DLT_UINT32(UINT_VAR) ({ \
- dlt_user_log_write_uint32(&log,UINT_VAR); \
- })
-#define DLT_UINT64(UINT_VAR) ({ \
- dlt_user_log_write_uint64(&log,UINT_VAR); \
- })
+#define DLT_UINT(UINT_VAR) \
+ dlt_user_log_write_uint(&log,UINT_VAR)
+
+#define DLT_UINT8(UINT_VAR) \
+ dlt_user_log_write_uint8(&log,UINT_VAR)
+
+#define DLT_UINT16(UINT_VAR) \
+ dlt_user_log_write_uint16(&log,UINT_VAR)
+
+#define DLT_UINT32(UINT_VAR) \
+ dlt_user_log_write_uint32(&log,UINT_VAR)
+
+#define DLT_UINT64(UINT_VAR) \
+ dlt_user_log_write_uint64(&log,UINT_VAR)
/**
* Add binary memory block to the log messages.
* @param BUF pointer to memory block
* @param LEN length of memory block
*/
-#define DLT_RAW(BUF,LEN) ({ \
- dlt_user_log_write_raw(&log,BUF,LEN); \
- })
+#define DLT_RAW(BUF,LEN) \
+ dlt_user_log_write_raw(&log,BUF,LEN)
/**
* Trace network message
*/
#define DLT_TRACE_NETWORK(CONTEXT,TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD) \
do { \
- dlt_user_trace_network(&(CONTEXT),TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD); \
+ if ((CONTEXT).trace_status_ptr && *((CONTEXT).trace_status_ptr)==DLT_TRACE_STATUS_ON) \
+ { \
+ dlt_user_trace_network(&(CONTEXT),TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD); \
+ } \
+ }while(0)
+
+/**
+ * Trace network message, allow truncation
+ * @param CONTEXT object containing information about one special logging context
+ * @param TYPE type of network trace message
+ * @param HEADERLEN length of network message header
+ * @param HEADER pointer to network message header
+ * @param PAYLOADLEN length of network message payload
+ * @param PAYLOAD pointer to network message payload
+ */
+#define DLT_TRACE_NETWORK_TRUNCATED(CONTEXT,TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD) \
+ do { \
+ if ((CONTEXT).trace_status_ptr && *((CONTEXT).trace_status_ptr)==DLT_TRACE_STATUS_ON) \
+ { \
+ dlt_user_trace_network_truncated(&(CONTEXT),TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD, 1); \
+ } \
+ }while(0)
+
+/**
+ * Trace network message, segment large messages
+ * @param CONTEXT object containing information about one special logging context
+ * @param TYPE type of network trace message
+ * @param HEADERLEN length of network message header
+ * @param HEADER pointer to network message header
+ * @param PAYLOADLEN length of network message payload
+ * @param PAYLOAD pointer to network message payload
+ */
+#define DLT_TRACE_NETWORK_SEGMENTED(CONTEXT,TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD) \
+ do { \
+ if ((CONTEXT).trace_status_ptr && *((CONTEXT).trace_status_ptr)==DLT_TRACE_STATUS_ON) \
+ { \
+ dlt_user_trace_network_segmented(&(CONTEXT),TYPE,HEADERLEN,HEADER,PAYLOADLEN,PAYLOAD); \
+ } \
}while(0)
/**
*/
#define DLT_LOG_STRING(CONTEXT,LOGLEVEL,TEXT) \
do { \
- dlt_log_string(&(CONTEXT), LOGLEVEL, TEXT); \
+ if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+ { \
+ dlt_log_string(&(CONTEXT), LOGLEVEL, TEXT); \
+ } \
} while(0)
/**
*/
#define DLT_LOG_STRING_INT(CONTEXT,LOGLEVEL,TEXT,INT_VAR) \
do { \
- dlt_log_string_int(&(CONTEXT), LOGLEVEL, TEXT, INT_VAR); \
+ if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+ { \
+ dlt_log_string_int(&(CONTEXT), LOGLEVEL, TEXT, INT_VAR); \
+ } \
} while(0)
/**
*/
#define DLT_LOG_STRING_UINT(CONTEXT,LOGLEVEL,TEXT,UINT_VAR) \
do { \
- dlt_log_string_uint(&(CONTEXT),LOGLEVEL,TEXT,UINT_VAR); \
+ if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+ { \
+ dlt_log_string_uint(&(CONTEXT),LOGLEVEL,TEXT,UINT_VAR); \
+ } \
} while(0)
/**
*/
#define DLT_LOG_UINT(CONTEXT,LOGLEVEL,UINT_VAR) \
do { \
- dlt_log_uint(&(CONTEXT),LOGLEVEL,UINT_VAR); \
+ if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+ { \
+ dlt_log_uint(&(CONTEXT),LOGLEVEL,UINT_VAR); \
+ } \
} while(0)
/**
*/
#define DLT_LOG_INT(CONTEXT,LOGLEVEL,INT_VAR) \
do { \
- dlt_log_int(&(CONTEXT),LOGLEVEL,INT_VAR); \
+ if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+ { \
+ dlt_log_int(&(CONTEXT),LOGLEVEL,INT_VAR); \
+ } \
} while(0)
/**
*/
#define DLT_LOG_RAW(CONTEXT,LOGLEVEL,BUF,LEN) \
do { \
- dlt_log_raw(&(CONTEXT),LOGLEVEL,BUF,LEN); \
+ if((CONTEXT).log_level_ptr && ((LOGLEVEL)<=(int)*((CONTEXT).log_level_ptr) ) && ((LOGLEVEL)!=0)) \
+ { \
+ dlt_log_raw(&(CONTEXT),LOGLEVEL,BUF,LEN); \
+ } \
} while(0)
/**