diff --git a/include/HDLog.h b/include/HDLog.h index f9e5fe0..6b460ac 100644 --- a/include/HDLog.h +++ b/include/HDLog.h @@ -115,9 +115,16 @@ void HDLogOptFlashInit(); */ void HDLogInit(uint32_t (*getTime)()); +/** + * @brief 获取当前时间 + * @return 当前时间 + */ +uint32_t HDLogGetTime(); + /** * @brief 格式打印 **/ +__attribute__ ((format(printf, 6, 7))) void HDLogOut(uint8_t ext, uint8_t level, const char *fileName, const char *funcName, int line, const char *format, ...); /** diff --git a/include/HRingBuffer.h b/include/HRingBuffer.h index e60d254..57ba225 100644 --- a/include/HRingBuffer.h +++ b/include/HRingBuffer.h @@ -133,4 +133,7 @@ void HRingBufferClear(HRingBufferType* buffer); // 判断环形缓冲区是否为空 uint8_t HRingBufferEmpty(HRingBufferType* buffer); +// 判断环形缓冲区是否满 +uint8_t HRingBufferFull(HRingBufferType* buffer); + #endif // _H_RING_BUFFER_H_ diff --git a/src/HDLog.c b/src/HDLog.c index e710461..e6bb0e1 100644 --- a/src/HDLog.c +++ b/src/HDLog.c @@ -250,6 +250,16 @@ void HDLogInit(uint32_t (*getTime)()) #endif } +uint32_t HDLogGetTime() +{ + if (sGetTime) + { + return sGetTime(); + } + + return 0; +} + void HDLogOut(uint8_t ext, uint8_t level, const char *fileName, const char *funcName, int line, const char *format, ...) { if (HBitGet(sLogItem, kLogLevelSwitch) == 0) diff --git a/src/HRingBuffer.c b/src/HRingBuffer.c index d7be6a0..32d65d3 100644 --- a/src/HRingBuffer.c +++ b/src/HRingBuffer.c @@ -283,3 +283,8 @@ void HRingBufferClear(HRingBufferType* buffer) { uint8_t HRingBufferEmpty(HRingBufferType* buffer) { return HRingBufferGetUseLen(buffer) == 0; } + +uint8_t HRingBufferFull(HRingBufferType* buffer) { + return IsRingBufferFull(buffer); +} +