Browse Source

修改log接口,添加zbase_gstate

master
zhaohe 9 months ago
parent
commit
f678687d3a
  1. 8
      basic/zbase_gstate.c
  2. 18
      basic/zbase_gstate.h
  3. 13
      basic/zlog.c
  4. 5
      basic/zlog.h
  5. 2
      zbasic.h

8
basic/zbase_gstate.c

@ -0,0 +1,8 @@
#include "zbase_gstate.h"
zbase_gstate_t gstate;
zbase_gstate_t* zbase_gstate_get() { return &gstate; }
void zbase_gstate_set_fatal_flag() { gstate.fatalFlag = true; }
void zbase_gstate_clear_fatal_flag() { gstate.fatalFlag = false; }

18
basic/zbase_gstate.h

@ -0,0 +1,18 @@
#pragma once
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
bool fatalFlag;
} zbase_gstate_t;
zbase_gstate_t* zbase_gstate_get();
void zbase_gstate_set_fatal_flag();
void zbase_gstate_clear_fatal_flag();
#ifdef __cplusplus
}
#endif

13
basic/zlog.c

@ -1,9 +1,10 @@
#include "zlog.h"
#include "zbase.h"
#include "project_configs.h"
#include "zbase.h"
bool g_xs_enable_log = true;
extern UART_HandleTypeDef DEBUG_UART;
bool g_xs_enable_log = true;
UART_HandleTypeDef* debuguart;
/*********************************************************************
* @fn _write
*
@ -19,12 +20,14 @@ __attribute__((used)) int _write(int fd, char* buf, int size) {
for (i = 0; i < size; i++) {
uint8_t c = *buf++;
HAL_UART_Transmit(&DEBUG_UART, &c, 1, 100);
if (debuguart) HAL_UART_Transmit(debuguart, &c, 1, 100);
}
return size;
}
void zlog_init(UART_HandleTypeDef* uart) { debuguart = uart; }
void zlog_enable(bool enable) { g_xs_enable_log = enable; }
void zlog(const char* fmt, ...) {
if (g_xs_enable_log) {
@ -35,7 +38,7 @@ void zlog(const char* fmt, ...) {
}
}
void zlog_raw(const char* info){
void zlog_raw(const char* info) {
if (g_xs_enable_log) {
printf(info);
}

5
basic/zlog.h

@ -1,9 +1,9 @@
#pragma once
#include "zbase.h"
extern bool g_xs_enable_log;
extern bool g_xs_enable_log;
extern uint32_t zget_ticket(void);
extern void zdelay_ms(int ms) ;
extern void zdelay_ms(int ms);
#define ZLOG_RELEASE(TAG, fmt, ...) \
if (g_xs_enable_log) { \
@ -40,6 +40,7 @@ extern void zdelay_ms(int ms) ;
#define ZARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
void zlog_init(UART_HandleTypeDef* uart);
void zlog(const char* fmt, ...);
void zlog_raw(const char* info);
void zlog_enable(bool enable);

2
zbasic.h

@ -10,6 +10,8 @@ extern "C" {
#include "basic/zgpio.h"
#include "basic/zlog.h"
#include "basic/sn.h"
//
#include "basic/zbase_gstate.h"
#include "cmsis_version.h"
#include "cmsis_os.h"

Loading…
Cancel
Save