|
@@ -689,12 +689,26 @@ int conn_update_status(int socketFd, Connector_Info *connectorInfo, uint8_t conn
|
|
|
(ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent != connectorInfo[gun_index].availableSharingCurrent) ||
|
|
|
(ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].presentOutputCurrent != connectorInfo[gun_index].presentOutputCurrent))
|
|
|
{
|
|
|
+ switch(connectorInfo[gun_index].connectorType)
|
|
|
+ {
|
|
|
+ case CONNECTOR_TYPE_AC:
|
|
|
+ DEBUG_INFO("Conn-%d gun_%d type: AC signle phase.\n", idx, gun_index);
|
|
|
+ break;
|
|
|
+ case CONNECTOR_TYPE_AC_THREE:
|
|
|
+ DEBUG_INFO("Conn-%d gun_%d type: AC three phase.\n", idx, gun_index);
|
|
|
+ break;
|
|
|
+ case CONNECTOR_TYPE_DC:
|
|
|
+ DEBUG_INFO("Conn-%d gun_%d type: DC.\n", idx, gun_index);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
DEBUG_INFO("Conn-%d gun_%d connected: %s\n", idx, gun_index, (connectorInfo[gun_index].isGunConnected?"Yes":"No"));
|
|
|
DEBUG_INFO("Conn-%d gun_%d available current: %d\n", idx, gun_index, connectorInfo[gun_index].availableSharingCurrent);
|
|
|
DEBUG_INFO("Conn-%d gun_%d preset output current: %d\n", idx, gun_index, connectorInfo[gun_index].presentOutputCurrent);
|
|
|
DEBUG_INFO("==================================\n");
|
|
|
}
|
|
|
|
|
|
+ ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].connectorType = connectorInfo[gun_index].connectorType;
|
|
|
ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].isGunConnected = connectorInfo[gun_index].isGunConnected;
|
|
|
ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].presentOutputCurrent = connectorInfo[gun_index].presentOutputCurrent;
|
|
|
}
|
|
@@ -844,7 +858,7 @@ int tcpSocketServer(void)
|
|
|
for(uint8_t gun_index=0;gun_index<input.buffer[3];gun_index++)
|
|
|
{
|
|
|
connectorInfo[gun_index].connectorType = input.buffer[4+(gun_index*6)];
|
|
|
- if(connectorInfo[gun_index].connectorType == CONNECTOR_TYPE_AC)
|
|
|
+ if((connectorInfo[gun_index].connectorType == CONNECTOR_TYPE_AC) || (connectorInfo[gun_index].connectorType == CONNECTOR_TYPE_AC_THREE))
|
|
|
{
|
|
|
connectorInfo[gun_index].isGunConnected = ((2<=input.buffer[4+(gun_index*6)+1]) && (input.buffer[4+(gun_index*6)+1]<=7)?TRUE:FALSE);
|
|
|
}
|
|
@@ -1245,7 +1259,7 @@ int balance_check_loop(void)
|
|
|
if(ShmPowerSharing->Connection_Info[idx].isSocketConnected &&
|
|
|
ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].isGunConnected)
|
|
|
{
|
|
|
- ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent = (ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].connectorType==CONNECTOR_TYPE_AC?SHARE_MIN_AC:SHARE_MIN_DC);
|
|
|
+ ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent = (ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].connectorType==CONNECTOR_TYPE_DC?SHARE_MIN_DC:SHARE_MIN_AC);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -1275,16 +1289,16 @@ int balance_check_loop(void)
|
|
|
{
|
|
|
if((ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent-ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].presentOutputCurrent) > 3)
|
|
|
{
|
|
|
- if((ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent - ((ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent-ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].presentOutputCurrent)>>1)) >= (ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].connectorType==CONNECTOR_TYPE_AC?SHARE_MIN_AC:SHARE_MIN_DC))
|
|
|
+ if((ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent - ((ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent-ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].presentOutputCurrent)>>1)) >= (ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].connectorType==CONNECTOR_TYPE_DC?SHARE_MIN_DC:SHARE_MIN_AC))
|
|
|
ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent -= (ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent-ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].presentOutputCurrent)>>1;
|
|
|
else
|
|
|
- ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent = (ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].connectorType==CONNECTOR_TYPE_AC?SHARE_MIN_AC:SHARE_MIN_DC);
|
|
|
+ ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent = (ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].connectorType==CONNECTOR_TYPE_DC?SHARE_MIN_DC:SHARE_MIN_AC);
|
|
|
}
|
|
|
else if((abs(ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].presentOutputCurrent-ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent) <= 1) &&
|
|
|
(ShmPowerSharing->onHandCurrent > 0))
|
|
|
|
|
|
{
|
|
|
- ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent += (ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].connectorType==CONNECTOR_TYPE_AC_THREE?ShmPowerSharing->onHandCurrent/(ShmPowerSharing->connectedConnectorQty==0?1:ShmPowerSharing->connectedConnectorQty)/3:ShmPowerSharing->onHandCurrent/(ShmPowerSharing->connectedConnectorQty==0?1:ShmPowerSharing->connectedConnectorQty));
|
|
|
+ ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent += (ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].connectorType==CONNECTOR_TYPE_AC_THREE?(ShmPowerSharing->onHandCurrent/(ShmPowerSharing->connectedConnectorQty==0?1:ShmPowerSharing->connectedConnectorQty))/3:ShmPowerSharing->onHandCurrent/(ShmPowerSharing->connectedConnectorQty==0?1:ShmPowerSharing->connectedConnectorQty));
|
|
|
}
|
|
|
else
|
|
|
{}
|
|
@@ -1295,7 +1309,7 @@ int balance_check_loop(void)
|
|
|
{
|
|
|
if(ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent != 0)
|
|
|
{
|
|
|
- DEBUG_INFO("Dupfd-%d on conn_info-%d update sharing current(A): 0\n", ShmPowerSharing->Connection_Info[idx].socketFd, idx);
|
|
|
+ DEBUG_INFO("Dupfd-%d on conn-%d available current reset to 0A\n", ShmPowerSharing->Connection_Info[idx].socketFd, idx);
|
|
|
}
|
|
|
ShmPowerSharing->Connection_Info[idx].connectorInfo[gun_index].availableSharingCurrent = 0;
|
|
|
}
|