|
@@ -2,7 +2,7 @@
|
|
|
* Module_LcmControl.c
|
|
|
*
|
|
|
* Created on : 2020-10-20
|
|
|
- * Update on : 2022-01-25
|
|
|
+ * Update on : 2022-02-07
|
|
|
* Author : Folus Wen, Eason Yang
|
|
|
* Version : V0.27
|
|
|
*
|
|
@@ -52,7 +52,6 @@ void setUserPrice(uint8_t type);
|
|
|
void setTimeTitle(uint8_t isOn);
|
|
|
void setEnergyTitle(uint8_t isOn);
|
|
|
void setCurrentPage(uint8_t page);
|
|
|
-void setDefaultPrice(uint8_t type);
|
|
|
void setPresentFinalCost(float cost);
|
|
|
void setFinalCostTitle(uint8_t isOn);
|
|
|
void setSessionFeeTitle(uint8_t isOn);
|
|
@@ -80,7 +79,6 @@ void setBillingFromBackend(uint8_t gun_index, uint8_t system_mode);
|
|
|
void setConnectionAnimation(uint8_t gun_index, uint8_t system_mode);
|
|
|
void setPresentChargedEnergy(uint8_t gun_index, uint8_t system_mode);
|
|
|
void setMarqueeControl(uint16_t address, uint8_t gun_index, uint8_t type);
|
|
|
-void setCurrencyAndUnitFromBackend(uint8_t type_price,uint8_t type_currency_unit, uint8_t gun_index);
|
|
|
|
|
|
//=======================================
|
|
|
// Declare Timer
|
|
@@ -123,7 +121,7 @@ int Uart1Fd;
|
|
|
//=======================================
|
|
|
// Record version and date
|
|
|
//=======================================
|
|
|
-char *FIRMWARE_UPDATE_IMAGE[3] = {"V0.27", "2022-01-25", "REV.03.00"};
|
|
|
+char *FIRMWARE_UPDATE_IMAGE[3] = {"V0.27", "2022-02-07", "REV.03.00"};
|
|
|
|
|
|
//=======================================
|
|
|
// Common routine
|
|
@@ -575,7 +573,6 @@ void page_complete(uint8_t gun_index, uint8_t system_mode)
|
|
|
setFinalCost(gun_index, SESSION_FEE);
|
|
|
setFinalCost(gun_index, OCCUPANCY_FEE);
|
|
|
setFinalCost(gun_index, ACCOUNT_BALANCE);
|
|
|
- //setCurrencyAndUnitFromBackend(FINAL_COST, ACCOUNT_BALANCE, gun_index);
|
|
|
|
|
|
// Title appear
|
|
|
setSessionFeeTitle(ON);
|
|
@@ -1394,54 +1391,6 @@ void setUserPrice(uint8_t type)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//=======================================
|
|
|
-// Setting [ DefaultPrice ] ( BACKEND )
|
|
|
-//=======================================
|
|
|
-void setDefaultPrice(uint8_t type)
|
|
|
-{
|
|
|
- uint8_t length;
|
|
|
- uint8_t output_data[32];
|
|
|
- char input_data[32];
|
|
|
- char tmp[256];
|
|
|
- char *splitString[10];
|
|
|
- const char *Symbol = ";";
|
|
|
-
|
|
|
- memset(tmp, 0, ARRAY_SIZE(tmp));
|
|
|
- memset(input_data, 0x00, ARRAY_SIZE(input_data));
|
|
|
- memset(output_data, 0x00, ARRAY_SIZE(output_data));
|
|
|
-
|
|
|
- switch(type)
|
|
|
- {
|
|
|
- case CONNECTION_FEE:
|
|
|
- break;
|
|
|
- case CURRENT_RATE:
|
|
|
- if(strstr((char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[DefaultPrice].ItemData, "Current Rate:") > 0)
|
|
|
- {
|
|
|
- // APPEAR PRICE ICON
|
|
|
- setDisplayValue(ICON_PRICE, APPEAR);
|
|
|
-
|
|
|
- // APPEAR PRICE TEXT
|
|
|
- strcpy((char*)tmp,(char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[DefaultPrice].ItemData);
|
|
|
- split((char**)splitString, tmp, Symbol);
|
|
|
- memcpy(input_data, splitString[1], strlen(splitString[1]));
|
|
|
- length = strlen(input_data);
|
|
|
- trim_string(input_data,length);
|
|
|
- memcpy(output_data ,input_data, strlen(input_data));
|
|
|
- lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_PRICE, output_data, ARRAY_SIZE(output_data));
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- setDisplayValue(TEXT_PRICE, DISAPPEAR);
|
|
|
- setDisplayValue(ICON_PRICE, DISAPPEAR);
|
|
|
- }
|
|
|
- break;
|
|
|
- case OCCUPANCY_FEE:
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
//=======================================
|
|
|
// Setting [ FinalCost ] ( BACKEND )
|
|
|
//=======================================
|
|
@@ -1744,120 +1693,6 @@ void setRunningCost(uint8_t gun_index, uint8_t type)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//=======================================
|
|
|
-// Setting [ Currency ] ( BACKEND )
|
|
|
-//=======================================
|
|
|
-void setCurrencyAndUnitFromBackend(uint8_t type_price ,uint8_t type_currency_unit,uint8_t gun_index)
|
|
|
-{
|
|
|
- uint8_t length;
|
|
|
- uint8_t output_data[32];
|
|
|
- char input_data[32];
|
|
|
- char tmp[256];
|
|
|
- char *splitString[10];
|
|
|
- const char *Symbol = ";";
|
|
|
-
|
|
|
- memset(tmp, 0, ARRAY_SIZE(tmp));
|
|
|
- memset(input_data, 0x00, ARRAY_SIZE(input_data));
|
|
|
- memset(output_data, 0x00, ARRAY_SIZE(output_data));
|
|
|
-
|
|
|
- if(type_price == DEFAULE_PRICE)
|
|
|
- {
|
|
|
- switch(type_currency_unit)
|
|
|
- {
|
|
|
- case CONNECTION_FEE:
|
|
|
- break;
|
|
|
- case CURRENT_RATE:
|
|
|
- if(strstr((char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[DefaultPrice].ItemData, "Current Rate:") > 0)
|
|
|
- {
|
|
|
- strcpy((char*)tmp,(char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[DefaultPrice].ItemData);
|
|
|
- split((char**)splitString, tmp, Symbol);
|
|
|
- memcpy(input_data, splitString[1], strlen(splitString[1]));
|
|
|
- length = strlen(input_data);
|
|
|
- memcpy(output_data , input_data+(length-7), 7);
|
|
|
- lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_CURRENCY_UNIT, output_data, ARRAY_SIZE(output_data));
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- setDisplayValue(TEXT_CURRENCY_UNIT, DISAPPEAR);
|
|
|
- }
|
|
|
- break;
|
|
|
- case OCCUPANCY_FEE:
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- else if(type_price == SET_USER_PRICE)
|
|
|
- {
|
|
|
- switch(type_currency_unit)
|
|
|
- {
|
|
|
- case CONNECTION_FEE:
|
|
|
- break;
|
|
|
- case CURRENT_RATE:
|
|
|
- if(strstr((char *)ShmOCPP16Data->Cost.SetUserPrice.price, "Current Rate:") > 0)
|
|
|
- {
|
|
|
- strcpy((char*)tmp,(char *)ShmOCPP16Data->Cost.SetUserPrice.price);
|
|
|
- split((char**)splitString, tmp, Symbol);
|
|
|
- memcpy(input_data, splitString[1], strlen(splitString[1]));
|
|
|
- length = strlen(input_data);
|
|
|
- memcpy(output_data , input_data+(length-7), 7);
|
|
|
- lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_CURRENCY_UNIT, output_data, ARRAY_SIZE(output_data));
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- setDisplayValue(TEXT_CURRENCY_UNIT, DISAPPEAR);
|
|
|
- }
|
|
|
- break;
|
|
|
- case OCCUPANCY_FEE:
|
|
|
- break;
|
|
|
- case ACCOUNT_BALANCE:
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- else if(type_price == FINAL_COST)
|
|
|
- {
|
|
|
- switch(type_currency_unit)
|
|
|
- {
|
|
|
- case CONNECTION_FEE:
|
|
|
- break;
|
|
|
- case SESSION_FEE:
|
|
|
- break;
|
|
|
- case OCCUPANCY_FEE:
|
|
|
- break;
|
|
|
- case TOTAL_COST:
|
|
|
- break;
|
|
|
- case ACCOUNT_BALANCE:
|
|
|
- if(ShmOCPP16Data->StopTransaction[gun_index].TransactionId != ShmOCPP16Data->Cost.FinalCost[gun_index].txId)
|
|
|
- {
|
|
|
- setDisplayValue(TEXT_USER_CURRENCY, DISAPPEAR);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if((strstr((char*)ShmOCPP16Data->Cost.FinalCost[gun_index].description, "Account Balance:") > 0))
|
|
|
- {
|
|
|
- strcpy((char*)tmp,(char*)ShmOCPP16Data->Cost.FinalCost[gun_index].description);
|
|
|
- split((char**)splitString, tmp, Symbol);
|
|
|
- memcpy(input_data, splitString[4], strlen(splitString[4]));
|
|
|
- length = strlen(input_data);
|
|
|
- memcpy(output_data , input_data+(length-3), 3);
|
|
|
- lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_USER_CURRENCY, output_data, ARRAY_SIZE(output_data));
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- setDisplayValue(TEXT_USER_CURRENCY, DISAPPEAR);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {}
|
|
|
-}
|
|
|
-
|
|
|
//=======================================
|
|
|
// Setting QRCODE icon status
|
|
|
//=======================================
|
|
@@ -1986,7 +1821,7 @@ void setWarningStatus(uint8_t gun_index)
|
|
|
|
|
|
setAlarmCodeAndIcon();
|
|
|
}
|
|
|
- else if(ShmSysConfigAndInfo->SysWarningInfo.WarningCount > 4 && (getDiffSecNow(startTime[gun_index][TMR_IDX_ALARM]) > (TIME_ANIMATION_ALARM)))
|
|
|
+ else if((ShmSysConfigAndInfo->SysWarningInfo.WarningCount > 4) && (getDiffSecNow(startTime[gun_index][TMR_IDX_ALARM]) > (TIME_ANIMATION_ALARM)))
|
|
|
{
|
|
|
refreshStartTimer(&startTime[gun_index][TMR_IDX_ALARM]);
|
|
|
if(ShmSysConfigAndInfo->SysWarningInfo.PageIndex == 0)
|