#if 0 #include /*標準輸入輸出定義*/ #include /*標準函數庫定義*/ #include #include #include "../Config.h" #include "../Log/log.h" #include "../Define/define.h" #include "../ShareMemory/shmMem.h" #include "../timeout.h" #include "../CSU/main.h" #include "SelectGun.h" //------------------------------------------------------------------------------ int WaitAuthorPageState(void) { int ret = FAIL; struct SysInfoData *pSysInfo = (struct SysInfoData *)GetShmSysInfoData(); #if !defined DD360Audi return PASS; #endif //!defined DD360Audi if (pSysInfo->SystemPage != _LCM_AUTHORIZING && pSysInfo->SystemPage != _LCM_AUTHORIZ_COMP && pSysInfo->SystemPage != _LCM_AUTHORIZ_FAIL) { ret = PASS; } return ret; } void destroySelGun(uint8_t curGun) { uint8_t i = 0; #if !defined DD360Audi return; #endif //!defined DD360Audi struct SysConfigData *pSysConfig = (struct SysConfigData *)GetShmSysConfigData(); struct SysInfoData *pSysInfo = (struct SysInfoData *)GetShmSysInfoData(); SelectGunInfo *pSelectGunInfo = (SelectGunInfo *)GetShmSelectGunInfo(); //Jerry add struct OCPP16Data *ShmOCPP16Data = (struct OCPP16Data *)GetShmOCPP16Data(); //for status timeout if (curGun == DESTROY_ALL_SEL) { pSelectGunInfo->SelGunInfo.RightGun = SEL_GUN_RELEASE; pSelectGunInfo->SelGunInfo.LeftGun = SEL_GUN_RELEASE; log_info("destroy all gun = %d, %d", pSelectGunInfo->SelGunInfo.LeftGun, pSelectGunInfo->SelGunInfo.RightGun); for (i = 0; i < pSysConfig->TotalConnectorCount; i++) { StopGunInfoTimeoutDet(i); memset(&pSelectGunInfo->PricesInfo[i], 0, sizeof(PricesInfo)); } pSysInfo->CurGunSelected = 0; strcpy((char *)pSysConfig->UserId, ""); //changeLcmPage(_LCM_SELECT_GUN); return; } //for charging timeout or complete if ((curGun == LEFT_GUN_NUM) && (pSelectGunInfo->SelGunInfo.LeftGun != SEL_GUN_RELEASE)) { if (pSelectGunInfo->SelGunInfo.LeftGun == SEL_GUN_CONFIRM || pSelectGunInfo->SelGunInfo.LeftGun == SEL_GUN_ATHOR) { pSysInfo->SystemPage = _LCM_SELECT_GUN; } pSelectGunInfo->SelGunInfo.LeftGun = SEL_GUN_RELEASE; StopGunInfoTimeoutDet(LEFT_GUN_NUM); if (ShmOCPP16Data->SpMsg.bits.AuthorizeConf != NO) { ClearAuthorizedFlag(); } log_info("destroy left gun, cur page = %d", pSysInfo->SystemPage); //if (pSysInfo->SystemPage == pSysInfo->SystemPage) { log_info("clear left balance"); memset(&pSelectGunInfo->PricesInfo[curGun], 0, sizeof(PricesInfo)); pSelectGunInfo->PricesInfo[curGun].Balance = FAIL_BALANCE_PRICES; //} } if ((curGun == RIGHT_GUN_NUM) && (pSelectGunInfo->SelGunInfo.RightGun != SEL_GUN_RELEASE)) { if (pSelectGunInfo->SelGunInfo.RightGun == SEL_GUN_CONFIRM || pSelectGunInfo->SelGunInfo.RightGun == SEL_GUN_ATHOR) { pSysInfo->SystemPage = _LCM_SELECT_GUN; } pSelectGunInfo->SelGunInfo.RightGun = SEL_GUN_RELEASE; StopGunInfoTimeoutDet(RIGHT_GUN_NUM); if (ShmOCPP16Data->SpMsg.bits.AuthorizeConf != NO) { ClearAuthorizedFlag(); } log_info("destroy right gun, cur page = %d", pSysInfo->SystemPage); //if (pSysInfo->SystemPage == pSysInfo->SystemPage) { log_info("clear right balance"); memset(&pSelectGunInfo->PricesInfo[curGun], 0, sizeof(PricesInfo)); pSelectGunInfo->PricesInfo[curGun].Balance = FAIL_BALANCE_PRICES; //} } } int waitRightGunPlugIt(uint8_t curGun) { #if !defined DD360Audi return; #endif //!defined DD360Audi SelectGunInfo *pSelectGunInfo = (SelectGunInfo *)GetShmSelectGunInfo(); //Jerry add if ((curGun == RIGHT_GUN_NUM) && (pSelectGunInfo->SelGunInfo.RightGun == SEL_GUN_ATHOR)) { return PASS; } return FAIL; } int waitLeftGunPlugIt(uint8_t curGun) { #if !defined DD360Audi return; #endif //!defined DD360Audi SelectGunInfo *pSelectGunInfo = (SelectGunInfo *)GetShmSelectGunInfo(); //Jerry add if ((curGun == LEFT_GUN_NUM) && (pSelectGunInfo->SelGunInfo.LeftGun == SEL_GUN_ATHOR)) { return PASS; } return FAIL; } void setSelGunWaitToAuthor(uint8_t curSel) { #if !defined DD360Audi return; #endif //!defined DD360Audi SelectGunInfo *pSelectGunInfo = (SelectGunInfo *)GetShmSelectGunInfo(); //Jerry add if (curSel == LEFT_GUN_NUM && pSelectGunInfo->SelGunInfo.LeftGun == SEL_GUN_CONFIRM) { pSelectGunInfo->SelGunInfo.LeftGun = SEL_GUN_ATHOR; //printf("setSelGunWaitToAuthor left"); StopGunInfoTimeoutDet(curSel); } else if (curSel == RIGHT_GUN_NUM && pSelectGunInfo->SelGunInfo.RightGun == SEL_GUN_CONFIRM) { pSelectGunInfo->SelGunInfo.RightGun = SEL_GUN_ATHOR; //printf("setSelGunWaitToAuthor right"); StopGunInfoTimeoutDet(curSel); } } int getConfirmSelectedGun(uint8_t curSel) { #if !defined DD360Audi return; #endif //!defined DD360Audi SelectGunInfo *pSelectGunInfo = (SelectGunInfo *)GetShmSelectGunInfo(); //Jerry add if (((curSel == LEFT_GUN_NUM) && (pSelectGunInfo->SelGunInfo.LeftGun >= SEL_GUN_CONFIRM)) || ((curSel == RIGHT_GUN_NUM) && (pSelectGunInfo->SelGunInfo.RightGun >= SEL_GUN_CONFIRM))) { return PASS; } return FAIL; } void confirmSelGun(uint8_t selGun) { #if !defined DD360Audi return; #endif //!defined DD360Audi struct SysInfoData *pSysInfo = (struct SysInfoData *)GetShmSysInfoData(); SelectGunInfo *pSelectGunInfo = (SelectGunInfo *)GetShmSelectGunInfo(); //Jerry add if (selGun == LEFT_GUN_NUM) { pSelectGunInfo->SelGunInfo.LeftGun = SEL_GUN_CONFIRM; StopGunInfoTimeoutDet(selGun); //printf("confirmSelGun left"); } else if (selGun == RIGHT_GUN_NUM) { pSelectGunInfo->SelGunInfo.RightGun = SEL_GUN_CONFIRM; StopGunInfoTimeoutDet(selGun); //printf("confirmSelGun right"); } pSysInfo->SystemPage = _LCM_IDLE; StartGunInfoTimeoutDet(selGun, Timeout_SelectGun); } #endif //0