Browse Source

2021-11-08 / Simon Xue

Action
    1. Delete define.h EVCCID_Verify & Auto_Authorize
    2. EVCCID verify change using isAuthrizeByEVCCID and AuthorisationMode
File
    1. As follow commit history

Image version : V1.17.02.XXXX.XX
Simon Xue 3 years ago
parent
commit
7ffc34f7b6
55 changed files with 248 additions and 71 deletions
  1. 2 2
      EVSE/Projects/DD360/Apps/CSU/RFID.c
  2. 7 9
      EVSE/Projects/DD360/Apps/CSU/main.c
  3. 33 1
      EVSE/Projects/DD360/Apps/Define/define.c
  4. 38 9
      EVSE/Projects/DD360/Apps/Define/define.h
  5. 2 2
      EVSE/Projects/DD360/Apps/ModuleInternalComm/AcPlug.c
  6. BIN
      EVSE/Projects/DD360/Images/ramdisk.gz
  7. BIN
      EVSE/Projects/DD360/output/FactoryConfig
  8. BIN
      EVSE/Projects/DD360/output/Module_ChkSysTask
  9. BIN
      EVSE/Projects/DD360/output/Module_DoComm
  10. BIN
      EVSE/Projects/DD360/output/Module_EvComm
  11. BIN
      EVSE/Projects/DD360/output/Module_EventLogging
  12. BIN
      EVSE/Projects/DD360/output/Module_InternalComm
  13. BIN
      EVSE/Projects/DD360/output/Module_LcmControl
  14. BIN
      EVSE/Projects/DD360/output/Module_PrimaryComm
  15. BIN
      EVSE/Projects/DD360/output/Module_UpdateFW
  16. BIN
      EVSE/Projects/DD360/output/ReadCmdline
  17. BIN
      EVSE/Projects/DD360/output/main
  18. BIN
      EVSE/Projects/DD360/output/simulation
  19. 2 2
      EVSE/Projects/DD360Audi/Apps/CSU/RFID.c
  20. 7 9
      EVSE/Projects/DD360Audi/Apps/CSU/main.c
  21. 33 1
      EVSE/Projects/DD360Audi/Apps/Define/define.c
  22. 38 9
      EVSE/Projects/DD360Audi/Apps/Define/define.h
  23. 2 2
      EVSE/Projects/DD360Audi/Apps/ModuleInternalComm/AcPlug.c
  24. BIN
      EVSE/Projects/DD360Audi/Images/ramdisk.gz
  25. BIN
      EVSE/Projects/DD360Audi/output/FactoryConfig
  26. BIN
      EVSE/Projects/DD360Audi/output/Module_ChkSysTask
  27. BIN
      EVSE/Projects/DD360Audi/output/Module_DoComm
  28. BIN
      EVSE/Projects/DD360Audi/output/Module_EvComm
  29. BIN
      EVSE/Projects/DD360Audi/output/Module_EventLogging
  30. BIN
      EVSE/Projects/DD360Audi/output/Module_InternalComm
  31. BIN
      EVSE/Projects/DD360Audi/output/Module_LcmControl
  32. BIN
      EVSE/Projects/DD360Audi/output/Module_PrimaryComm
  33. BIN
      EVSE/Projects/DD360Audi/output/Module_UpdateFW
  34. BIN
      EVSE/Projects/DD360Audi/output/ReadCmdline
  35. BIN
      EVSE/Projects/DD360Audi/output/main
  36. BIN
      EVSE/Projects/DD360Audi/output/simulation
  37. 2 2
      EVSE/Projects/DD360ComBox/Apps/CSU/RFID.c
  38. 7 9
      EVSE/Projects/DD360ComBox/Apps/CSU/main.c
  39. 33 1
      EVSE/Projects/DD360ComBox/Apps/Define/define.c
  40. 38 9
      EVSE/Projects/DD360ComBox/Apps/Define/define.h
  41. 2 2
      EVSE/Projects/DD360ComBox/Apps/ModuleInternalComm/AcPlug.c
  42. BIN
      EVSE/Projects/DD360ComBox/Images/ramdisk.gz
  43. BIN
      EVSE/Projects/DD360ComBox/output/FactoryConfig
  44. BIN
      EVSE/Projects/DD360ComBox/output/Module_ChkSysTask
  45. BIN
      EVSE/Projects/DD360ComBox/output/Module_DoComm
  46. BIN
      EVSE/Projects/DD360ComBox/output/Module_EvComm
  47. BIN
      EVSE/Projects/DD360ComBox/output/Module_EventLogging
  48. BIN
      EVSE/Projects/DD360ComBox/output/Module_InternalComm
  49. BIN
      EVSE/Projects/DD360ComBox/output/Module_LcmControl
  50. BIN
      EVSE/Projects/DD360ComBox/output/Module_PrimaryComm
  51. BIN
      EVSE/Projects/DD360ComBox/output/Module_UpdateFW
  52. BIN
      EVSE/Projects/DD360ComBox/output/ReadCmdline
  53. BIN
      EVSE/Projects/DD360ComBox/output/main
  54. BIN
      EVSE/Projects/DD360ComBox/output/simulation
  55. 2 2
      build_rootfs_copy.sh

+ 2 - 2
EVSE/Projects/DD360/Apps/CSU/RFID.c

@@ -269,8 +269,8 @@ void ScannerCardProcess(void)
 
     if (!isDetectPlugin() &&
             !isCardScan &&
-            pSysWarning->Level != WARN_LV_ER &&
-            pSysConfig->AuthorisationMode == AUTH_MODE_ENABLE) {
+            pSysWarning->Level != WARN_LV_ER /*&&
+            pSysConfig->AuthorisationMode == AUTH_MODE_ENABLE*/) {
         isCardScan = true;
         // 處理刷卡及驗證卡號的動作
         UserScanFunction();

+ 7 - 9
EVSE/Projects/DD360/Apps/CSU/main.c

@@ -83,7 +83,7 @@ uint8_t bd1_1_status = 0;
 uint8_t bd1_2_status = 0;
 
 char *fwVersion = "V1.17.00.0000.00"; // "V0.16.00.0000.00";
-char* DebugVersion = "v1.17.1";
+char* DebugVersion = "v1.17.2";
 //sqlite3 *localDb;
 bool isDb_ready;
 
@@ -3287,14 +3287,14 @@ bool CheckBackendChargingTimeout(uint8_t gunIndex)
                 result = true;
             }
         }
-    } else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
+    } /*else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
         // 隨插即充電的要看 offline
         if (pSysConfig->OfflineMaxChargeDuration > 0) {
             if (pDcChargingInfo->PresentChargedDuration > (pSysConfig->OfflineMaxChargeDuration * 60)) {
                 result = true;
             }
         }
-    }
+    }*/
 
     return result;
 }
@@ -3310,14 +3310,14 @@ bool CheckBackendChargingEnergy(uint8_t gunIndex)
                 result = true;
             }
         }
-    } else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
+    }/* else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
         // 隨插即充電的要看 offline
         if (pSysConfig->OfflineMaxChargeEnergy > 0) {
             if (pDcChargingInfo->PresentChargedEnergy > (pSysConfig->OfflineMaxChargeEnergy)) {
                 result = true;
             }
         }
-    }
+    }*/
 
     return result;
 }
@@ -4715,8 +4715,6 @@ int main(void)
                             log_info("index = %d, CardNumber = %s ",
                                      gunIndex,
                                      pDcChargingInfo->StartUserId);
-                            if (pSysConfig->isAuthrizeByEVCCID)
-                                log_info("EVCCID:%s",pDcChargingInfo->EVCCID);
                             strcpy((char *)pSysConfig->UserId, "");
                             // 當前操作的槍號,進入 Preparing
                             setChargerMode(gunIndex, MODE_REASSIGN_CHECK);
@@ -4735,7 +4733,7 @@ int main(void)
                     if (!isReservationExpired(gunIndex)) {
                         pDcChargingInfo->SystemStatus = S_IDLE;
                     }
-                } else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE &&
+                } /*else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE &&
                            (pDcChargingInfo->ConnectorPlugIn == YES &&
                             pDcChargingInfo->IsAvailable)
                           ) {
@@ -4748,7 +4746,7 @@ int main(void)
                         ClearDetectPluginFlag();
                         continue;
                     }
-                } else if (pSysConfig->isAuthrizeByEVCCID && pDcChargingInfo->ConnectorPlugIn && 
+                } */else if (pSysConfig->isAuthrizeByEVCCID && pDcChargingInfo->ConnectorPlugIn && 
                         pSysInfo->CurGunSelected == gunIndex && !pDcChargingInfo->isEVCCIDVerify) {
                     systemPageRestoreInit();
                     pSysInfo->ConnectorPage = _LCM_PRE_CHARGE;

+ 33 - 1
EVSE/Projects/DD360/Apps/Define/define.c

@@ -107,7 +107,7 @@ char FaultStatusCode[40][6]=
 "011040" //Reserved
 };
 
-char AlarmStatusCode[128][6]=
+char AlarmStatusCode[160][6]=
 {
 "012200", //System L1 input OVP
 "012201", //System L2 input OVP
@@ -237,6 +237,38 @@ char AlarmStatusCode[128][6]=
 "012325", // reserved
 "012326", // reserved
 "012327", // reserved
+"012328",   // reserved
+"012329",   // reserved
+"012330",   // reserved
+"012331",   // reserved
+"012332",   // reserved
+"012333",   // reserved
+"012334",   // reserved
+"012335",   // reserved
+"012336",   // reserved
+"012337",   // reserved
+"012338",   // reserved
+"012339",   // reserved
+"012340",   // reserved
+"012341",   // reserved
+"012342",   // reserved
+"012343",   // reserved
+"012344",   // AC: Meter IC communication timeout
+"012345",   // AC: Pilot negative error
+"012346",   // reserved
+"012347",   // reserved
+"012348",   // reserved
+"012349",   // reserved
+"012350",   // reserved
+"012351",   // reserved
+"012352",   // reserved
+"012353",   // reserved
+"012354",   // reserved
+"012355",   // reserved
+"012356",   // reserved
+"012357",   // reserved
+"012358",   // reserved
+"012359",   // reserved
 };
 
 char InfoStatusCode[384][6]=

+ 38 - 9
EVSE/Projects/DD360/Apps/Define/define.h

@@ -63,6 +63,15 @@ Storage							0x0A200000-0x7FFFFFFF		1886 MB
     #define GENERAL_GUN_QUANTITY    0
     #define PSU_QUANTITY            0
     #define ONE_CONNECTOR_USE       0
+#elif defined AX80
+    #define MAX_PSU_QUANTITY        62
+    #define CHAdeMO_QUANTITY        1
+    #define CCS_QUANTITY            1
+    #define GB_QUANTITY             0
+    #define AC_QUANTITY             3
+    #define GENERAL_GUN_QUANTITY    3
+    #define PSU_QUANTITY            0
+    #define ONE_CONNECTOR_USE       0
 #elif defined DW30
 	#define MAX_PSU_QUANTITY        62
 	#define CHAdeMO_QUANTITY        0
@@ -170,7 +179,7 @@ Storage							0x0A200000-0x7FFFFFFF		1886 MB
 #define ShmRelay2BdKey			1013
 
 #define FaultCodeLength         5
-#define AlarmCodeLength         16
+#define AlarmCodeLength         20
 #define InfoCodeLength          41
 
 /**************************************************************************************/
@@ -301,6 +310,8 @@ enum CoreProfile {
      TimeOffset,
      NextTimeOffsetTransitionDateTime,
      TimeOffsetNextTransition,
+     SystemUptimeSec,
+     FreeVend,
      ConfigurationVersion,
 	 _CoreProfile_CNT
 };
@@ -617,8 +628,8 @@ struct ChargingInfoData
 	unsigned char 		ConnectorWarningCode[7];
 	unsigned char 		ConnectorAlarmCode[7];
 	unsigned char 		EvConnAlarmCode[7];
-	float 				ChargingProfileCurrent;			//0~6553.5 amp
-	float 				ChargingProfilePower;			//0~6553.5 W
+	float 				ChargingProfileCurrent;			// unit: 0.1A
+	float 				ChargingProfilePower;			// unit: 1W
 	float 				PresentChargingVoltageL2;		//0~6553.5 volt
 	float 				PresentChargingVoltageL3;		//0~6553.5 volt
 	float 				PresentChargingCurrentL2;		//0~6553.5 amp	
@@ -640,7 +651,7 @@ struct ChargingInfoData
     float               CurrentOffered;                 //0~6553.5 amp
     struct timespec     ConnectorTimeout;
     unsigned char       PantographFlag;                 // 0: normal gun type,  1: pantograph gun type
-	unsigned char 		Replug_flag;
+    unsigned char       Replug_flag;
     unsigned char       isEVCCIDVerify;
 };
 
@@ -672,7 +683,9 @@ typedef union
         unsigned int TelcomModemStatusRequest:1;        // 0: no request,   1: 4g connection status has changed                 ( cabinet -> dispenser)
         unsigned int BillingStatusRequest:1;            // 0: no request,   1: billing status has changed                       ( cabinet -> dispenser)
         unsigned int StopButtonStatusRequest:1;         // 0: no request,   1: stop charging button status has changed          ( cabinet -> dispenser)
-        unsigned int res:9;
+        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 res:7;
     }bits;
 }DispenserSettingFlag;
 
@@ -863,6 +876,8 @@ typedef struct
     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
@@ -927,7 +942,7 @@ struct SysInfoData
 	/**************Backend***************/
 	unsigned char 		OcppConnStatus;					//0: disconnected, 1: connected
 	char 				OrderCharging;
-    float               MaxChargingProfilePower;        //0~6553.5 W
+    float               MaxChargingProfilePower;        // unit: 1W
 	/**************Alston***************/
 	unsigned char 		WaitForPlugit;					//0: none scan, 1: scanning
 	unsigned char 		PageIndex;						//0 : Initialize
@@ -1438,6 +1453,16 @@ struct AlarmCodeData
             unsigned char AbnormalVoltageOnOutputLine_2:1;          //bit 5
             unsigned char SystemTaskLost:1;                         //bit 6
             unsigned char Reserved:1;                               //bit 7
+            //AlarmVal[16]
+            unsigned char :8;                                       //reserved bit 0 ~ 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
+            //AlarmVal[19]
+            unsigned char :8;                                       //reserved bit 0 ~ bit 7
 		}bits;
 	}AlarmEvents;
 };
@@ -4626,7 +4651,8 @@ struct OCPP16Data
             unsigned char InstallCertificateConf :1;                //bit 3
             unsigned char SignedUpdateFirmwareReq :1;               //bit 4
             unsigned char SignedUpdateFirmwareConf :1;              //bit 5
-            unsigned char :2;                                       //bit 6 & 7
+            unsigned char isRemoteStartWaitReq :1;                  //bit 6
+            unsigned char :1;                                       //bit 7
         } bits;
     } MsMsg;
 
@@ -4728,6 +4754,8 @@ enum OCPP20CtrlrVariable
 	ChargingStation_Available,
 	ChargingStation_AvailabilityState,
 	ChargingStation_SupplyPhases,
+	ChargingStation_SystemUptimeSec,
+	ChargingStation_FreeVend,
 	Connector_Available,
 	Connector_ConnectorType,
 	Connector_SupplyPhases,
@@ -5158,7 +5186,7 @@ struct SampledValueType
 struct MeterValueType
 {
 	unsigned char timestamp[28];									// Required. Timestamp for measured value(s).
-	struct SampledValueType sampledValue[10];							// Required. One or more measured values
+	struct SampledValueType sampledValue[20];						// Required. One or more measured values
 };
 
 struct VariableMonitoringType
@@ -5974,7 +6002,8 @@ struct OCPP20Data
 			unsigned char UnpublishFirmwareConf :1;
 			unsigned char UpdateFirmwareReq :1;
 			unsigned char UpdateFirmwareConf :1;
-			unsigned char :2;
+            unsigned char isRemoteStartWaitReq :1;
+            unsigned char :1;
 		} bits;
 	} MsMsg;
 

+ 2 - 2
EVSE/Projects/DD360/Apps/ModuleInternalComm/AcPlug.c

@@ -363,8 +363,8 @@ void AcPlugTask(int uartFD)
         } else if ((acStatus.CpStatus == AC_SYS_B || pAcChargingInfo->ConnectorPlugIn == AC_SYS_B) &&
                    pAcChargingInfo->IsAvailable &&
                    !pAcChargingInfo->IsErrorOccur &&
-                   (pSysInfo->WaitForPlugit == YES ||
-                    pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE)) {
+                   (pSysInfo->WaitForPlugit == YES /*||
+                    pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE*/)) {
             if (pAcChargingInfo->RemoteStartFlag == YES) {
                 log_info("** AC Remote \n");
                 pAcChargingInfo->RemoteStartFlag = NO;

BIN
EVSE/Projects/DD360/Images/ramdisk.gz


BIN
EVSE/Projects/DD360/output/FactoryConfig


BIN
EVSE/Projects/DD360/output/Module_ChkSysTask


BIN
EVSE/Projects/DD360/output/Module_DoComm


BIN
EVSE/Projects/DD360/output/Module_EvComm


BIN
EVSE/Projects/DD360/output/Module_EventLogging


BIN
EVSE/Projects/DD360/output/Module_InternalComm


BIN
EVSE/Projects/DD360/output/Module_LcmControl


BIN
EVSE/Projects/DD360/output/Module_PrimaryComm


BIN
EVSE/Projects/DD360/output/Module_UpdateFW


BIN
EVSE/Projects/DD360/output/ReadCmdline


BIN
EVSE/Projects/DD360/output/main


BIN
EVSE/Projects/DD360/output/simulation


+ 2 - 2
EVSE/Projects/DD360Audi/Apps/CSU/RFID.c

@@ -269,8 +269,8 @@ void ScannerCardProcess(void)
 
     if (!isDetectPlugin() &&
             !isCardScan &&
-            pSysWarning->Level != WARN_LV_ER &&
-            pSysConfig->AuthorisationMode == AUTH_MODE_ENABLE) {
+            pSysWarning->Level != WARN_LV_ER /*&&
+            pSysConfig->AuthorisationMode == AUTH_MODE_ENABLE*/) {
         isCardScan = true;
         // 處理刷卡及驗證卡號的動作
         UserScanFunction();

+ 7 - 9
EVSE/Projects/DD360Audi/Apps/CSU/main.c

@@ -83,7 +83,7 @@ uint8_t bd1_1_status = 0;
 uint8_t bd1_2_status = 0;
 
 char *fwVersion = "V1.17.00.0000.00"; // "V0.16.00.0000.00";
-char* DebugVersion = "v1.17.1";
+char* DebugVersion = "v1.17.2";
 //sqlite3 *localDb;
 bool isDb_ready;
 
@@ -3287,14 +3287,14 @@ bool CheckBackendChargingTimeout(uint8_t gunIndex)
                 result = true;
             }
         }
-    } else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
+    } /*else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
         // 隨插即充電的要看 offline
         if (pSysConfig->OfflineMaxChargeDuration > 0) {
             if (pDcChargingInfo->PresentChargedDuration > (pSysConfig->OfflineMaxChargeDuration * 60)) {
                 result = true;
             }
         }
-    }
+    }*/
 
     return result;
 }
@@ -3310,14 +3310,14 @@ bool CheckBackendChargingEnergy(uint8_t gunIndex)
                 result = true;
             }
         }
-    } else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
+    }/* else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
         // 隨插即充電的要看 offline
         if (pSysConfig->OfflineMaxChargeEnergy > 0) {
             if (pDcChargingInfo->PresentChargedEnergy > (pSysConfig->OfflineMaxChargeEnergy)) {
                 result = true;
             }
         }
-    }
+    }*/
 
     return result;
 }
@@ -4715,8 +4715,6 @@ int main(void)
                             log_info("index = %d, CardNumber = %s ",
                                      gunIndex,
                                      pDcChargingInfo->StartUserId);
-                            if (pSysConfig->isAuthrizeByEVCCID)
-                                log_info("EVCCID:%s",pDcChargingInfo->EVCCID);
                             strcpy((char *)pSysConfig->UserId, "");
                             // 當前操作的槍號,進入 Preparing
                             setChargerMode(gunIndex, MODE_REASSIGN_CHECK);
@@ -4735,7 +4733,7 @@ int main(void)
                     if (!isReservationExpired(gunIndex)) {
                         pDcChargingInfo->SystemStatus = S_IDLE;
                     }
-                } else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE &&
+                } /*else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE &&
                            (pDcChargingInfo->ConnectorPlugIn == YES &&
                             pDcChargingInfo->IsAvailable)
                           ) {
@@ -4748,7 +4746,7 @@ int main(void)
                         ClearDetectPluginFlag();
                         continue;
                     }
-                } else if (pSysConfig->isAuthrizeByEVCCID && pDcChargingInfo->ConnectorPlugIn && 
+                } */else if (pSysConfig->isAuthrizeByEVCCID && pDcChargingInfo->ConnectorPlugIn && 
                         pSysInfo->CurGunSelected == gunIndex && !pDcChargingInfo->isEVCCIDVerify) {
                     systemPageRestoreInit();
                     pSysInfo->ConnectorPage = _LCM_PRE_CHARGE;

+ 33 - 1
EVSE/Projects/DD360Audi/Apps/Define/define.c

@@ -107,7 +107,7 @@ char FaultStatusCode[40][6]=
 "011040" //Reserved
 };
 
-char AlarmStatusCode[128][6]=
+char AlarmStatusCode[160][6]=
 {
 "012200", //System L1 input OVP
 "012201", //System L2 input OVP
@@ -237,6 +237,38 @@ char AlarmStatusCode[128][6]=
 "012325", // reserved
 "012326", // reserved
 "012327", // reserved
+"012328",   // reserved
+"012329",   // reserved
+"012330",   // reserved
+"012331",   // reserved
+"012332",   // reserved
+"012333",   // reserved
+"012334",   // reserved
+"012335",   // reserved
+"012336",   // reserved
+"012337",   // reserved
+"012338",   // reserved
+"012339",   // reserved
+"012340",   // reserved
+"012341",   // reserved
+"012342",   // reserved
+"012343",   // reserved
+"012344",   // AC: Meter IC communication timeout
+"012345",   // AC: Pilot negative error
+"012346",   // reserved
+"012347",   // reserved
+"012348",   // reserved
+"012349",   // reserved
+"012350",   // reserved
+"012351",   // reserved
+"012352",   // reserved
+"012353",   // reserved
+"012354",   // reserved
+"012355",   // reserved
+"012356",   // reserved
+"012357",   // reserved
+"012358",   // reserved
+"012359",   // reserved
 };
 
 char InfoStatusCode[384][6]=

+ 38 - 9
EVSE/Projects/DD360Audi/Apps/Define/define.h

@@ -63,6 +63,15 @@ Storage							0x0A200000-0x7FFFFFFF		1886 MB
     #define GENERAL_GUN_QUANTITY    0
     #define PSU_QUANTITY            0
     #define ONE_CONNECTOR_USE       0
+#elif defined AX80
+    #define MAX_PSU_QUANTITY        62
+    #define CHAdeMO_QUANTITY        1
+    #define CCS_QUANTITY            1
+    #define GB_QUANTITY             0
+    #define AC_QUANTITY             3
+    #define GENERAL_GUN_QUANTITY    3
+    #define PSU_QUANTITY            0
+    #define ONE_CONNECTOR_USE       0
 #elif defined DW30
 	#define MAX_PSU_QUANTITY        62
 	#define CHAdeMO_QUANTITY        0
@@ -170,7 +179,7 @@ Storage							0x0A200000-0x7FFFFFFF		1886 MB
 #define ShmRelay2BdKey			1013
 
 #define FaultCodeLength         5
-#define AlarmCodeLength         16
+#define AlarmCodeLength         20
 #define InfoCodeLength          41
 
 /**************************************************************************************/
@@ -301,6 +310,8 @@ enum CoreProfile {
      TimeOffset,
      NextTimeOffsetTransitionDateTime,
      TimeOffsetNextTransition,
+     SystemUptimeSec,
+     FreeVend,
      ConfigurationVersion,
 	 _CoreProfile_CNT
 };
@@ -617,8 +628,8 @@ struct ChargingInfoData
 	unsigned char 		ConnectorWarningCode[7];
 	unsigned char 		ConnectorAlarmCode[7];
 	unsigned char 		EvConnAlarmCode[7];
-	float 				ChargingProfileCurrent;			//0~6553.5 amp
-	float 				ChargingProfilePower;			//0~6553.5 W
+	float 				ChargingProfileCurrent;			// unit: 0.1A
+	float 				ChargingProfilePower;			// unit: 1W
 	float 				PresentChargingVoltageL2;		//0~6553.5 volt
 	float 				PresentChargingVoltageL3;		//0~6553.5 volt
 	float 				PresentChargingCurrentL2;		//0~6553.5 amp	
@@ -640,7 +651,7 @@ struct ChargingInfoData
     float               CurrentOffered;                 //0~6553.5 amp
     struct timespec     ConnectorTimeout;
     unsigned char       PantographFlag;                 // 0: normal gun type,  1: pantograph gun type
-	unsigned char 		Replug_flag;
+    unsigned char       Replug_flag;
     unsigned char       isEVCCIDVerify;
 };
 
@@ -672,7 +683,9 @@ typedef union
         unsigned int TelcomModemStatusRequest:1;        // 0: no request,   1: 4g connection status has changed                 ( cabinet -> dispenser)
         unsigned int BillingStatusRequest:1;            // 0: no request,   1: billing status has changed                       ( cabinet -> dispenser)
         unsigned int StopButtonStatusRequest:1;         // 0: no request,   1: stop charging button status has changed          ( cabinet -> dispenser)
-        unsigned int res:9;
+        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 res:7;
     }bits;
 }DispenserSettingFlag;
 
@@ -863,6 +876,8 @@ typedef struct
     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
@@ -927,7 +942,7 @@ struct SysInfoData
 	/**************Backend***************/
 	unsigned char 		OcppConnStatus;					//0: disconnected, 1: connected
 	char 				OrderCharging;
-    float               MaxChargingProfilePower;        //0~6553.5 W
+    float               MaxChargingProfilePower;        // unit: 1W
 	/**************Alston***************/
 	unsigned char 		WaitForPlugit;					//0: none scan, 1: scanning
 	unsigned char 		PageIndex;						//0 : Initialize
@@ -1438,6 +1453,16 @@ struct AlarmCodeData
             unsigned char AbnormalVoltageOnOutputLine_2:1;          //bit 5
             unsigned char SystemTaskLost:1;                         //bit 6
             unsigned char Reserved:1;                               //bit 7
+            //AlarmVal[16]
+            unsigned char :8;                                       //reserved bit 0 ~ 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
+            //AlarmVal[19]
+            unsigned char :8;                                       //reserved bit 0 ~ bit 7
 		}bits;
 	}AlarmEvents;
 };
@@ -4626,7 +4651,8 @@ struct OCPP16Data
             unsigned char InstallCertificateConf :1;                //bit 3
             unsigned char SignedUpdateFirmwareReq :1;               //bit 4
             unsigned char SignedUpdateFirmwareConf :1;              //bit 5
-            unsigned char :2;                                       //bit 6 & 7
+            unsigned char isRemoteStartWaitReq :1;                  //bit 6
+            unsigned char :1;                                       //bit 7
         } bits;
     } MsMsg;
 
@@ -4728,6 +4754,8 @@ enum OCPP20CtrlrVariable
 	ChargingStation_Available,
 	ChargingStation_AvailabilityState,
 	ChargingStation_SupplyPhases,
+	ChargingStation_SystemUptimeSec,
+	ChargingStation_FreeVend,
 	Connector_Available,
 	Connector_ConnectorType,
 	Connector_SupplyPhases,
@@ -5158,7 +5186,7 @@ struct SampledValueType
 struct MeterValueType
 {
 	unsigned char timestamp[28];									// Required. Timestamp for measured value(s).
-	struct SampledValueType sampledValue[10];							// Required. One or more measured values
+	struct SampledValueType sampledValue[20];						// Required. One or more measured values
 };
 
 struct VariableMonitoringType
@@ -5974,7 +6002,8 @@ struct OCPP20Data
 			unsigned char UnpublishFirmwareConf :1;
 			unsigned char UpdateFirmwareReq :1;
 			unsigned char UpdateFirmwareConf :1;
-			unsigned char :2;
+            unsigned char isRemoteStartWaitReq :1;
+            unsigned char :1;
 		} bits;
 	} MsMsg;
 

+ 2 - 2
EVSE/Projects/DD360Audi/Apps/ModuleInternalComm/AcPlug.c

@@ -363,8 +363,8 @@ void AcPlugTask(int uartFD)
         } else if ((acStatus.CpStatus == AC_SYS_B || pAcChargingInfo->ConnectorPlugIn == AC_SYS_B) &&
                    pAcChargingInfo->IsAvailable &&
                    !pAcChargingInfo->IsErrorOccur &&
-                   (pSysInfo->WaitForPlugit == YES ||
-                    pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE)) {
+                   (pSysInfo->WaitForPlugit == YES /*||
+                    pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE*/)) {
             if (pAcChargingInfo->RemoteStartFlag == YES) {
                 log_info("** AC Remote \n");
                 pAcChargingInfo->RemoteStartFlag = NO;

BIN
EVSE/Projects/DD360Audi/Images/ramdisk.gz


BIN
EVSE/Projects/DD360Audi/output/FactoryConfig


BIN
EVSE/Projects/DD360Audi/output/Module_ChkSysTask


BIN
EVSE/Projects/DD360Audi/output/Module_DoComm


BIN
EVSE/Projects/DD360Audi/output/Module_EvComm


BIN
EVSE/Projects/DD360Audi/output/Module_EventLogging


BIN
EVSE/Projects/DD360Audi/output/Module_InternalComm


BIN
EVSE/Projects/DD360Audi/output/Module_LcmControl


BIN
EVSE/Projects/DD360Audi/output/Module_PrimaryComm


BIN
EVSE/Projects/DD360Audi/output/Module_UpdateFW


BIN
EVSE/Projects/DD360Audi/output/ReadCmdline


BIN
EVSE/Projects/DD360Audi/output/main


BIN
EVSE/Projects/DD360Audi/output/simulation


+ 2 - 2
EVSE/Projects/DD360ComBox/Apps/CSU/RFID.c

@@ -269,8 +269,8 @@ void ScannerCardProcess(void)
 
     if (!isDetectPlugin() &&
             !isCardScan &&
-            pSysWarning->Level != WARN_LV_ER &&
-            pSysConfig->AuthorisationMode == AUTH_MODE_ENABLE) {
+            pSysWarning->Level != WARN_LV_ER /*&&
+            pSysConfig->AuthorisationMode == AUTH_MODE_ENABLE*/) {
         isCardScan = true;
         // 處理刷卡及驗證卡號的動作
         UserScanFunction();

+ 7 - 9
EVSE/Projects/DD360ComBox/Apps/CSU/main.c

@@ -83,7 +83,7 @@ uint8_t bd1_1_status = 0;
 uint8_t bd1_2_status = 0;
 
 char *fwVersion = "V1.17.00.0000.00"; // "V0.16.00.0000.00";
-char* DebugVersion = "v1.17.1";
+char* DebugVersion = "v1.17.2";
 //sqlite3 *localDb;
 bool isDb_ready;
 
@@ -3287,14 +3287,14 @@ bool CheckBackendChargingTimeout(uint8_t gunIndex)
                 result = true;
             }
         }
-    } else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
+    } /*else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
         // 隨插即充電的要看 offline
         if (pSysConfig->OfflineMaxChargeDuration > 0) {
             if (pDcChargingInfo->PresentChargedDuration > (pSysConfig->OfflineMaxChargeDuration * 60)) {
                 result = true;
             }
         }
-    }
+    }*/
 
     return result;
 }
@@ -3310,14 +3310,14 @@ bool CheckBackendChargingEnergy(uint8_t gunIndex)
                 result = true;
             }
         }
-    } else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
+    }/* else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE) {
         // 隨插即充電的要看 offline
         if (pSysConfig->OfflineMaxChargeEnergy > 0) {
             if (pDcChargingInfo->PresentChargedEnergy > (pSysConfig->OfflineMaxChargeEnergy)) {
                 result = true;
             }
         }
-    }
+    }*/
 
     return result;
 }
@@ -4715,8 +4715,6 @@ int main(void)
                             log_info("index = %d, CardNumber = %s ",
                                      gunIndex,
                                      pDcChargingInfo->StartUserId);
-                            if (pSysConfig->isAuthrizeByEVCCID)
-                                log_info("EVCCID:%s",pDcChargingInfo->EVCCID);
                             strcpy((char *)pSysConfig->UserId, "");
                             // 當前操作的槍號,進入 Preparing
                             setChargerMode(gunIndex, MODE_REASSIGN_CHECK);
@@ -4735,7 +4733,7 @@ int main(void)
                     if (!isReservationExpired(gunIndex)) {
                         pDcChargingInfo->SystemStatus = S_IDLE;
                     }
-                } else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE &&
+                } /*else if (pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE &&
                            (pDcChargingInfo->ConnectorPlugIn == YES &&
                             pDcChargingInfo->IsAvailable)
                           ) {
@@ -4748,7 +4746,7 @@ int main(void)
                         ClearDetectPluginFlag();
                         continue;
                     }
-                } else if (pSysConfig->isAuthrizeByEVCCID && pDcChargingInfo->ConnectorPlugIn && 
+                } */else if (pSysConfig->isAuthrizeByEVCCID && pDcChargingInfo->ConnectorPlugIn && 
                         pSysInfo->CurGunSelected == gunIndex && !pDcChargingInfo->isEVCCIDVerify) {
                     systemPageRestoreInit();
                     pSysInfo->ConnectorPage = _LCM_PRE_CHARGE;

+ 33 - 1
EVSE/Projects/DD360ComBox/Apps/Define/define.c

@@ -107,7 +107,7 @@ char FaultStatusCode[40][6]=
 "011040" //Reserved
 };
 
-char AlarmStatusCode[128][6]=
+char AlarmStatusCode[160][6]=
 {
 "012200", //System L1 input OVP
 "012201", //System L2 input OVP
@@ -237,6 +237,38 @@ char AlarmStatusCode[128][6]=
 "012325", // reserved
 "012326", // reserved
 "012327", // reserved
+"012328",   // reserved
+"012329",   // reserved
+"012330",   // reserved
+"012331",   // reserved
+"012332",   // reserved
+"012333",   // reserved
+"012334",   // reserved
+"012335",   // reserved
+"012336",   // reserved
+"012337",   // reserved
+"012338",   // reserved
+"012339",   // reserved
+"012340",   // reserved
+"012341",   // reserved
+"012342",   // reserved
+"012343",   // reserved
+"012344",   // AC: Meter IC communication timeout
+"012345",   // AC: Pilot negative error
+"012346",   // reserved
+"012347",   // reserved
+"012348",   // reserved
+"012349",   // reserved
+"012350",   // reserved
+"012351",   // reserved
+"012352",   // reserved
+"012353",   // reserved
+"012354",   // reserved
+"012355",   // reserved
+"012356",   // reserved
+"012357",   // reserved
+"012358",   // reserved
+"012359",   // reserved
 };
 
 char InfoStatusCode[384][6]=

+ 38 - 9
EVSE/Projects/DD360ComBox/Apps/Define/define.h

@@ -63,6 +63,15 @@ Storage							0x0A200000-0x7FFFFFFF		1886 MB
     #define GENERAL_GUN_QUANTITY    0
     #define PSU_QUANTITY            0
     #define ONE_CONNECTOR_USE       0
+#elif defined AX80
+    #define MAX_PSU_QUANTITY        62
+    #define CHAdeMO_QUANTITY        1
+    #define CCS_QUANTITY            1
+    #define GB_QUANTITY             0
+    #define AC_QUANTITY             3
+    #define GENERAL_GUN_QUANTITY    3
+    #define PSU_QUANTITY            0
+    #define ONE_CONNECTOR_USE       0
 #elif defined DW30
 	#define MAX_PSU_QUANTITY        62
 	#define CHAdeMO_QUANTITY        0
@@ -170,7 +179,7 @@ Storage							0x0A200000-0x7FFFFFFF		1886 MB
 #define ShmRelay2BdKey			1013
 
 #define FaultCodeLength         5
-#define AlarmCodeLength         16
+#define AlarmCodeLength         20
 #define InfoCodeLength          41
 
 /**************************************************************************************/
@@ -301,6 +310,8 @@ enum CoreProfile {
      TimeOffset,
      NextTimeOffsetTransitionDateTime,
      TimeOffsetNextTransition,
+     SystemUptimeSec,
+     FreeVend,
      ConfigurationVersion,
 	 _CoreProfile_CNT
 };
@@ -617,8 +628,8 @@ struct ChargingInfoData
 	unsigned char 		ConnectorWarningCode[7];
 	unsigned char 		ConnectorAlarmCode[7];
 	unsigned char 		EvConnAlarmCode[7];
-	float 				ChargingProfileCurrent;			//0~6553.5 amp
-	float 				ChargingProfilePower;			//0~6553.5 W
+	float 				ChargingProfileCurrent;			// unit: 0.1A
+	float 				ChargingProfilePower;			// unit: 1W
 	float 				PresentChargingVoltageL2;		//0~6553.5 volt
 	float 				PresentChargingVoltageL3;		//0~6553.5 volt
 	float 				PresentChargingCurrentL2;		//0~6553.5 amp	
@@ -640,7 +651,7 @@ struct ChargingInfoData
     float               CurrentOffered;                 //0~6553.5 amp
     struct timespec     ConnectorTimeout;
     unsigned char       PantographFlag;                 // 0: normal gun type,  1: pantograph gun type
-	unsigned char 		Replug_flag;
+    unsigned char       Replug_flag;
     unsigned char       isEVCCIDVerify;
 };
 
@@ -672,7 +683,9 @@ typedef union
         unsigned int TelcomModemStatusRequest:1;        // 0: no request,   1: 4g connection status has changed                 ( cabinet -> dispenser)
         unsigned int BillingStatusRequest:1;            // 0: no request,   1: billing status has changed                       ( cabinet -> dispenser)
         unsigned int StopButtonStatusRequest:1;         // 0: no request,   1: stop charging button status has changed          ( cabinet -> dispenser)
-        unsigned int res:9;
+        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 res:7;
     }bits;
 }DispenserSettingFlag;
 
@@ -863,6 +876,8 @@ typedef struct
     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
@@ -927,7 +942,7 @@ struct SysInfoData
 	/**************Backend***************/
 	unsigned char 		OcppConnStatus;					//0: disconnected, 1: connected
 	char 				OrderCharging;
-    float               MaxChargingProfilePower;        //0~6553.5 W
+    float               MaxChargingProfilePower;        // unit: 1W
 	/**************Alston***************/
 	unsigned char 		WaitForPlugit;					//0: none scan, 1: scanning
 	unsigned char 		PageIndex;						//0 : Initialize
@@ -1438,6 +1453,16 @@ struct AlarmCodeData
             unsigned char AbnormalVoltageOnOutputLine_2:1;          //bit 5
             unsigned char SystemTaskLost:1;                         //bit 6
             unsigned char Reserved:1;                               //bit 7
+            //AlarmVal[16]
+            unsigned char :8;                                       //reserved bit 0 ~ 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
+            //AlarmVal[19]
+            unsigned char :8;                                       //reserved bit 0 ~ bit 7
 		}bits;
 	}AlarmEvents;
 };
@@ -4626,7 +4651,8 @@ struct OCPP16Data
             unsigned char InstallCertificateConf :1;                //bit 3
             unsigned char SignedUpdateFirmwareReq :1;               //bit 4
             unsigned char SignedUpdateFirmwareConf :1;              //bit 5
-            unsigned char :2;                                       //bit 6 & 7
+            unsigned char isRemoteStartWaitReq :1;                  //bit 6
+            unsigned char :1;                                       //bit 7
         } bits;
     } MsMsg;
 
@@ -4728,6 +4754,8 @@ enum OCPP20CtrlrVariable
 	ChargingStation_Available,
 	ChargingStation_AvailabilityState,
 	ChargingStation_SupplyPhases,
+	ChargingStation_SystemUptimeSec,
+	ChargingStation_FreeVend,
 	Connector_Available,
 	Connector_ConnectorType,
 	Connector_SupplyPhases,
@@ -5158,7 +5186,7 @@ struct SampledValueType
 struct MeterValueType
 {
 	unsigned char timestamp[28];									// Required. Timestamp for measured value(s).
-	struct SampledValueType sampledValue[10];							// Required. One or more measured values
+	struct SampledValueType sampledValue[20];						// Required. One or more measured values
 };
 
 struct VariableMonitoringType
@@ -5974,7 +6002,8 @@ struct OCPP20Data
 			unsigned char UnpublishFirmwareConf :1;
 			unsigned char UpdateFirmwareReq :1;
 			unsigned char UpdateFirmwareConf :1;
-			unsigned char :2;
+            unsigned char isRemoteStartWaitReq :1;
+            unsigned char :1;
 		} bits;
 	} MsMsg;
 

+ 2 - 2
EVSE/Projects/DD360ComBox/Apps/ModuleInternalComm/AcPlug.c

@@ -363,8 +363,8 @@ void AcPlugTask(int uartFD)
         } else if ((acStatus.CpStatus == AC_SYS_B || pAcChargingInfo->ConnectorPlugIn == AC_SYS_B) &&
                    pAcChargingInfo->IsAvailable &&
                    !pAcChargingInfo->IsErrorOccur &&
-                   (pSysInfo->WaitForPlugit == YES ||
-                    pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE)) {
+                   (pSysInfo->WaitForPlugit == YES /*||
+                    pSysConfig->AuthorisationMode == AUTH_MODE_DISABLE*/)) {
             if (pAcChargingInfo->RemoteStartFlag == YES) {
                 log_info("** AC Remote \n");
                 pAcChargingInfo->RemoteStartFlag = NO;

BIN
EVSE/Projects/DD360ComBox/Images/ramdisk.gz


BIN
EVSE/Projects/DD360ComBox/output/FactoryConfig


BIN
EVSE/Projects/DD360ComBox/output/Module_ChkSysTask


BIN
EVSE/Projects/DD360ComBox/output/Module_DoComm


BIN
EVSE/Projects/DD360ComBox/output/Module_EvComm


BIN
EVSE/Projects/DD360ComBox/output/Module_EventLogging


BIN
EVSE/Projects/DD360ComBox/output/Module_InternalComm


BIN
EVSE/Projects/DD360ComBox/output/Module_LcmControl


BIN
EVSE/Projects/DD360ComBox/output/Module_PrimaryComm


BIN
EVSE/Projects/DD360ComBox/output/Module_UpdateFW


BIN
EVSE/Projects/DD360ComBox/output/ReadCmdline


BIN
EVSE/Projects/DD360ComBox/output/main


BIN
EVSE/Projects/DD360ComBox/output/simulation


+ 2 - 2
build_rootfs_copy.sh

@@ -1,8 +1,8 @@
 #!/bin/bash
 sudo rm /dev/ram*
 sleep 3
-rm /mnt/e/Temp/IMAGE/*
-sudo make DD360Audi-rootfs
+#rm /mnt/e/Temp/IMAGE/*
+sudo make DD359Audi-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/