Renesas PTX1xxR IoT-Reader API Version 7.3.1
Renesas Software Stack for IoT-Reader Applications
ptxLog.h
Go to the documentation of this file.
1
43#ifndef PTX_LOG_H
44#define PTX_LOG_H
45
46
47/*
48 * ####################################################################################################################
49 * INCLUDES
50 * ####################################################################################################################
51 */
52
53#include "ptx_Status.h"
54#include "ptxOsal.h"
55#include "ptx_Platform.h"
56
57#ifdef PTX_PLAT_ANDROID
58 #include <log/log.h>
59#endif
60
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
66/*
67 * ####################################################################################################################
68 * DEFINES / TYPES
69 * ####################################################################################################################
70 */
71
77#define PTX_LOG_FILE_NAME_LEN 40
78#define PTX_LOG_FILE_BUF_LEN 258
83#define PTX_LOG_MIN_NUM_ENTRIES 3
88#define PTX_LOG_ASSERT_LOG_ENTRIES (PTX_LOG_MIN_NUM_ENTRIES * 2)
94typedef struct ptxLogItem* pptxLogItem_t;
95
99typedef ptxStatus_t (*pptxLogCallbackFn_t)(void *LogContext, pptxLogItem_t pLogItem);
100
101
102/*
103 * ####################################################################################################################
104 * INTERNALS
105 * ####################################################################################################################
106 */
107
129
143
149{
150 size_t Length;
151 uint8_t Data[PTX_LOG_FILE_BUF_LEN];
153
158typedef struct ptxLogItem_2U32
159{
160 uint32_t Param1;
161 uint32_t Param2;
163
175
189
203
215
216
217/*
218 * ####################################################################################################################
219 * API FUNCTIONS / LOG COMPONENT ADMINISTRATION
220 * ####################################################################################################################
221 */
222
232ptxStatus_t ptxLog_Init(ptxLog_t *logCtx, void *osAl, size_t numEntries);
233
243ptxStatus_t ptxLog_InitRTLogging(ptxLog_t *logCtx, pptxLogCallbackFn_t LogCallbackFn, void *Handler);
244
253
254
255/*
256 * ####################################################################################################################
257 * API FUNCTIONS / STORING LOG ITEM DATA
258 * ####################################################################################################################
259 */
260
275void ptxLog_SP2(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, ptxLogClass_t logClass,
276 uint32_t logStatus, uint32_t logP1, uint32_t logP2);
277
291void ptxLog_SPL(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, ptxLogClass_t logClass,
292 uint32_t logStatus, uint64_t logP);
293
308void ptxLog_SD(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, ptxLogClass_t logClass,
309 uint32_t logStatus, uint8_t *logData, size_t logLen);
310
323void ptxLog_S(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, ptxLogClass_t logClass,
324 uint32_t logStatus);
325
337void ptxLog_TraceText(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, const char *traceText);
338
351void ptxLog_TraceTextStatus(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, const char *traceText, uint32_t logStatus);
352
353
354/*
355 * ####################################################################################################################
356 * API FUNCTIONS / ASSERTION-LOG HANDLERS
357 * ####################################################################################################################
358 */
359
372void ptxLog_AssertStatus(ptxLog_t *logCtx, const char *locationMajor, int locationMinor,
373 ptxStatus_t actualStatus, const ptxStatus_t requiredStatus);
374
386void ptxLog_AssertNotNull(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, void *actualPtr);
387
401void ptxLog_AssertEquals(ptxLog_t *logCtx, const char *locationMajor, int locationMinor,
402 uint32_t actualValue, uint32_t requiredValue, const char *traceText);
403
417void ptxLog_AssertNotEqual(ptxLog_t *logCtx, const char *locationMajor, int locationMinor,
418 uint32_t actualValue, uint32_t requiredValue, const char *traceText);
419
420
421/*
422 * ####################################################################################################################
423 * API FUNCTIONS / RETRIEVE LOG ITEMS
424 * ####################################################################################################################
425 */
426
442
460
465
470
471#ifdef __cplusplus
472}
473#endif
474
477#endif /* Guard */
478
uint16_t ptxStatus_t
Status Type.
Definition ptx_Status.h:82
ptxLogParamType
Type of parameter of log entry.
Definition ptxLog.h:135
ptxStatus_t ptxLog_GetNext(ptxLog_t *logCtx, ptxLogItem_t **logItem)
Get next log item.
ptxStatus_t ptxLog_DeInit(ptxLog_t *logCtx)
De-Initialize the logger and free the storage.
ptxLogClass
Log entry classification.
Definition ptxLog.h:112
union ptxLogItem_Param ptxLogItem_Param_t
Log User Parameter(s)
void ptxLog_TraceText(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, const char *traceText)
Trace function.
ptxStatus_t ptxLogAssert_GetNext(ptxLog_t *logCtx, ptxLogItem_t **logItem)
Get next log item.
void ptxLog_SD(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, ptxLogClass_t logClass, uint32_t logStatus, uint8_t *logData, size_t logLen)
Log Data.
struct ptxLogItem_2U32 ptxLogItem_2U32_t
Log item for 2 x UInt32.
ptxStatus_t ptxLogAssert_GetFirst(ptxLog_t *logCtx, ptxLogItem_t **logItem)
Get recent log item.
void ptxLog_SPL(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, ptxLogClass_t logClass, uint32_t logStatus, uint64_t logP)
Log long parameter.
ptxStatus_t ptxLog_Init(ptxLog_t *logCtx, void *osAl, size_t numEntries)
Initialize the logger and the storage.
ptxStatus_t ptxLog_GetFirst(ptxLog_t *logCtx, ptxLogItem_t **logItem)
Get recent log item.
struct ptxLogState ptxLogState_t
Logger Component Structure.
void ptxLog_AssertNotNull(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, void *actualPtr)
Assert on not NULL.
void ptxLog_AssertStatus(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, ptxStatus_t actualStatus, const ptxStatus_t requiredStatus)
Assert Status.
void ptxLog_AssertEquals(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, uint32_t actualValue, uint32_t requiredValue, const char *traceText)
Assert on equality.
void ptxLog_S(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, ptxLogClass_t logClass, uint32_t logStatus)
Log status only.
void ptxLog_AssertNotEqual(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, uint32_t actualValue, uint32_t requiredValue, const char *traceText)
Assert on non-equality.
ptxStatus_t ptxLog_InitRTLogging(ptxLog_t *logCtx, pptxLogCallbackFn_t LogCallbackFn, void *Handler)
Initialize Realtime-Logging (= write every log item directly to a file).
struct ptxLogItem * pptxLogItem_t
Definition ptxLog.h:94
void ptxLog_SP2(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, ptxLogClass_t logClass, uint32_t logStatus, uint32_t logP1, uint32_t logP2)
Log two parameters.
struct ptxLogItem ptxLogItem_t
Log item, representing a single entry.
struct ptxLog ptxLog_t
Logger Component Structure.
ptxStatus_t(* pptxLogCallbackFn_t)(void *LogContext, pptxLogItem_t pLogItem)
Definition ptxLog.h:99
struct ptxLogItem_ParamBuffer ptxLogItem_ParamBuffer_t
Log buffer.
enum ptxLogParamType ptxLogParamType_t
Type of parameter of log entry.
enum ptxLogClass ptxLogClass_t
Log entry classification.
void ptxLog_TraceTextStatus(ptxLog_t *logCtx, const char *locationMajor, int locationMinor, const char *traceText, uint32_t logStatus)
Trace function, including status.
@ ptxLogParamType_Data
Definition ptxLog.h:140
@ ptxLogParamType_Ptr
Definition ptxLog.h:139
@ ptxLogParamType_String
Definition ptxLog.h:141
@ ptxLogParamType_PL
Definition ptxLog.h:138
@ ptxLogParamType_None
Definition ptxLog.h:136
@ ptxLogParamType_P2
Definition ptxLog.h:137
@ ptxLogClass_Error
Definition ptxLog.h:116
@ ptxLogClass_Rx
Definition ptxLog.h:117
@ ptxLogClass_Trace
Definition ptxLog.h:113
@ ptxLogClass_Message
Definition ptxLog.h:114
@ ptxLogClass_Assert
Definition ptxLog.h:123
@ ptxLogClass_Assert_Equals
Definition ptxLog.h:126
@ ptxLogClass_Sys_Info
Definition ptxLog.h:120
@ ptxLogClass_Assert_NotEqual
Definition ptxLog.h:127
@ ptxLogClass_Assert_NotNull
Definition ptxLog.h:125
@ ptxLogClass_Assert_Status
Definition ptxLog.h:124
@ ptxLogClass_Warning
Definition ptxLog.h:115
@ ptxLogClass_Tx
Definition ptxLog.h:118
@ ptxLogClass_Sys_Warn
Definition ptxLog.h:121
@ ptxLogClass_Sys_Error
Definition ptxLog.h:122
@ ptxLogClass_Sys_Debug
Definition ptxLog.h:119
struct ptxMutex * ptxMutex_t
Mutex Wrapper Structure - Forward Declaration.
Definition ptxOsal.h:95
uint64_t ptxTimeDiff_t
Time difference type.
Definition ptxOsal.h:107
Logger Component Structure.
Definition ptxLog.h:208
void * LogContext
Definition ptxLog.h:213
pptxLogCallbackFn_t LogCallbackFn
Definition ptxLog.h:212
struct ptxOsal * OsAl
Definition ptxLog.h:209
ptxLogState_t Logger
Definition ptxLog.h:210
ptxLogState_t Assert
Definition ptxLog.h:211
Log item for 2 x UInt32.
Definition ptxLog.h:159
uint32_t Param1
Definition ptxLog.h:160
uint32_t Param2
Definition ptxLog.h:161
Log buffer.
Definition ptxLog.h:149
uint8_t Data[PTX_LOG_FILE_BUF_LEN]
Definition ptxLog.h:151
size_t Length
Definition ptxLog.h:150
Log item, representing a single entry.
Definition ptxLog.h:180
char LocationMajor[PTX_LOG_FILE_NAME_LEN+1]
Definition ptxLog.h:182
ptxLogParamType_t ParamType
Definition ptxLog.h:186
ptxLogClass_t Class
Definition ptxLog.h:181
ptxTimeDiff_t TimeStamp
Definition ptxLog.h:185
ptxLogItem_Param_t Param
Definition ptxLog.h:187
uint32_t LocationMinor
Definition ptxLog.h:183
uint32_t StatusCode
Definition ptxLog.h:184
Logger Component Structure.
Definition ptxLog.h:194
size_t ReadIndex
Definition ptxLog.h:199
uint8_t Used
Definition ptxLog.h:195
ptxLogItem_t * LogItems
Definition ptxLog.h:197
uint64_t EntriesWritten
Definition ptxLog.h:200
size_t LogSize
Definition ptxLog.h:196
ptxMutex_t Mutex
Definition ptxLog.h:201
size_t WriteIndex
Definition ptxLog.h:198
Log User Parameter(s)
Definition ptxLog.h:168
ptxLogItem_2U32_t Param2U32
Definition ptxLog.h:169
uint64_t Param64
Definition ptxLog.h:170
void * Pointer
Definition ptxLog.h:171
ptxLogItem_ParamBuffer_t Buffer
Definition ptxLog.h:172