#ifndef _GUI_DISPLAY_H_
#define _GUI_DISPLAY_H_

#include "Components.h"

#define EEPROM_BLOCK_00 0

typedef enum 
{
    ONLY_TEL,               /*只保持充电中指示灯和充电线不连接指示灯不关闭*/
    TEL_AND_SOC,            /*保持充电中指示灯和充电线不连接指示灯以及电量表和总电量值显示不关闭*/
   
}DoNot_Close_Seg_en_t;

typedef struct 
{
    uint16_t value;
    uint8_t  segNum;
}PowerSegMap_st_t;

typedef struct 
{
    uint16_t value;
    uint8_t  segNum;
}BatterySegMap_st_t;



typedef struct
{
    uint16_t  Year;
    uint8_t   Month;
    uint8_t   Date;
    uint8_t   Hour;
    uint8_t   Minute;
    uint8_t   Second;
    uint8_t   Rsvd;
} RTC_Time_Setting_st_t;


#define POSITIVE_POWER_SEG_MAP_MAX (sizeof(PositivePowerSegMap)/sizeof(PowerSegMap_st_t))
#define NEGATIVE_POWER_SEG_MAP_MAX (sizeof(NegativePowerSegMap)/sizeof(PowerSegMap_st_t))
#define BATTERY_SEG_MAP_MAX (sizeof(batterySegMap)/sizeof(BatterySegMap_st_t))

#define POWERON_SCAN_TIMER   3000ul

extern uint8_t Charge_OFF_Flag;
extern uint8_t EEPROM_Cumulativee_clean;

extern uint16_t poweroff_time;
void Gauge_Power_SOC_pull_Display(void);
// void Gauge_Power_2_SOC_Display(void);
void Gauge_Clock_Display(void);
// void Gauge_Gear_Display(void);
//void Gauge_Gear_Display(void);
void Gauge_Frame_Display(void);
void Gauge_EleDial_AllSOC_Display(void);
void Gauge_Cutterhead_Gear_Display(void);
void Gauge_Gears_Display(void);
void Gauge_Service(void);
void Gauge_flue_Display(void);
void Gauge_faultcode_Display(void);

void Gauge_CAN_setup_Service(void);
void Checkself_LED_Display(void);
uint8_t Get_Clock_All_lenth(void);
uint8_t Get_CAN_Num_SBMS_Soc_2_Grid(void);
uint8_t Get_CAN_Num_MBMS_Soc_1_Grid(void);
void TYW_Clear_Eeprom_Service(void);
void TYW_RESET_TIME(void);
#endif
