/******************************************************************************

                  版权所有 (C), 2019-2039, 深圳前海维晟智能技术有限公司

 ******************************************************************************
  文 件 名   : common.h
  版 本 号   : 初始版本
  作    者   : QingYang
  生成日期   : 2020年4月16日
  最近修改   :
  功能描述   : common.c 的头文件
  函数列表   :
  修改历史   :
  1.日    期   : 2020年4月16日
    作    者   : QingYang
    修改内容   : 创建文件

******************************************************************************/

#ifndef __COMMON_H__
#define __COMMON_H__

#include <sdk_include.h>


typedef struct _ws8100_cfgo{
	uint8_t				head[2];

	uint32_t 			uart_rate;				// 波特率
	uint8_t 			starten;				// 1 开机运行 0 开机休眠 PB4唤醒才能运行
	uint8_t 			log_en;					// 日志使能
	
	uint16_t 			bat_full_vol;			// 满电 电压
	uint16_t 			bat_empty_vol;			// 空电 电压
	uint16_t 			bat_power_off;			// 关机 电压
	
	uint16_t 			bat_power_cnt;			// 持续低于关机电压多少次关机

	uint8_t 			bat_lever;				// 电量级别 0~100
	
	uint8_t 			up_rigister;			// 分压方式上电阻
	uint8_t 			down_rigister;			// 分压方式下电阻
		
	uint8_t				tail[2];
}ws8100_config;

extern ws8100_config ws8100_cfg;

#ifdef __cplusplus
#if __cplusplus
extern "C"{
#endif
#endif /* __cplusplus */

extern void set_role(uint8_t role);
extern uint8_t check_config(void);
extern UINT16 decode_hex_str(UINT8 *src_str, UINT8 *dest_buf, UINT16 hex_number);
extern int decstr_2_int(char *string);
extern UINT8 *find_first_comma(UINT8 *src_start, UINT8 *src_end);
extern uint32_t get_baudrate(void);
extern int hexstr_2_int(char *string);
extern uint8_t is_log_enable(void);
extern void load_config(void);
extern void load_config_ex(void);
extern uint8_t load_default_config(void);
extern void save_config(void);
extern void set_config_default(void);
extern char string_seprate( char *src,char len, char *indstring, char *outstring,char *outlen );


#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* __cplusplus */

#endif /* __COMMON_H__ */
