瀏覽代碼

Merge remote-tracking branch 'origin/DD360UCar'

FolusWen 3 年之前
父節點
當前提交
73828101d5
共有 25 個文件被更改,包括 165 次插入84 次删除
  1. 17 4
      EVSE/Projects/DD360UCar/Apps/CSU/main.c
  2. 3 0
      EVSE/Projects/DD360UCar/Apps/Config.h
  3. 4 4
      EVSE/Projects/DD360UCar/Apps/Define/define.c
  4. 92 46
      EVSE/Projects/DD360UCar/Apps/Define/define.h
  5. 1 4
      EVSE/Projects/DD360UCar/Apps/ModuleDoComm/DoComm.c
  6. 2 1
      EVSE/Projects/DD360UCar/Apps/ModuleEvComm/AbnormalState.c
  7. 20 20
      EVSE/Projects/DD360UCar/Apps/ModuleInternalComm/RelayBoard.c
  8. 10 4
      EVSE/Projects/DD360UCar/Apps/ModuleLcmCtrl/Module_LcmControl.c
  9. 3 1
      EVSE/Projects/DD360UCar/Apps/ReadCmdline.c
  10. 二進制
      EVSE/Projects/DD360UCar/Apps/UnsafetyOutputTask
  11. 二進制
      EVSE/Projects/DD360UCar/Images/ramdisk.gz
  12. 二進制
      EVSE/Projects/DD360UCar/output/FactoryConfig
  13. 二進制
      EVSE/Projects/DD360UCar/output/Module_ChkSysTask
  14. 二進制
      EVSE/Projects/DD360UCar/output/Module_DoComm
  15. 二進制
      EVSE/Projects/DD360UCar/output/Module_EvComm
  16. 二進制
      EVSE/Projects/DD360UCar/output/Module_EventLogging
  17. 二進制
      EVSE/Projects/DD360UCar/output/Module_InternalComm
  18. 二進制
      EVSE/Projects/DD360UCar/output/Module_LcmControl
  19. 二進制
      EVSE/Projects/DD360UCar/output/Module_PrimaryComm
  20. 二進制
      EVSE/Projects/DD360UCar/output/Module_UpdateFW
  21. 二進制
      EVSE/Projects/DD360UCar/output/ReadCmdline
  22. 二進制
      EVSE/Projects/DD360UCar/output/UnsafetyOutputTask
  23. 二進制
      EVSE/Projects/DD360UCar/output/main
  24. 二進制
      EVSE/Projects/DD360UCar/output/simulation
  25. 13 0
      build_rootfs_copy.sh

+ 17 - 4
EVSE/Projects/DD360UCar/Apps/CSU/main.c

@@ -82,8 +82,8 @@ uint8_t bd0_2_status = 0;
 uint8_t bd1_1_status = 0;
 uint8_t bd1_2_status = 0;
 
-char *fwVersion = "V2.01.00.0000.00"; // Phihong version
-char* DebugVersion = "v2.01.00";      // Software debug version
+char *fwVersion = "V2.03.00.0000.00"; // Phihong version
+char* DebugVersion = "v2.03.00";      // Software debug version
 //sqlite3 *localDb;
 bool isDb_ready;
 
@@ -3838,7 +3838,6 @@ int main(void)
     bool isModelNameMatch = true;
     uint8_t _ocppProfileChkFlag;
     uint8_t gunIndex = 0;
-
     if (CreateAllCsuShareMemory() == FAIL) {
         log_error("create share memory error");
         return FAIL;
@@ -3874,6 +3873,7 @@ int main(void)
     log_info(" ********************************************************");
     log_info(" ******************  Project:DD360UCar  *****************");
     log_info(" ********************************************************");
+
     if (!InitialSystemDefaultConfig()) {
         log_error("InitialSystemDefaultConfig NG ");
         //StopProcessingLoop();
@@ -3959,7 +3959,7 @@ int main(void)
     CheckTaskAlive();
 
     CreateWatchdog();
-
+    int is_idle = TRUE;
     for (;;) {
 
         CheckOcppStatus();
@@ -4009,12 +4009,25 @@ int main(void)
 
         gEvBoardErr.GunErrMessage = 0; //清除系統執行中的錯誤訊息
         gChillerTempErr.TempErrMsg = 0;//清除系統執行中的錯誤訊息
+        is_idle = TRUE;
         for (gunIndex = 0; gunIndex < pSysConfig->TotalConnectorCount; gunIndex++) {
             pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(gunIndex);
             // 重新收集各槍的錯誤狀態
             collectError(gunIndex);
             checkEvBoardAlarmState(pDcChargingInfo->Type);
+            if ((pDcChargingInfo->SystemStatus >= S_REASSIGN_CHECK &&
+                pDcChargingInfo->SystemStatus <= S_COMPLETE) ||
+                pDcChargingInfo->SystemStatus == S_CCS_PRECHARGE_ST0 ||
+                pDcChargingInfo->SystemStatus == S_CCS_PRECHARGE_ST1) {
+                is_idle = FALSE;
+            }
         }
+        if (is_idle == FALSE) {
+            ShmFanModuleData->SetFan1Speed = 7000;
+        } else {
+            ShmFanModuleData->SetFan1Speed = 0;
+        }
+
         checkChillerAlarmState();
 
         // 確認當前錯誤 Level = 2 ?

+ 3 - 0
EVSE/Projects/DD360UCar/Apps/Config.h

@@ -505,6 +505,9 @@ typedef struct StDcCommonInfo {
     RecordTransactionInfo TransactionInfo[2];
     RecordTransactionInfo UploadRedectInfo;
     RecordTransactionInfo ReAuthComplete;
+    int TzOffset;
+    int DebugFlag;
+    int chillerCtrl;
 } DcCommonInfo;
 
 #endif /* CONFIG_H_ */

+ 4 - 4
EVSE/Projects/DD360UCar/Apps/Define/define.c

@@ -238,9 +238,9 @@ char AlarmStatusCode[160][6]=
 "012326", // System task is lost
 "012327", // DC input ovp
 "012328", // DC input uvp
-"012329",   // reserved
-"012330",   // reserved
-"012331",   // reserved
+"012329",   // Psu Can Communication Fault
+"012330",   // Psu Dc to Dc OTP
+"012331",   // Psu Dc to Dc OVP
 "012332",   // reserved
 "012333",   // reserved
 "012334",   // reserved
@@ -255,7 +255,7 @@ char AlarmStatusCode[160][6]=
 "012343",   // reserved
 "012344",   // AC: Meter IC communication timeout
 "012345",   // AC: Pilot negative error
-"012346",   // reserved
+"012346",   // Psu Communication error with CSU
 "012347",   // reserved
 "012348",   // reserved
 "012349",   // reserved

+ 92 - 46
EVSE/Projects/DD360UCar/Apps/Define/define.h

@@ -186,6 +186,7 @@ Storage							0x0A200000-0x7FFFFFFF		1886 MB
 #define ShmLedBdKey				1011
 #define ShmOcpp20ModuleKey		1012
 #define ShmRelay2BdKey			1013
+#define ShmYesCustomKey         1014
 
 #define FaultCodeLength         5
 #define AlarmCodeLength         20
@@ -321,8 +322,11 @@ enum CoreProfile {
      TimeOffsetNextTransition,
      SystemUptimeSec,
      FreeVend,
+     FreeVendIdtag,
      OcppServer,
      MaintainServer,
+     StatusNotificationPeriodically,
+     StatusNotificationInterval,
      ConfigurationVersion,
 	 _CoreProfile_CNT
 };
@@ -414,8 +418,16 @@ struct LED
 	unsigned char			Blue[3];					// Blue color	0~100, element 0: IDLE		1: CHARGING		2: FAULT
 };
 
+struct LCD_NOUSE
+{
+    unsigned char           page_index;                 // LCD override page index
+    unsigned char           duration;                   // LCD override duration
+    unsigned char           isOverideReq:1;             // LCD override request
+};
+
 struct LCD_OVERRIDE
 {
+    unsigned char           connectorId;                // LCD override connector id
     unsigned char           page_index;                 // LCD override page index
     unsigned char           duration;                   // LCD override duration
     unsigned char           isOverideReq:1;             // LCD override request
@@ -464,7 +476,9 @@ typedef union
         unsigned int HardResetStop:1;               // 0: no effect,    1: hard reset stop
         unsigned int SoftResetStop:1;               // 0: no effect,    1: soft reset stop
         unsigned int InvalidIdStop:1;               // 0: no effect,    1: invalid stop when StopTransactionOnInvalidId is true
-        unsigned int res:25;
+        unsigned int RemoteStop:1;                  // 0: no effect,    1: remote stop
+        unsigned int UnlockStop:1;                  // 0: no effect,    1: unlock stop
+        unsigned int res:23;
     }bits;
 }ChargingStop;
 
@@ -559,7 +573,7 @@ struct SysConfigData
 	unsigned char           isReqFirstUpgrade;          //EVSE is request first upgrade from PH server
 	unsigned char           isEnableLocalPowerSharging; //0: Disable power sharing  1: Enable power sharing
 	unsigned char           StopChargingByButton;       //0: Disable  1: Enable
-    struct LCD_OVERRIDE     LcdOveride;                 // LCD override info
+    struct LCD_NOUSE        Legacy_LcdOveride;          // LCD override info (no use anymore)
     struct TTIA             TTIA_Info;                  // TTIA configuration struct
 
     /************PowerCabinet************/
@@ -673,6 +687,7 @@ struct ChargingInfoData
     unsigned char       isEVCCIDVerify;
     unsigned char       CCSGunType;
     struct timeval      PreChargeTimer;
+    unsigned char       _SaftyDetect;
 };
 
 typedef struct
@@ -698,12 +713,7 @@ typedef union
         unsigned int MiscNeedAnnouncement:1;            // 0: no need,      1: need send misc command
         unsigned int NeedDispenserVerInfo:1;            // 0: no need,      1: need dispenser to report it's version info
         unsigned int AuthorizeRequest:1;                // 0: idle,         1: requesting                           ( dispenser -> cabinet)
-        unsigned int ConnectorTimeoutConfigRequest:1;   // 0: no request,   1: connector timeout setting            (    ocpp   -> cabinet -> dispenser)
-        unsigned int DefaultPriceConfigRequest:1;       // 0: no request,   1: default price setting                (    ocpp   -> cabinet -> dispenser)
-        unsigned int CurrencyConfigRequest:1;           // 0: no request,   1: currency setting                     (    ocpp   -> cabinet -> dispenser)
-        unsigned int HardwareRebootRequest:1;           // 0: no request,   1: hardware reboot request              (    ocpp   -> cabinet -> dispenser)
         unsigned int HardwareRebootConfirm:1;           // 0: no effect,    1: dispenser confirmed
-        unsigned int SoftwareResetRequest:1;            // 0: no request,   1: software reset request               (    ocpp   -> cabinet -> dispenser)
         unsigned int SoftwareResetConfirm:1;            // 0: no effect,    1: dispenser confirmed
         unsigned int FirmwareUpdateRequest:1;           // firmware update request
         unsigned int FirmwareUpdateConfirm:1;           // firmware update start
@@ -717,7 +727,7 @@ typedef union
         unsigned int AuthModeConfigRequest:1;           // 0: no request,   1: AuthMode Config has changed                      ( cabinet -> dispenser)
         unsigned int EVCCIDConfigRequest:1;             // 0: no request,   1: EVCCID Config has changed                        ( cabinet -> dispenser)
         unsigned int LEDIntensityRequest:1;             // 0: no request,   1: LED Intensity has changed                        ( cabinet -> dispenser)
-        unsigned int res:7;
+        unsigned int res:12;
     }bits;
 }DispenserSettingFlag;
 
@@ -793,10 +803,6 @@ struct DispenserInfoData
     }CheckInLog;                                                        // record dispenser checkin status
     unsigned char               ConnectorLog[GENERAL_GUN_QUANTITY];     // record connector quantity of dispenser
     struct ConnectionInfoData   ConnectionInfo[GENERAL_GUN_QUANTITY];
-
-    unsigned short      ConnectorTimeout;           // connector plug in timeout, unit 1s
-    unsigned int        DefaultPrice;               // dispenser default price, unit: 0.01 (dollar/kWh)
-    unsigned char       Currency;                   // dispenser currency index
 };
 
 struct WARNING_CODE_INFO
@@ -814,16 +820,11 @@ typedef union
     struct
     {
         unsigned int  PermissionRequest:1;              // 0: no request,    1: dispenser request to charging                   ( dispenser -> cabinet)
-        unsigned int  RemoteStartRequest:1;             // 0: no request,    1: remote start                                    (    ocpp   -> cabinet -> dispenser)
         unsigned int  RemoteStartConfirm:1;
-        unsigned int  RemoteStopRequest:1;              // 0: no request,    1: remote stop                                     (    ocpp   -> cabinet -> dispenser)
         unsigned int  RemoteStopConfirm:1;
-        unsigned int  UnlockStopRequest:1;              // 0: no request,    1: Unlock stop                                     (    ocpp   -> cabinet -> dispenser)
         unsigned int  UnlockStopConfirm:1;
         unsigned int  TimeoutStopRequest:1;             // 0: no request,    1: ethernet timeout stop                           ( dispenser -> cabinet)
         unsigned int  PsuReleasable:1;
-        unsigned int  AvailabilityRequest:1;            // 0: no request,    1: change availability                             (    ocpp   -> cabinet -> dispenser)
-        unsigned int  AccountBalanceRequest:1;          // 0: no request,    1: set account balance                             (    ocpp   -> cabinet -> dispenser)
         unsigned int  AnnounceBalance:1;                //
         unsigned int  StartWaitPlug:1;                  //
         unsigned int  NeedCleanAuthorizeInfo:1;         //
@@ -836,7 +837,7 @@ typedef union
         unsigned int  Disconnection:1;
         unsigned int  GfdDetection:1;                   // 0: stop,         1: start
         unsigned int  GetStartChargingSoc:1;            // 0: no effect,    1: get start soc
-        unsigned int  res:8;
+        unsigned int  res:14;
     }bits;
 }ConnectorParameter;
 
@@ -873,9 +874,10 @@ struct ConnectorInfoData
     float                   CapabilityCurrent;              // unit 0.1A
     float                   CapabilityPower;                // unit 0.1kW
 
-    unsigned int            UserPrice;                      // connector user's user price, unit: 0.01 (dollar / kWh)
-    unsigned int            TotalCost;                      // connector user's total cost, unit: 0.01 dollar
-    int                     AccountBalance;                 // connector user's account balance, unit: 0.01 dollar
+    float                   UserPrice;                      // connector user's user price, unit: 1 (dollar / kWh)
+    float                   TotalCost;                      // connector user's total cost, unit: 1 dollar
+    float                   AccountBalance;                 // connector user's account balance, unit: 1 dollar
+    float                   CostDiscount;                   // connector user's account balance, unit: 1 dollar
 };
 
 typedef union
@@ -891,23 +893,6 @@ typedef union
     }bits;
 }CabinetSettingFlag;
 
-typedef struct
-{
-    unsigned int ConnectionTimeout;             // unit: 1s
-    unsigned int DefaultPrice;                  // unit: 0.01dollar
-    unsigned int Currency;                      // currency index
-    unsigned int BackendStatus;                 // 0: disable, 1: connected, 2: disconnected
-    unsigned int EthernetStatus;                // 0: disable, 1: connected, 2: disconnected
-    unsigned int WiFiStatus;                    // 0: disable, 1: connected, 2: disconnected
-    unsigned int TelcomModemStatus;             // 0: disable, 1: connected, 2: disconnected
-    unsigned int BillingStatus;                 // 0: disable, 1: enable
-    unsigned int StopChargingButton;            // 0: disable, 1: enable
-    unsigned int HardwareReboot;                // 1: HardwareReboot, Other value: no effect
-    unsigned int SoftwareRestart;               // 1: SoftwareRestart, Other value: no effect
-    unsigned int AuthModeConfig;                // 0: enable,  1: disable
-    unsigned int EVCCIDConfig;                  // 0: disable, 1: enable
-}CabinetMiscCommand;
-
 typedef struct DC_METER_INFO
 {
     double presetVoltage;                       // resolution: 1.000v
@@ -1010,11 +995,11 @@ struct SysInfoData
     unsigned char           AuthorizedType;             // record authorized type
     unsigned char           AuthorizedStatus;           // cabinet authorized status
     CabinetSettingFlag      CabinetSetting;
-    CabinetMiscCommand      CabinetMicsStatus;
     struct LocalSharingInfo localSharingInfo;           // Local power sharing info structure
     DC_Meter_Info DcMeterInfo[4];
     unsigned char           OTPTemp;                    // OTP Temperature
     unsigned char           OTPTempR;                   // OTP Recovery Temperature
+    struct LCD_OVERRIDE     LcdOveride;                 // LCD override info (no use anymore)
 };
 
 struct SysConfigAndInfo
@@ -1333,9 +1318,9 @@ char AlarmStatusCode[160][6]=
     "012326",   // System task is lost
     "012327",   // DC input ovp
     "012328",   // DC input uvp
-    "012329",   // reserved
-    "012330",   // reserved
-    "012331",   // reserved
+    "012329",   // Psu Can Communication Fault
+    "012330",   // Psu Dc to Dc OTP
+    "012331",   // Psu Dc to Dc OVP
     "012332",   // reserved
     "012333",   // reserved
     "012334",   // reserved
@@ -1350,7 +1335,7 @@ char AlarmStatusCode[160][6]=
     "012343",   // reserved
     "012344",   // AC: Meter IC communication timeout
     "012345",   // AC: Pilot negative error
-    "012346",   // reserved
+    "012346",   // Psu Communication error with CSU
     "012347",   // reserved
     "012348",   // reserved
     "012349",   // reserved
@@ -1520,13 +1505,17 @@ struct AlarmCodeData
             unsigned char DcInputOVP:1;                             //bit 7
             //AlarmVal[16]
             unsigned char DcInputUVP:1;                             //bit 0
-            unsigned char :7;                                       //reserved bit 1 ~ bit 7
-            //AlarmVal[17]
+            unsigned char PsuCanCommFault:1;                        //bit 1
+            unsigned char PsuDcDcOtp:1;                             //bit 2
+            unsigned char PsuDcDcOvp:1;                             //bit 3
+            unsigned char :4;                                       //reserved bit 4 ~ bit 7
+    //AlarmVal[17]
             unsigned char :8;                                       //reserved bit 0 ~ bit 7
             //AlarmVal[18]
             unsigned char MeterIcCommTimeout:1;                     //bit 0
             unsigned char PilotNegativeError:1;                     //bit 1
-            unsigned char :6;                                       //reserved bit 2 ~ bit 7
+            unsigned char PsuComminicationErrWithCSU:1;             //bit 2
+            unsigned char :5;                                       //reserved bit 3 ~ bit 7
             //AlarmVal[19]
             unsigned char :8;                                       //reserved bit 0 ~ bit 7
 		}bits;
@@ -2311,6 +2300,7 @@ struct PsuData
 	unsigned char           GroupCount;
 	unsigned char           Work_Step;
 	struct PsuModuleVer     PsuVersion[MAX_PSU_QUANTITY];
+	unsigned char 			PsuStopChargeFlag;
 };
 
 /************************************************************************************/
@@ -4597,6 +4587,58 @@ struct StructSessionTarget
     unsigned short      targetDuration;     // Unit: Minutes    0 is unlimit
 };
 
+//===================================
+// YES custom protocol
+//===================================
+struct StructChargerInfo
+{
+    unsigned char station_name[64];
+};
+
+struct StructWeatherInfo
+{
+    int   weatherId;
+    float temperature;
+};
+
+struct StructCreditDeductResult
+{
+    int txId;
+    unsigned char creditNo[64];
+    unsigned char vemData[80];
+    unsigned char ROC[20];
+    unsigned char RRN[20];
+    unsigned char storeId[20];
+    unsigned char approvalNo[20];
+    double        amount;
+    unsigned char deductResult:1;
+    unsigned char isDonateInvoice:1;
+};
+
+struct StructReaderStatus
+{
+	int readerStatus;
+	unsigned char creditNo[64];
+    unsigned char ReportReaderStatusReq:1;
+};
+
+struct StructTcciCustomData
+{
+    struct StructChargerInfo ChargerInfo;
+    struct StructWeatherInfo WeatherInfo;
+    struct StructCreditDeductResult DeductInfo;
+    struct StructReaderStatus ReaderStatus[CONNECTOR_QUANTITY];
+    unsigned char TriggerReaderReq[3];
+    unsigned char SerialNo[CONNECTOR_QUANTITY][37];
+	unsigned char VEMData[CONNECTOR_QUANTITY][65];
+
+    unsigned char ReportCreditDeductReq:1;
+    unsigned char ChargerInfoReq:1;
+    unsigned char ChargerInfoConf:1;
+    unsigned char WeatherInfoReq:1;
+    unsigned char WeatherInfoConf:1;
+};
+
 struct OCPP16Data
 {
     unsigned char                           OcppServerURL[512];     //http: non-secure OCPP 1.5-S, https: secure OCPP 1.5-S, ws: non-secure OCPP 1.6-J, wss: secure OCPP 1.6-J"
@@ -4786,6 +4828,7 @@ struct OCPP16Data
     struct StructSignCertificate                    SignCertificate;
     struct StructSignedFirmwareStatusNotification   SignedFirmwareStatusNotification;
     struct StructSessionTarget                      SessionTarget[CONNECTOR_QUANTITY];
+    struct StructTcciCustomData                     TcciCustomData;
 };
 
 
@@ -4830,6 +4873,7 @@ enum OCPP20CtrlrVariable
 	ChargingStation_SupplyPhases,
 	ChargingStation_SystemUptimeSec,
 	ChargingStation_FreeVend,
+	ChargingStation_FreeVendIdtag,
 	Connector_Available,
 	Connector_ConnectorType,
 	Connector_SupplyPhases,
@@ -4878,6 +4922,8 @@ enum OCPP20CtrlrVariable
 	OCPPCommCtrlr_WebSocketPingInterval,
 	OCPPCommCtrlr_ResetRetries,
 	OCPPCommCtrlr_PublicKeyWithSignedMeterValue,
+    OCPPCommCtrlr_StatusNotificationPeriodically,
+    OCPPCommCtrlr_StatusNotificationInterval,
     OCPPCommCtrlr_VariableVersion,
 	ReservationCtrlr_Enabled,
 	ReservationCtrlr_Available,

+ 1 - 4
EVSE/Projects/DD360UCar/Apps/ModuleDoComm/DoComm.c

@@ -839,10 +839,7 @@ static int miscCommandHandle(uint8_t dataLen, uint8_t plugNum, uint8_t *data)
         case MISC_CMD_TIME_OFFSET:
             TimeZoneOffset = value;
             log_info("Time Zone Offset: %d", TimeZoneOffset);
-            if (TimeZoneOffset == 480) {
-                system("export TZ=CST-8");
-                log_info("Set Time Zone CST 8");
-            }
+            ShmDcCommonData->TzOffset = TimeZoneOffset;
             break;
         default:
             clearMiscCommand();

+ 2 - 1
EVSE/Projects/DD360UCar/Apps/ModuleEvComm/AbnormalState.c

@@ -28,7 +28,8 @@ bool AbnormalStopAnalysis(uint8_t gun_index, uint8_t *errCode)
 
     if (strncmp(string, "000000", 6) == EQUAL ||
             strncmp(string, "012219", 6) == EQUAL ||
-            strncmp(string, "023979", 6) == EQUAL )
+            strncmp(string, "023979", 6) == EQUAL ||
+            strncmp(string, "023983", 6) == EQUAL)
     {
 		log_info("NOTIFICATION_EV_STOP : EvCode = %s\n", string);
         return false;

+ 20 - 20
EVSE/Projects/DD360UCar/Apps/ModuleInternalComm/RelayBoard.c

@@ -1206,7 +1206,7 @@ static void SetFanModuleSpeed(void)
             _setFanSpeed = ShmFanModuleData->SetFan1Speed;
         }
 
-        //printf("_setFanSpeed = %d \n", _setFanSpeed);
+        //log_info("_setFanSpeed = %d \n", _setFanSpeed);
         _fanSpeed.speed[0] = _setFanSpeed;
 
         _fanSpeed.speed[1] = _setFanSpeed;
@@ -1405,16 +1405,16 @@ static void fanBoardPorcess(void)
 
         if (GetTimeoutValue(gFanBoardRunTimer) / 1000 >= 1000) {
             //GetPsuTempForFanSpeed();
-            GetFanSpeedByFunction();
+            //GetFanSpeedByFunction();
             GetFanSpeed();
             pSysInfo->SystemFanRotaSpeed = _setFanSpeed;
             gettimeofday(&gFanBoardRunTimer, NULL);
-
+            /*
             ShmFanModuleData->SetFan1Speed = ShmFanModuleData->TestFanSpeed;
             ShmFanModuleData->SetFan2Speed = ShmFanModuleData->TestFanSpeed;
             ShmFanModuleData->SetFan3Speed = ShmFanModuleData->TestFanSpeed;
             ShmFanModuleData->SetFan4Speed = ShmFanModuleData->TestFanSpeed;
-
+            */
             //log_info("set fan = %d ", ShmFanModuleData->SetFan1Speed);
             SetFanModuleSpeed();
         }
@@ -1511,12 +1511,12 @@ static void SetLedColor(void)
                 led_color.Connect_2_Blue = _colorBuf;
                 led_color.Connect_2_Red = _colorBuf;
 #else
-                led_color.Connect_1_Green = _colorBuf;
-                led_color.Connect_1_Blue = COLOR_MIN_LV;
+                led_color.Connect_1_Green = COLOR_MIN_LV;
+                led_color.Connect_1_Blue = _colorBuf;
                 led_color.Connect_1_Red = COLOR_MIN_LV;
 
-                led_color.Connect_2_Green = _colorBuf;
-                led_color.Connect_2_Blue = COLOR_MIN_LV;
+                led_color.Connect_2_Green = COLOR_MIN_LV;
+                led_color.Connect_2_Blue = _colorBuf;
                 led_color.Connect_2_Red = COLOR_MIN_LV;
 #endif
             } else if ((chargingData_1->SystemStatus >= S_AUTHORIZING &&
@@ -1527,11 +1527,11 @@ static void SetLedColor(void)
                         chargingData_2->SystemStatus <= S_COMPLETE) ||
                        (chargingData_2->SystemStatus >= S_CCS_PRECHARGE_ST0 &&
                         chargingData_2->SystemStatus <= S_CCS_PRECHARGE_ST1)) {
-                led_color.Connect_1_Green = COLOR_MIN_LV;
-                led_color.Connect_1_Blue = _colorBuf;
+                led_color.Connect_1_Green = _colorBuf;
+                led_color.Connect_1_Blue = COLOR_MIN_LV;
                 led_color.Connect_1_Red = COLOR_MIN_LV;
-                led_color.Connect_2_Green = COLOR_MIN_LV;
-                led_color.Connect_2_Blue = _colorBuf;
+                led_color.Connect_2_Green = _colorBuf;
+                led_color.Connect_2_Blue = COLOR_MIN_LV;
                 led_color.Connect_2_Red = COLOR_MIN_LV;
             } else if ( chargingData_1->SystemStatus == S_UPDATE ) {
                 led_color.Connect_1_Green = COLOR_MIN_LV;
@@ -1554,8 +1554,8 @@ static void SetLedColor(void)
                     led_color.Connect_1_Blue = _colorBuf;
                     led_color.Connect_1_Red = _colorBuf;
 #else
-                    led_color.Connect_1_Green = _colorBuf;
-                    led_color.Connect_1_Blue = COLOR_MIN_LV;
+                    led_color.Connect_1_Green = COLOR_MIN_LV;
+                    led_color.Connect_1_Blue = _colorBuf;
                     led_color.Connect_1_Red = COLOR_MIN_LV;
 #endif
                 }
@@ -1563,8 +1563,8 @@ static void SetLedColor(void)
                         chargingData_1->SystemStatus <= S_COMPLETE) ||
                        (chargingData_1->SystemStatus >= S_CCS_PRECHARGE_ST0 &&
                         chargingData_1->SystemStatus <= S_CCS_PRECHARGE_ST1)) {
-                led_color.Connect_1_Green = COLOR_MIN_LV;
-                led_color.Connect_1_Blue = _colorBuf;
+                led_color.Connect_1_Green = _colorBuf;
+                led_color.Connect_1_Blue = COLOR_MIN_LV;
                 led_color.Connect_1_Red = COLOR_MIN_LV;
             }else if ( chargingData_1->SystemStatus == S_UPDATE ||
                     chargingData_1->SystemStatus == S_MAINTAIN ||
@@ -1589,8 +1589,8 @@ static void SetLedColor(void)
                     led_color.Connect_2_Blue = _colorBuf;
                     led_color.Connect_2_Red = _colorBuf;
 #else
-                    led_color.Connect_2_Green = _colorBuf;
-                    led_color.Connect_2_Blue = COLOR_MIN_LV;
+                    led_color.Connect_2_Green = COLOR_MIN_LV;
+                    led_color.Connect_2_Blue = _colorBuf;
                     led_color.Connect_2_Red = COLOR_MIN_LV;
 #endif
                 }
@@ -1598,8 +1598,8 @@ static void SetLedColor(void)
                         chargingData_2->SystemStatus <= S_COMPLETE) ||
                        (chargingData_2->SystemStatus >= S_CCS_PRECHARGE_ST0 &&
                         chargingData_2->SystemStatus <= S_CCS_PRECHARGE_ST1)) {
-                led_color.Connect_2_Green = COLOR_MIN_LV;
-                led_color.Connect_2_Blue = _colorBuf;
+                led_color.Connect_2_Green = _colorBuf;
+                led_color.Connect_2_Blue = COLOR_MIN_LV;
                 led_color.Connect_2_Red = COLOR_MIN_LV;
             }else if ( chargingData_2->SystemStatus == S_UPDATE ||
                     chargingData_2->SystemStatus == S_MAINTAIN ||

+ 10 - 4
EVSE/Projects/DD360UCar/Apps/ModuleLcmCtrl/Module_LcmControl.c

@@ -757,6 +757,7 @@ void ShowSummaryPage()
     float data;
     uint8_t value[10] = {0};
     char start_hr[3],start_min[3],end_hr[3],end_min[3];
+    int t_hr;
     pDcChargingInfo = (struct ChargingInfoData *)GetDcChargingInfoData(pSysInfo->CurGunSelected);
     // Show Money
     data = pDcChargingInfo->ChargingFee;
@@ -774,9 +775,16 @@ void ShowSummaryPage()
     GetMinFormTimeString(pDcChargingInfo->StartDateTime,start_min);
     GetHrFormTimeString(pDcChargingInfo->StopDateTime,end_hr);
     GetMinFormTimeString(pDcChargingInfo->StopDateTime,end_min);
-    ChangeDisplay2Value(_Summary_Start_time_hr, atoi(start_hr));
+
+    t_hr = atoi(start_hr) + (ShmDcCommonData->TzOffset / 60);
+    if (t_hr >= 24)
+        t_hr -= 24;
+    ChangeDisplay2Value(_Summary_Start_time_hr, t_hr);
     ChangeDisplay2Value(_Summary_Start_time_min, atoi(start_min));
-    ChangeDisplay2Value(_Summary_end_time_hr, atoi(end_hr));
+    t_hr = atoi(end_hr) + (ShmDcCommonData->TzOffset / 60);
+    if (t_hr >= 24)
+        t_hr -= 24;
+    ChangeDisplay2Value(_Summary_end_time_hr, t_hr);
     ChangeDisplay2Value(_Summary_end_time_min, atoi(end_min));
     /*
     DisplayValueToLcm(_Summary_Start_time_hr, (uint8_t *)start_hr, sizeof(start_hr));
@@ -1201,7 +1209,6 @@ int main(void)
     _totalCount = pSysConfig->TotalConnectorCount;
     _everyPageRollChange = 0;
     //Initialization();
-    system("export TZ=CST-8");
     //printf("_LCM_COMPLETE ");
     //ChangeToOtherPage(_LCM_COMPLETE);
     //return 0;
@@ -1215,7 +1222,6 @@ int main(void)
             ShmStatusCodeData->AlarmCode.AlarmEvents.bits.LcmModuleCommFail = true;
 
         } else {
-
             // Show Default Text
             if (!defaulttext) {
                 ShowCabientVersionDefaultText();

+ 3 - 1
EVSE/Projects/DD360UCar/Apps/ReadCmdline.c

@@ -534,7 +534,9 @@ void SetDebugMode(char *v1)
 {
     int mode = atoi(v1);
 
-    pSysConfig->SwitchDebugFlag = mode;
+    //pSysConfig->SwitchDebugFlag = mode;
+    ShmDcCommonData->DebugFlag = mode;
+    printf("Debug Flag:%d\n", ShmDcCommonData->DebugFlag);
 }
 
 void SetGFDMode(char *v1)

二進制
EVSE/Projects/DD360UCar/Apps/UnsafetyOutputTask


二進制
EVSE/Projects/DD360UCar/Images/ramdisk.gz


二進制
EVSE/Projects/DD360UCar/output/FactoryConfig


二進制
EVSE/Projects/DD360UCar/output/Module_ChkSysTask


二進制
EVSE/Projects/DD360UCar/output/Module_DoComm


二進制
EVSE/Projects/DD360UCar/output/Module_EvComm


二進制
EVSE/Projects/DD360UCar/output/Module_EventLogging


二進制
EVSE/Projects/DD360UCar/output/Module_InternalComm


二進制
EVSE/Projects/DD360UCar/output/Module_LcmControl


二進制
EVSE/Projects/DD360UCar/output/Module_PrimaryComm


二進制
EVSE/Projects/DD360UCar/output/Module_UpdateFW


二進制
EVSE/Projects/DD360UCar/output/ReadCmdline


二進制
EVSE/Projects/DD360UCar/output/UnsafetyOutputTask


二進制
EVSE/Projects/DD360UCar/output/main


二進制
EVSE/Projects/DD360UCar/output/simulation


+ 13 - 0
build_rootfs_copy.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+sudo rm /dev/ram*
+sleep 3
+rm /mnt/e/Temp/IMAGE/*
+#sudo make DD360Audi-rootfs
+#cp /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/Projects/DD360Audi/Images/* /mnt/e/Image/DD360Audi/
+#sudo make DD360-rootfs
+#cp /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/Projects/DD360/Images/* /mnt/e/Image/DD360/
+#sudo make DD360ComBox-rootfs
+#cp /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/Projects/DD360ComBox/Images/* /mnt/e/Image/DD360ComBox/
+sudo make DD360UCar-rootfs
+cp /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/Projects/DD360UCar/Images/* /mnt/d/Image/DD360UCar/
+