/*
 ******************************************************************************
 *
 * @file     define.h
 * @brief    define module
 *                 
 *
 * @version  1.0
 * @date     2023/07/12   09:59:40
 * @author   Alex Xu
 *
 * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd.
 * All Rights Reserved
 *
 * History:
 * Revision          Date           Author            Desc
 * 1.0.0            2023/07/12      Alex          build this file
 ******************************************************************************
 */
#ifndef	__DEFINE_H__
#define	__DEFINE_H__

#include "config.h"

/*Function Select，功能选择宏定义*/

#define TIMER1_ENABLE						1			//Timer1  定时周期1ms or 100us，主要用于188数码管显示\呼吸灯。(46Bytes)

#if TIMER1_ENABLE

#define LED_188		

#define DISPLAY_5PIN_188					0			//188数码管显示功能,采用Timer1（1ms）定时扫描（631Bytes）

#define DISPLAY_6PIN_188					1			//903Bytes

#endif

#if TIMER1_ENABLE
//#define BREATHING_LIGHT									//呼吸灯功能，驱动函数置于Timer1中断处理函数中，调用周期100us。(154Bytes)
#endif

#define UART0_ENABLE 						0			//UART0功能，用于程序调试。(55Bytes)
 
#define WTG_ENABLE							1			//看门狗功能使能(7Bytes)

//#define LED_DISPLAY										//LED显示 (450Bytes)

#define HALL_ENABLE							0			//Hall功能。(Hall 35Bytes)

#define KEY_ENABLE							0			//Key功能(96Bytes)

#define VOX_ENABLE							1			//482Bytes

#define CHARGER_ENABLE						1			//220Bytes
	
#define DISCHARGE_ENABLE					1			//110Bytes

#define SLEEP_ENABLE						1			//91Bytes

#define ADC_ENABLE							1          //567Bytes

#if ADC_ENABLE
#define NTC_ENABLE							0			//NTC保护功能
#endif

#define BAT_VALUE							1			//147Bytes

//#define _DEBUG_ALL										//打开打印功能

#ifdef _DEBUG_ALL

//	  #define _DEBUG_MAIN
//    #define _DEBUG_KEY
//	  #define _DEBUG_VOX
//    #define _DEBUG_HALL
//    #define _DEBUG_ADC				
//    #define _DEBUG_DISCHARGE
//      #define _DEBUG_CHARGER
//      #define _DEBUG_SLEEP
    #define _DEBUG_BAT

//#define TEST_MODE

#include "stdio.h"
#include "string.h"

#endif

#define HIBYTE(v1)              ((uint8_t)((v1)>>8))                      //v1 is uint16_t
#define LOBYTE(v1)              ((uint8_t)((v1)&0xFF))

typedef bit                   BIT;
typedef unsigned char         uint8_t;
typedef unsigned int          uint16_t;
typedef unsigned long         uint32_t;

typedef unsigned char         uint8;
typedef unsigned int          uint16;
typedef unsigned long         uint32;

typedef signed char         int8_t;
typedef signed int          int16_t;
typedef signed long         int32_t;

typedef signed char         int8;
typedef signed int          int16;
typedef signed long         int32;

typedef signed char s8;
typedef unsigned char u8;
typedef signed short int s16;
typedef unsigned short int u16;
typedef signed long int s32;
typedef unsigned long int u32;

typedef enum{false = 0, true = !false} bool;

#define FALSE false
#define TRUE true
#define ON  true
#define OFF  false

#include "reg3310.h"
#if UART0_ENABLE
#include "uart.h"
#endif

#endif

