Browse Source

2022-03-31 / Tim Ling

Action
1. [add] model DB and DH; power 20kw and 25kw; gun type L,Y and Z

Files
1. Module_RatedCurrent.c
2. Module_RatedCurrent.h

Image version: D0.00.XX.XXXX.XX
Image checksum: XXXXXXXX
8187 3 years ago
parent
commit
8ecbb962e1
2 changed files with 59 additions and 21 deletions
  1. 35 5
      EVSE/Modularization/Module_RatedCurrent.c
  2. 24 16
      EVSE/Modularization/Module_RatedCurrent.h

+ 35 - 5
EVSE/Modularization/Module_RatedCurrent.c

@@ -36,7 +36,8 @@ static SymStruct modelTable[] = {
 	{ "DQ", MODEL_DQ },
 	{ "DK", MODEL_DK },
 	{ "DX", MODEL_DX },
-
+	{ "DB", MODEL_DB },
+	{ "DH", MODEL_DH },
 };
 
 static SymStruct regulationTable[] = {
@@ -57,6 +58,8 @@ static SymStruct regulationTable[] = {
 };
 
 static SymStruct powerTable[] = {
+	{"201", POWER_20W},
+	{"251", POWER_25W},
     {"301", POWER_30W},
     {"601", POWER_60W},
 	{"801", POWER_80W},
@@ -103,6 +106,9 @@ static SymStruct gunTypeTable[] = {
 	{"B", GUN_TYPE_B},
 	{"H", GUN_TYPE_H},
 	{"A", GUN_TYPE_A},
+	{"L", GUN_TYPE_L},
+	{"Y", GUN_TYPE_Y},
+	{"Z", GUN_TYPE_Z},
 };
 
 //------------------------------------------------------------------------------
@@ -176,6 +182,11 @@ static uint16_t defaultRatedCurrent(uint8_t modelType, uint32_t gunType, int pow
         }
     }
 
+    if(powerKey < POWER_30W)
+    {
+    	powerKey = POWER_30W;
+    }
+
     switch (gunType) {
     case GUN_TYPE_J:
     	if(powerKey == POWER_30W)
@@ -238,6 +249,16 @@ static uint16_t defaultRatedCurrent(uint8_t modelType, uint32_t gunType, int pow
     	ret = RC_400A;
     	break;
 
+    case GUN_TYPE_L:
+    	ret =  RC_80A;
+    	break;
+
+    case GUN_TYPE_Y:
+    case GUN_TYPE_Z:
+    	ret =  RC_150A;
+    	break;
+
+
     case GUN_TYPE_0:
     	ret = RC_0A;
 		break;
@@ -250,9 +271,12 @@ static uint16_t defaultRatedCurrent(uint8_t modelType, uint32_t gunType, int pow
     case GUN_TYPE_6:
     case GUN_TYPE_7:
     case GUN_TYPE_8:
+    	ret = RC_0A;
+    	break;
+
     default:
-        log_error("The gun type is not on the default current table\r\n");
-        return RC_0A;
+        log_error("Gun type is not defined: 0x%x\r\n", gunType);
+        ret = RC_0A;
         break;
     }
 
@@ -507,6 +531,12 @@ static void exchangeGunTypeAndVolValue(uint8_t key, GunTypeAndVolInfo *gunAndVol
 static int exchangePowerValue(uint8_t key)
 {
     switch (key) {
+    case POWER_20W:
+		return 200;
+
+    case POWER_25W:
+		return 250;
+
     case POWER_30W:
         return 300;
 
@@ -556,8 +586,8 @@ static int exchangePowerValue(uint8_t key)
         return 7200;
 
     default:
-    	log_error("Power is not defined, return 30kw\r\n");
-        return 300;
+    	log_error("Power is not defined\r\n");
+        return 0;
         break;
     }
 }

+ 24 - 16
EVSE/Modularization/Module_RatedCurrent.h

@@ -24,6 +24,8 @@
 #define MODEL_DQ								(0x0C) //DC EVSE Infy 30KW GB
 #define MODEL_DK								(0x0D) //DC EVSE Power rack
 #define MODEL_DX								(0x0E) //DC EVSE Output Communication Box (Dispenser)
+#define MODEL_DB								(0x0F) //DC to DC EVSE Output power cabinet
+#define MODEL_DH								(0x10) //CSU 3.0
 
 //------------------------------------------------------------------------------
 // regulation key
@@ -46,22 +48,24 @@
 //------------------------------------------------------------------------------
 // rate power key
 //------------------------------------------------------------------------------
-#define POWER_30W                               (0x01)
-#define POWER_60W                               (0x02)
-#define POWER_80W                               (0x03)
-#define POWER_90W                               (0x04)
-#define POWER_120W                              (0x05)
-#define POWER_150W                              (0x06)
-#define POWER_160W                              (0x07)
-#define POWER_180W                              (0x08)
-#define POWER_210W                              (0x09)
-#define POWER_240W                              (0x0A)
-#define POWER_270W                              (0x0B)
-#define POWER_300W                              (0x0C)
-#define POWER_330W                              (0x0D)
-#define POWER_360W                              (0x0E)
-#define POWER_480W                              (0x0F)
-#define POWER_720W                              (0x10)
+#define POWER_20W 								(0x01)
+#define POWER_25W 								(0x02)
+#define POWER_30W 								(0x03)
+#define POWER_60W 								(0x04)
+#define POWER_80W 								(0x05)
+#define POWER_90W 								(0x06)
+#define POWER_120W								(0x07)
+#define POWER_150W								(0x08)
+#define POWER_160W								(0x09)
+#define POWER_180W								(0x0A)
+#define POWER_210W								(0x0B)
+#define POWER_240W								(0x0C)
+#define POWER_270W								(0x0D)
+#define POWER_300W								(0x0E)
+#define POWER_330W								(0x0F)
+#define POWER_360W                              (0x10)
+#define POWER_480W                              (0x11)
+#define POWER_720W                              (0x12)
 
 //------------------------------------------------------------------------------
 // gun type key
@@ -93,6 +97,9 @@
 #define GUN_TYPE_B                              (0x18) //GBT YG PT1000
 #define GUN_TYPE_H                              (0x19) //WOER GBT 500A
 #define GUN_TYPE_A                              (0x1A) //WOER GBT 400A
+#define GUN_TYPE_L                              (0x1B) //CHAdeMO 80A
+#define GUN_TYPE_Y                              (0x1C) //CCS1 150A
+#define GUN_TYPE_Z                              (0x1D) //CCS2 150A
 
 //------------------------------------------------------------------------------
 // rating current parameters
@@ -103,6 +110,7 @@
 #define RC_80A                                  (800)
 #define RC_120A                                 (1200)
 #define RC_125A                                 (1250)
+#define RC_150A									(1500)
 #define RC_200A                                 (2000)
 #define RC_250A                                 (2500)
 #define RC_300A                                 (3000)