瀏覽代碼

2022-01-18 / Simon Xue

Simon Xue 3 年之前
父節點
當前提交
0af0d0fd98

+ 85 - 162
EVSE/Projects/DD360Tcci/Apps/ModuleLcmCtrl/Module_LcmControl.c

@@ -148,7 +148,7 @@ void CheckTouchPress(short id)
     if (_btn_press >= 1 && _btn_press_id == id) {
         ChangeDisplay2Value(id, 0);
         switch (id) {
-        case _Button_LeftGun_Select:
+        case _Touch_LeftGun:
             if(pSysInfo->CurGunSelected != LEFT_GUN_NUM) {
                 pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(LEFT_GUN_NUM);
                 log_info("LCM left Gun down...............................%x %x %x",
@@ -166,7 +166,7 @@ void CheckTouchPress(short id)
             }
             pSysInfo->CurGunSelected = LEFT_GUN_NUM;
             break;
-        case _Button_RightGun_Select:
+        case _Touch_RightGun:
             if (pSysInfo->CurGunSelected != RIGHT_GUN_NUM) {
                 pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(RIGHT_GUN_NUM);
                 log_info("LCM right Gun down...............................%x %x %x",
@@ -183,36 +183,10 @@ void CheckTouchPress(short id)
             }
             pSysInfo->CurGunSelected = RIGHT_GUN_NUM;
             break;
-        case _Button_Screen_Mode:
-            break;
-        case _Button_Charge:
-            break;
-        case _Button_Refund:
-            ShmDcCommonData->_RefundRequest = true;
-            break;
-        case _Button_Return:
-            ShmDcCommonData->_RefundCancel = true;
-            break;
-        case _Button_Member:
-            break;
-        case _Button_Member_None:
-            break;
-        case _Button_Return_Home:
-            break;
-        case _Button_Donate:
-            ShmDcCommonData->_InvoiceRequest = true;
-            break;
-        case _Button_Donate_Select0:
-            break;
-        case _Button_Donate_Select1:
-            break;
-        case _Button_Donate_Select2:
-            break;
-        case _Button_Donate_Select3:
-            break;
-        case _Button_Donate_Confirm:
-            break;
-        case _Button_Authorize:
+        case _Touch_Return:
+        	CheckIdlePress();
+        	break;
+        case _Touch_IDLE:
             CheckIdlePress();
             break;
         } // switch
@@ -227,18 +201,16 @@ void CheckLCMPressed()
     if ( Pid == 0 ) {
         while (1) {
             pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(pSysInfo->CurGunSelected);
-            CheckTouchPress(_Button_LeftGun_Select);
-            CheckTouchPress(_Button_RightGun_Select);
+            CheckTouchPress(_Touch_LeftGun);
+            CheckTouchPress(_Touch_RightGun);
             switch (pSysInfo->SystemPage) {
             case _PAGE_IDLE:
-                CheckTouchPress(_Button_Authorize);
+                CheckTouchPress(_Touch_IDLE);
                 break;
             case _PAGE_AUTHORIZE:
                 CheckScreenModePress();
                 break;
             case _PAGE_FUNCTION_SELECT:
-                CheckTouchPress(_Button_Charge);
-                CheckTouchPress(_Button_Return);
                 break;
             case _PAGE_MEMBER_SELECT:
                 CheckMemberSelectPress();
@@ -258,20 +230,24 @@ void CheckLCMPressed()
                 else
                     ChangeDisplay2Value(0x109A,100-(i%100));
                     */
+            	ChangeDisplay2Value(0x103A,99);
+
                 break;
             case _PAGE_CHARGING:
-                pDcChargingInfo->PresentChargingVoltage = i;
+
                 pDcChargingInfo->PresentChargingPower = i;
                 pDcChargingInfo->PresentChargedEnergy = i;
-                pDcChargingInfo->PresentChargingCurrent =i;
-                pDcChargingInfo->PresentChargedDuration = i;
+
+                pDcChargingInfo->RemainChargingDuration = i;
                 pDcChargingInfo->EvBatterySoc = i/6;
+
                 break;
             case _PAGE_COMPLETE:
                 pDcChargingInfo->PresentChargedEnergy = i;
                 pDcChargingInfo->ChargingFee = i;
                 pDcChargingInfo->EvBatterySoc = i/6;
                 pSysConfig->BillingData.isBilling = TRUE;
+                ChangeCarBonValue(i/6);
                 break;
 
 // ************************************************ */
@@ -358,7 +334,7 @@ void ReadMsgFromLcm(uint8_t *msg, uint8_t readLen)
                 strcpy((char *)pSysInfo->LcmHwRev, moduleName);
             if (key == 0x0014)
                 _currentPage = *(msg + 8);
-            if ( key >= _Button_LeftGun_Select && key <=_Button_Authorize ) {
+            if ( key >= _Touch_LeftGun && key <=_Touch_IDLE ) {
                 _btn_press_id = key;
                 _btn_press = *(msg + 8);
             }
@@ -536,12 +512,6 @@ void ChangeCurPage()
     struct ChargingInfoData *pDcChargingInfo_0 = (struct ChargingInfoData *)GetDcChargingInfoData(LEFT_GUN_NUM);
     struct ChargingInfoData *pDcChargingInfo_1 = (struct ChargingInfoData *)GetDcChargingInfoData(RIGHT_GUN_NUM);
     pSysInfo->PageIndex = pSysInfo->SystemPage;
-    if (pSysInfo->CurGunSelected == RIGHT_GUN_NUM &&
-            pSysInfo->SystemPage != _PAGE_IDLE &&
-            pSysInfo->SystemPage != _PAGE_MAINTAIN &&
-            pSysInfo->SystemPage != _PAGE_ERROR ) {
-        pSysInfo->PageIndex = pSysInfo->SystemPage + 30;
-    }
 
     if (_currentPage != pSysInfo->PageIndex) {
         switch (pSysInfo->SystemPage) {
@@ -578,62 +548,56 @@ unsigned long GetTimeoutValue(struct timeval _sour_time)
 void showGunWorkingType()
 {
     if (pSysInfo->CurGunSelected == LEFT_GUN_NUM) {
-        ChangeDisplay2Value(_LeftGun_Title,_ICON_LeftGunShow);
-        // Set Left Gun
-        ChangeDisplay2Value(_LeftGun_Status,_ICON_LeftGun_on);
+
 
         pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(LEFT_GUN_NUM);
         if (pDcChargingInfo->CCSGunType == _TYPE_CCS1_Liquid ||
                 pDcChargingInfo->CCSGunType == _TYPE_CCS1_Natural) {
-            ChangeDisplay2Value(_LeftGun_Type,_ICON_LeftGun_on_CCCS1);
+            ChangeDisplay2Value(_LeftGun_status,_ICON_Left_CCS1_ON);
 
         } else if (pDcChargingInfo->CCSGunType == _TYPE_CCS2_Liquid ||
                 pDcChargingInfo->CCSGunType == _TYPE_CCS2_Natural) {
-            ChangeDisplay2Value(_LeftGun_Type,_ICON_LeftGun_on_CCS2);
+            ChangeDisplay2Value(_LeftGun_status,_ICON_Left_CCS2_ON);
         } else if (pDcChargingInfo->Type == _Type_Chademo) {
-            ChangeDisplay2Value(_LeftGun_Type,_ICON_LeftGun_on_CHAdeMo);
+            ChangeDisplay2Value(_LeftGun_status,_ICON_Left_CHAdeMO_ON);
         }
 
         // Set Right Gun
-        ChangeDisplay2Value(_RightGun_Status,_ICON_RightGun_off);
         pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(RIGHT_GUN_NUM);
         if (pDcChargingInfo->CCSGunType == _TYPE_CCS1_Liquid ||
                 pDcChargingInfo->CCSGunType == _TYPE_CCS1_Natural) {
-            ChangeDisplay2Value(_RightGun_Type,_ICON_RightGun_off_CCS1);
+            ChangeDisplay2Value(_RightGun_status,_ICON_Right_CCS1_Off);
 
         } else if (pDcChargingInfo->CCSGunType == _TYPE_CCS2_Liquid ||
                 pDcChargingInfo->CCSGunType == _TYPE_CCS2_Natural) {
-            ChangeDisplay2Value(_RightGun_Type,_ICON_RightGun_off_CCS2);
+            ChangeDisplay2Value(_RightGun_status,_ICON_Right_CCS2_Off);
         } else if (pDcChargingInfo->Type == _Type_Chademo) {
-            ChangeDisplay2Value(_RightGun_Type,_ICON_RightGun_off_CHAdeMo);
+            ChangeDisplay2Value(_RightGun_status,_ICON_Right_CHAdeMo_Off);
         }
     } else {
         // Left Gun
-        ChangeDisplay2Value(_RightGun_Title,_ICON_RightGunShow);
-        ChangeDisplay2Value(_LeftGun_Status,_ICON_LeftGun_off);
         pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(LEFT_GUN_NUM);
         if (pDcChargingInfo->CCSGunType == _TYPE_CCS1_Liquid ||
                 pDcChargingInfo->CCSGunType == _TYPE_CCS1_Natural) {
-            ChangeDisplay2Value(_LeftGun_Type,_ICON_LeftGun_off_CCS1);
+            ChangeDisplay2Value(_LeftGun_status,_ICON_Left_CCS1_Off);
 
         } else if (pDcChargingInfo->CCSGunType == _TYPE_CCS2_Liquid ||
                 pDcChargingInfo->CCSGunType == _TYPE_CCS2_Natural) {
-            ChangeDisplay2Value(_LeftGun_Type,_ICON_LeftGun_off_CCS2);
+            ChangeDisplay2Value(_LeftGun_status,_ICON_Left_CCS2_Off);
         } else if (pDcChargingInfo->Type == _Type_Chademo) {
-            ChangeDisplay2Value(_LeftGun_Type,_ICON_LeftGun_off_CHAdeMo);
+            ChangeDisplay2Value(_LeftGun_status,_ICON_Left_CHAdeMO_Off);
         }
         // Right Gun
-        ChangeDisplay2Value(_RightGun_Status,_ICON_RightGun_on);
         pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(RIGHT_GUN_NUM);
         if (pDcChargingInfo->CCSGunType == _TYPE_CCS1_Liquid ||
                 pDcChargingInfo->CCSGunType == _TYPE_CCS1_Natural) {
-            ChangeDisplay2Value(_RightGun_Type,_ICON_RightGun_on_CCS1);
+            ChangeDisplay2Value(_RightGun_status,_ICON_Right_CCS1_ON);
 
         } else if (pDcChargingInfo->CCSGunType == _TYPE_CCS2_Liquid ||
                 pDcChargingInfo->CCSGunType == _TYPE_CCS2_Natural) {
-            ChangeDisplay2Value(_RightGun_Type,_ICON_RightGun_on_CCS2);
+            ChangeDisplay2Value(_RightGun_status,_ICON_Right_CCS2_ON);
         } else if (pDcChargingInfo->Type == _Type_Chademo) {
-            ChangeDisplay2Value(_RightGun_Type,_ICON_RightGun_on_CHAdeMo);
+            ChangeDisplay2Value(_RightGun_status,_ICON_Right_CHAdeMO_ON);
         }
     }
 
@@ -650,7 +614,7 @@ void ChangeQrCode_Idle(char *input)
         cmd[i++] = input[loop++];
     }
 
-    DisplayValueToLcm(_QR_CODE_, cmd, len + 1);
+    DisplayValueToLcm(_QRCode_Authorize, cmd, len + 1);
 }
 void ShowHomePage()
 {
@@ -666,6 +630,7 @@ void ShowHomePage()
         //ChangeQrCode_Idle((char *)pSysConfig->SystemId);
     }
 }
+/*
 void ChangeRemainTime(int sec)
 {
     int h, m, s;
@@ -684,8 +649,9 @@ void ChangeRemainTime(int sec)
     s = (sec - (3600 * h) - (m * 60));
     sprintf((char *)value, "%02d:%02d:%02d", h, m, s);
     string2ByteArray(value, cmd);
-    DisplayValueToLcm(_String_ChargeTime_, cmd, sizeof(cmd));
+    DisplayValueToLcm(_Text_Time, cmd, sizeof(cmd));
 }
+*/
 void ChangeChargingPowerValue(float pow)
 {
     uint8_t cmd[10];
@@ -695,32 +661,22 @@ void ChangeChargingPowerValue(float pow)
 
     sprintf((char *) value, "%.1f",pow);
     string2ByteArray(value, cmd);
-    DisplayValueToLcm(_String_Power_, cmd, sizeof(cmd));
+    DisplayValueToLcm(_Text_Power, cmd, sizeof(cmd));
 }
-void ChangeChargingVoltageValue(float vol)
-{
-    uint8_t cmd[10];
-    uint8_t value[10];
-
-    memset(cmd, 0x00, sizeof(cmd));
 
-    sprintf((char *) value, "%d", (int)vol);
-    string2ByteArray(value, cmd);
-    DisplayValueToLcm(_String_Voltage_, cmd, sizeof(cmd));
-}
 
-void ChangeChargingCurrenteValue(float vol)
+void ChangeChargingFeeValue(float fee)
 {
     uint8_t cmd[10];
     uint8_t value[10];
 
     memset(cmd, 0x00, sizeof(cmd));
 
-    sprintf((char *) value, "%d", (int)vol);
+    sprintf((char *) value, "%d", (int)fee);
     string2ByteArray(value, cmd);
-    DisplayValueToLcm(_String_Current_, cmd, sizeof(cmd));
+    DisplayValueToLcm(_Text_Money, cmd, sizeof(cmd));
 }
-void ChangeChargingFeeValue(float fee)
+void ChangeCarBonValue(float fee)
 {
     uint8_t cmd[10];
     uint8_t value[10];
@@ -729,7 +685,7 @@ void ChangeChargingFeeValue(float fee)
 
     sprintf((char *) value, "%d", (int)fee);
     string2ByteArray(value, cmd);
-    DisplayValueToLcm(_String_Cost_, cmd, sizeof(cmd));
+    DisplayValueToLcm(_Text_Carbon, cmd, sizeof(cmd));
 }
 void ChangeChargingEnergyValue(float energy)
 {
@@ -742,68 +698,39 @@ void ChangeChargingEnergyValue(float energy)
     }
     sprintf((char *) value, "%d", (int)energy);
     string2ByteArray(value, cmd);
-    DisplayValueToLcm(_String_Rate_, cmd, sizeof(cmd));
+    DisplayValueToLcm(_Text_Energy, cmd, sizeof(cmd));
 }
 uint8_t _battery_display_count = 0;
-void ChangeBattMapAndValue(short page, int soc)
+void ChangeBattMapAndValue(int soc)
 {
-    if (page == _PAGE_CHARGING) {
-
-        _battery_display_count++;
-        if (_battery_display_count == 3 ) {
-            if (_battery_display_ani == 0)
-                _battery_display_ani= TRUE;
-            else
-                _battery_display_ani= FALSE ;
-            _battery_display_count = 0;
-        }
-        if (soc < 25) {
-            if (_battery_display_ani) {
-                ChangeDisplay2Value(_Battery_Progress_0, _ICON_battery_0);
-            } else {
-                ChangeDisplay2Value(_Battery_Progress_0, _ICON_battery_1);
-            }
-        } else if (soc >= 25 && soc < 50) {
-            if (_battery_display_ani) {
-                ChangeDisplay2Value(_Battery_Progress_0, _ICON_battery_1);
-            } else {
-                ChangeDisplay2Value(_Battery_Progress_0, _ICON_battery_2);
-            }
-        } else if (soc >= 50 && soc < 75) {
-            if (_battery_display_ani) {
-                ChangeDisplay2Value(_Battery_Progress_0, _ICON_battery_2);
-            } else {
-                ChangeDisplay2Value(_Battery_Progress_0, _ICON_battery_3);
-            }
-        } else if (soc >= 75 && soc < 100) {
-            if (_battery_display_ani) {
-                ChangeDisplay2Value(_Battery_Progress_0, _ICON_battery_3);
-            } else {
-                ChangeDisplay2Value(_Battery_Progress_0, _ICON_battery_4);
-            }
-        }
-    } else if (page == _PAGE_COMPLETE) {
-        if (soc < 20) {
-            ChangeDisplay2Value(_Battery_Progress_1, _ICON_text_battery_0);
-        } else if (soc >= 20 && soc < 40) {
-            ChangeDisplay2Value(_Battery_Progress_1, _ICON_text_battery_1);
-        } else if (soc >= 40 && soc < 60) {
-            ChangeDisplay2Value(_Battery_Progress_1, _ICON_text_battery_2);
-        } else if (soc >= 60 && soc < 80) {
-            ChangeDisplay2Value(_Battery_Progress_1, _ICON_text_battery_3);
-        } else if (soc >= 80 && soc <= 100) {
-            ChangeDisplay2Value(_Battery_Progress_1, _ICON_text_battery_4);
-        }
-    }
-
+    int i = soc*(36/100);
     uint8_t cmd[5];
     uint8_t value[5];
 
+	_battery_display_count++;
+	if (_battery_display_count == 3 ) {
+		if (_battery_display_ani == 0)
+			_battery_display_ani= TRUE;
+		else
+			_battery_display_ani= FALSE ;
+		_battery_display_count = 0;
+	}
+	if (i==36)
+		ChangeDisplay2Value(_Battery_Circle,_ICON_Battery_35);
+	else {
+		if (_battery_display_ani) {
+			ChangeDisplay2Value(_Battery_Circle, _ICON_Battery_0+i);
+		} else {
+			ChangeDisplay2Value(_Battery_Circle, _ICON_Battery_0+i+1);
+		}
+	}
+
+
     memset(cmd, 0x00, sizeof(cmd));
     memset(value, 0x00, sizeof(value));
     sprintf((char *)value, "%d", soc);
     string2ByteArray(value, cmd);
-    DisplayValueToLcm(_String_BatterySoc_, cmd, sizeof(cmd));
+    DisplayValueToLcm(_Text_BatterySoc, cmd, sizeof(cmd));
 }
 unsigned long GetPreChargeTimeoutValue(struct timeval _sour_time)
 {
@@ -820,7 +747,7 @@ void ChangeTimeValue(uint8_t time)
     memset(cmd, 0x00, sizeof(cmd));
     sprintf((char *) value, "%d", time);
     string2ByteArray(value, cmd);
-    DisplayValueToLcm(_PreChargeTimer, cmd, sizeof(cmd));
+    DisplayValueToLcm(_Text_Time, cmd, sizeof(cmd));
 }
 void CabinetChangeLCMProcess()
 {
@@ -880,22 +807,13 @@ void ProcessPageInfo()
             	_Text_Running_Count = 0;
                 break;
             case _PAGE_PRECHARGE:
-                if ((_Text_Running_Count/100) %2 == 0)
-                    ChangeDisplay2Value(_Text_PrepareToCharge,_Text_Running_Count%100);
-                else
-                    ChangeDisplay2Value(_Text_PrepareToCharge,100-(_Text_Running_Count%100));
-                _Text_Running_Count >= 200 ? _Text_Running_Count = 0 : _Text_Running_Count++;
+
+				ChangeDisplay2Value(_PrepareBar,_Text_Running_Count);
+
+                _Text_Running_Count >= 99 ? _Text_Running_Count = 86 : _Text_Running_Count++;
                 break;
             case _PAGE_CHARGING:
-                if (pDcChargingInfo->PresentChargingVoltage >= 0 &&
-                        pDcChargingInfo->PresentChargingVoltage <= 950) {
-
-                    ChangeChargingVoltageValue(pDcChargingInfo->PresentChargingVoltage);
-                }
-                if (pDcChargingInfo->PresentChargingCurrent >= 0) {
 
-                    ChangeChargingCurrenteValue(pDcChargingInfo->PresentChargingCurrent);
-                }
                 if (pDcChargingInfo->PresentChargingPower >= 0 &&
                         pDcChargingInfo->PresentChargingPower <= POWER_MAX_KW) {
 
@@ -910,13 +828,17 @@ void ProcessPageInfo()
                 } else {
                     ChangeChargingEnergyValue(0);
                 }
-                if (pDcChargingInfo->PresentChargedDuration >= 0 &&
-                        pDcChargingInfo->PresentChargedDuration <= TIME_MAX_SEC) {
-                    ChangeRemainTime(pDcChargingInfo->PresentChargedDuration);
+                if (pSysConfig->BillingData.isBilling &&
+                        pDcChargingInfo->ChargingFee >= 0) {
+                    ChangeChargingFeeValue(pDcChargingInfo->ChargingFee);
+                }
+                if (pDcChargingInfo->RemainChargingDuration >= 0 &&
+                        pDcChargingInfo->RemainChargingDuration <= TIME_MAX_SEC) {
+                	ChangeTimeValue(pDcChargingInfo->RemainChargingDuration);
                 } else {
-                    ChangeRemainTime(0);
+                	ChangeTimeValue(0);
                 }
-                ChangeBattMapAndValue(_currentPage, pDcChargingInfo->EvBatterySoc);
+                ChangeBattMapAndValue(pDcChargingInfo->EvBatterySoc);
                 break;
             case _PAGE_COMPLETE:
                 if (pDcChargingInfo->PresentChargedEnergy >= 0.1 &&
@@ -929,13 +851,13 @@ void ProcessPageInfo()
                         pDcChargingInfo->ChargingFee >= 0) {
                     ChangeChargingFeeValue(pDcChargingInfo->ChargingFee);
                 }
-                ChangeBattMapAndValue(_currentPage, pDcChargingInfo->EvBatterySoc);
+                ChangeBattMapAndValue(pDcChargingInfo->EvBatterySoc);
+
                 break;
             case _PAGE_REFUND_SENSEING:
                 break;
             case _PAGE_PLUGOUT:
-            	ChangeDisplay2Value(0x20B0, Battery_Test);
-            	Battery_Test >= 100 ? Battery_Test = 0 : Battery_Test++;
+
             	break;
             }
         }
@@ -1117,15 +1039,16 @@ void InformationShow()
 }
 void DefautLayOut()
 {
-	for (int i = 0 ; i <= 0x76 ; i+=2 ) {
+	for (int i = 0 ; i <= 0x72 ; i+=2 ) {
+		ChangeDisplay2Value(0x1000+i,1);
 		if (i == 0x38)
 			ChangeDisplay2Value(0x1000+i,85);
 		else if (i == 0x36)
 			ChangeDisplay2Value(0x1000+i,75);
 		else if (i == 0x3A)
 			ChangeDisplay2Value(0x1000+i,99);
-		ChangeDisplay2Value(0x1000+i,1);
 	}
+
 	ChangeDisplay2Value(0x5000,1);
 }
 int main(void)
@@ -1174,7 +1097,7 @@ int main(void)
 
         } else {
             UpdateLcmFunction(ShmDcCommonData,_port);
-            /*
+            ///*
             // Warning 處理
             if (curWarningCount != pSysWarning->WarningCount) {
                 changeWarningPriority = 0;
@@ -1223,7 +1146,7 @@ int main(void)
             usleep(10000); //*/
 
             ///*
-            //ProcessPageInfo();
+            ProcessPageInfo();
             GetCurrentPage();
             ChangeCurPage();
             usleep(10000);

+ 149 - 144
EVSE/Projects/DD360Tcci/Apps/ModuleLcmCtrl/Module_LcmControl.h

@@ -49,69 +49,54 @@
 #define _CHANGE_PAYMENT_OK      0x06
 #define _CHANGE_PAYMENT_FAIL    0x07
 
-#define _LeftGun_btn_flag       0x3000
-#define _RightGun_btn_flag      0x3002
+
 //#define NOODOE_QR_CODE_URL                    "https://ev-alpha-test.noodoe.com/station?id=" ////For Audi
+#define _StatuIcon				0x1000
+#define	_TccareIcon				0x1004
+#define _StartTouchIcon			0x1006
+#define _FurthureIcon			0x1010
+#define _WeatherIcon			0x1012
+#define	_WelcomeIcon			0x1014
+#define _QRCodeIcon				0x1016
+#define _ExclamIcon				0x1018
+#define _PluginIcon				0x101A
+#define _PlugoutIcon			0x101C
+#define _ReturnIcon				0x101E
+#define _PrechargeIcon			0x1020
+#define _MinuteIcon				0x1026
+#define _Rate13Icon				0x1028
+#define _CompleteIcon			0x102A
+#define _KgIcon					0x102C
+#define _Rate14Icon				0x102E
+#define _ExitIcon				0x1030
+#define _FarewellIcon			0x1032
+#define _ChargingIcon			0x1034
+// Circle Battery Setting Icon
+#define _Battery_Circle			0x1036
+// Energy Bar
+#define _EnergyBar				0x1038
+// Prepare Bar
+#define _PrepareBar				0x103A
 
-#define _LeftGun_Title          0x1000
-#define _RightGun_Title         0x1002
-#define _LeftGun_Status         0x1004
-#define _LeftGun_Type           0x1006
-#define _RightGun_Status        0x1008
-#define _RightGun_Type          0x100A
-#define _CellPhone_Mode         0x100C
-#define _Screen_Mode            0x100E
-#define _PlugIn_String          0x1010
-#define _Communication_Status   0x1012
-#define _SaftyDetect_Status     0x1014
-#define _PreCharge_Status       0x1016
-#define _Text_Voltage           0x1018
-#define _Text_Current           0x101A
-#define _Text_Power             0x101C
-#define _Text_Rate              0x101E
-#define _Text_Time              0x1020
-#define _Battery_Progress_0     0x1022
-#define _Symbol_V               0x1024
-#define _Symbol_A               0x1026
-#define _Symbol_KW              0x1028
-#define _Symbol_Rate            0x102A
-#define _Symbol_Percent         0x102C
-#define _Text_ChargeRate        0x102E
-#define _Text_ChargePay         0x1030
-#define _Battery_Progress_1     0x1032
-#define _Text_ChargeComplete    0x1034
-#define _Symbol_Dollar          0x1074
-#define _QR_CODE_               0x1082
-#define _Text_PrepareToCharge	0x109A
-#define _PreChargeTimer         0x2000
-#define _String_Voltage_        0x2010
-#define _String_Current_        0x2020
-#define _String_Power_          0x2030
-#define _String_Rate_           0x2040
-#define _String_ChargeTime_     0x2050
-#define _String_BatterySoc_     0x2060
-#define _String_Cost_           0x2070
-#define _String_SensingTime_    0x2080
-#define _String_RefunTime_      0x2090
-#define _String_SensingResultTime_ 0x20A0
+// QRCode
+#define _QRCode_Authorize		0x1040
+#define _QRCode_Replug			0x1050
+#define _QRCode_Complete		0x1060
 
+#define _LeftGun_status			0x1070
+#define _RightGun_status		0x1072
 // Touch
-#define _Button_LeftGun_Select  0x3000
-#define _Button_RightGun_Select 0x3002
-#define _Button_Screen_Mode     0x3004
-#define _Button_Charge          0x3006
-#define _Button_Refund          0x3008
-#define _Button_Return          0x300A
-#define _Button_Member          0x300C
-#define _Button_Member_None     0x300E
-#define _Button_Return_Home     0x3010
-#define _Button_Donate          0x3012
-#define _Button_Donate_Select0  0x3014
-#define _Button_Donate_Select1  0x3016
-#define _Button_Donate_Select2  0x3018
-#define _Button_Donate_Select3  0x301A
-#define _Button_Donate_Confirm  0x301C
-#define _Button_Authorize       0x301E
+#define _Touch_LeftGun			0x1080
+#define _Touch_RightGun			0x1082
+#define _Touch_Return			0x1084
+#define _Touch_IDLE				0x1086
+// Text String
+#define _Text_Power				0x1090
+#define _Text_Time				0x10A0
+#define _Text_Energy			0x10B0
+#define _Text_Money				0x10C0
+#define _Text_BatterySoc		0x10D0
+#define _Text_Carbon			0x10E0
 
 // ICON Map Address
 enum _LCM_TCC_INDEX {
@@ -156,91 +141,111 @@ enum _LCM_TCC_INDEX {
 };
 
 enum _ICON_LIST_ {
-    _ICON_Empty = 0,
-    _ICON_LeftGunShow = 1,
-    _ICON_RightGunShow,
-    _ICON_LeftGun_off,
-    _ICON_LeftGun_on,
-    _ICON_LeftGun_off_CCS1,
-    _ICON_LeftGun_off_CCS2,
-    _ICON_LeftGun_off_CHAdeMo,
-    _ICON_LeftGun_on_CCCS1,
-    _ICON_LeftGun_on_CCS2,
-    _ICON_LeftGun_on_CHAdeMo,
-    _ICON_RightGun_off,
-    _ICON_RightGun_on,
-    _ICON_RightGun_off_CCS1,
-    _ICON_RightGun_off_CCS2,
-    _ICON_RightGun_off_CHAdeMo,
-    _ICON_RightGun_on_CCS1,
-    _ICON_RightGun_on_CCS2,
-    _ICON_RightGun_on_CHAdeMo,
-    _ICON_cellphone_mode,
-    _ICON_screen_mode,
-    _ICON_Plugin,
-    _ICON_Communication_off,
-    _ICON_Communication_on,
-    _ICON_SaftyDetect_off,
-    _ICON_SaftyDetect_on,
-    _ICON_PrepareCharge_off,
-    _ICON_PrepareCharge_on,
-    _ICON_text_Voltage,
-    _ICON_text_Current,
-    _ICON_text_Power,
-    _ICON_text_Rate,
-    _ICON_text_time,
-    _ICON_battery_0,
-    _ICON_battery_1,
-    _ICON_battery_2,
-    _ICON_battery_3,
-    _ICON_battery_4,
-    _ICON_symbol_V,
-    _ICON_symbol_A,
-    _ICON_symbol_KW,
-    _ICON_symbol_rate,
-    _ICON_symbol_percent,
-    _ICON_text_ChargereRate,
-    _ICON_text_ChargePay,
-    _ICON_text_battery_0,
-    _ICON_text_battery_1,
-    _ICON_text_battery_2,
-    _ICON_text_battery_3,
-    _ICON_text_battery_4,
-    _ICON_text_ChargeComplete,
-    _ICON_return_button,
-    _ICON_charge,
-    _ICON_refund,
-    _ICON_Scanning,
-    _ICON_Refunding,
-    _ICON_text_ChargeDate,
-    _ICON_text_HoldMoney,
-    _ICON_text_ChargeMoney,
-    _ICON_text_ReturnMoney,
-    _ICON_text_bar,
-    _ICON_text_RefundNone,
-    _ICON_member,
-    _ICON_non_member,
-    _ICON_scan_QR_code,
-    _ICON_text_UsingPhone,
-    _ICON_Button_return_to_main,
-    _ICON_Button_Donate,
-    _ICON_Text_DonateBill,
-    _ICON_Button_Confirm,
-    _ICON_NHOA_TCCSupport,
-    _ICON_text_Eticket,
-    _ICON_text_CreditCard,
-    _ICON_text_MPay,
-    _ICON_BarL,
-    _ICON_BarR,
-    _ICON_text_Scaing,
-    _ICON_text_DeducationSuccess,
-    _ICON_text_Store,
-    _ICON_ext_CardMoney,
-    _ICON_text_PayMoney,
-    _ICON_text_CardRefund,
-    _ICON_text_dollor,
-    _ICON_text_SensingSuccess,
-    _ICON_text_Sensing_Fail_Farm,
+    _ICON_Empty 			= 0,
+	_ICON_StatusInit,
+	_ICON_StatusAuthorize,
+	_ICON_StatusCharge,
+	_ICON_StatusComplete,
+	_ICON_AllIdle,
+	_ICON_LeftGunSelect,
+	_ICON_RightGunSelect,
+	_ICON_AllSelect,
+	_ICON_TCCare,
+	_ICON_StartTouch,
+
+	_ICON_Furthure 			= 15,
+	_ICON_Weather,
+	_ICON_Welcome,
+	_ICON_QRCode,
+	_ICON_exclamation,
+	_ICON_plugin,
+	_ICON_Plugout,
+	_ICON_Return,
+	_ICON_PrepareCharge,
+
+	_ICON_min 				= 26,
+	_ICON_Rate_13,
+	_ICON_Complete,
+	_ICON_kg,
+	_ICON_Rate_14,
+	_ICON_Exit,
+	_ICON_HaveANiceDay,
+	_ICON_HaveANiceTrip,
+	_ICON_SaftDrive,
+	_ICON_Charging,
+
+	_ICON_Battery_0 		= 40,
+	_ICON_Battery_1,
+	_ICON_Battery_2,
+	_ICON_Battery_3,
+	_ICON_Battery_4,
+	_ICON_Battery_5,
+	_ICON_Battery_6,
+	_ICON_Battery_7,
+	_ICON_Battery_8,
+	_ICON_Battery_9,
+	_ICON_Battery_10,
+	_ICON_Battery_11,
+	_ICON_Battery_12,
+	_ICON_Battery_13,
+	_ICON_Battery_14,
+	_ICON_Battery_15,
+	_ICON_Battery_16,
+	_ICON_Battery_17,
+	_ICON_Battery_18,
+	_ICON_Battery_19,
+	_ICON_Battery_20,
+	_ICON_Battery_21,
+	_ICON_Battery_22,
+	_ICON_Battery_23,
+	_ICON_Battery_24,
+	_ICON_Battery_25,
+	_ICON_Battery_26,
+	_ICON_Battery_27,
+	_ICON_Battery_28,
+	_ICON_Battery_29,
+	_ICON_Battery_30,
+	_ICON_Battery_31,
+	_ICON_Battery_32,
+	_ICON_Battery_33,
+	_ICON_Battery_34,
+	_ICON_Battery_35,
+	_ICON_Bar_1,
+	_ICON_Bar_2,
+	_ICON_Bar_3,
+	_ICON_Bar_4,
+	_ICON_Bar_5,
+	_ICON_Bar_6,
+	_ICON_Bar_7,
+	_ICON_Bar_8,
+	_ICON_Bar_9,
+	_ICON_Bar_10,
+	_ICON_PrePare_1,
+	_ICON_PrePare_2,
+	_ICON_PrePare_3,
+	_ICON_PrePare_4,
+	_ICON_PrePare_5,
+	_ICON_PrePare_6,
+	_ICON_PrePare_7,
+	_ICON_PrePare_8,
+	_ICON_PrePare_9,
+	_ICON_PrePare_10,
+	_ICON_PrePare_11,
+	_ICON_PrePare_12,
+	_ICON_PrePare_13,
+	_ICON_PrePare_14,
+	_ICON_Left_CCS1_Off,
+	_ICON_Left_CCS2_Off,
+	_ICON_Left_CHAdeMO_Off,
+	_ICON_Left_CCS1_ON,
+	_ICON_Left_CCS2_ON,
+	_ICON_Left_CHAdeMO_ON,
+	_ICON_Right_CCS1_Off,
+	_ICON_Right_CCS2_Off,
+	_ICON_Right_CHAdeMo_Off,
+	_ICON_Right_CCS1_ON,
+	_ICON_Right_CCS2_ON,
+	_ICON_Right_CHAdeMO_ON,
 };