|
@@ -1165,14 +1165,14 @@ void ChargingCapabilityResponse(int socket, struct PACKET_STRUCTURE *packet)
|
|
|
ConnectorCapability[packet->Header.id - 1].TotalCost != lCost ||
|
|
|
ConnectorCapability[packet->Header.id - 1].TransactionId != transaction)
|
|
|
{
|
|
|
- LOG_INFO("Connector %d TransactionId: %d UserPrice: %4.2f, Cost: %.2f [%s]",
|
|
|
+ LOG_INFO("Connector %d TransactionId: %d UserPrice: %6.2f, Cost: %.2f [%s]",
|
|
|
packet->Header.id, transaction, fPrice, fCost, ConnectorCapability[packet->Header.id - 1].CurrencyString);
|
|
|
}
|
|
|
|
|
|
if(ConnectorCapability[packet->Header.id - 1].AccountBalance != lBalance ||
|
|
|
ConnectorCapability[packet->Header.id - 1].CostDiscount != lDiscount)
|
|
|
{
|
|
|
- LOG_INFO("Connector %d TransactionId: %d Account: %7.2f, Discount: %.2f [%s]",
|
|
|
+ LOG_INFO("Connector %d TransactionId: %d Account: %8.2f, Discount: %.2f [%s]",
|
|
|
packet->Header.id, transaction, fBalance, fDiscount, ConnectorCapability[packet->Header.id - 1].CurrencyString);
|
|
|
}
|
|
|
|
|
@@ -2831,6 +2831,29 @@ BOOL ConnectorStateHandler(struct PACKET_STRUCTURE *packet, unsigned char dispen
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+bool IsEnableForceCharging(byte dispenserIndex, byte connectorId)
|
|
|
+{
|
|
|
+ if(connectorId != AUTO_GUN_SELECTION)
|
|
|
+ {
|
|
|
+ return ShmChargerInfo->Control.FCharging[connectorId - 1].FCtrl.bits.EnableForceCharging ? true : false;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ int gun = 0;
|
|
|
+ for(int i = 0; i < ShmSysConfigAndInfo->SysInfo.DispenserInfo.Dispenser[dispenserIndex].ConnectorQuantity; i++)
|
|
|
+ {
|
|
|
+ gun = ShmSysConfigAndInfo->SysInfo.DispenserInfo.Dispenser[dispenserIndex].ConnectorID[i] - 1;
|
|
|
+
|
|
|
+ if(ShmChargerInfo->Control.FCharging[gun].FCtrl.bits.EnableForceCharging)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
AuthorizingInfoData preGunAuthInfo[GENERAL_GUN_QUANTITY];
|
|
|
AuthorizingInfoData preDispenserAuthInfo[GENERAL_GUN_QUANTITY];
|
|
|
|
|
@@ -2846,6 +2869,11 @@ unsigned char UserIDHandler(struct PACKET_STRUCTURE *packet, unsigned char dispe
|
|
|
|
|
|
if(find || packet->Header.id == AUTO_GUN_SELECTION)
|
|
|
{
|
|
|
+ if(IsEnableForceCharging(dispenserIndex, packet->Header.id))
|
|
|
+ {
|
|
|
+ return _DAS_NotAllowed;
|
|
|
+ }
|
|
|
+
|
|
|
length = packet->Header.len - 1;
|
|
|
memset(CardNumber, 0x00, sizeof(CardNumber));
|
|
|
memcpy(CardNumber, packet->Payload.data, length);
|
|
@@ -3025,6 +3053,12 @@ unsigned char ChargingPermissionHandler(struct PACKET_STRUCTURE *packet, unsigne
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
+
|
|
|
+ if(IsEnableForceCharging(dispenserIndex, packet->Header.id))
|
|
|
+ {
|
|
|
+
|
|
|
+ permission = _DAS_NotAllowed;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|