新评判
This commit is contained in:
parent
da3b0dbc13
commit
9496bc25ef
@ -5,9 +5,9 @@
|
|||||||
"name": "default",
|
"name": "default",
|
||||||
"material": {
|
"material": {
|
||||||
"certpath": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.cer",
|
"certpath": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.cer",
|
||||||
"storePassword": "0000001B7CC00976B4DC275EF809F1208139DC3D299795B987E25735A90BA25E0281359B779149F37F25CB",
|
"storePassword": "0000001B506B2A36F5061652E84DA29003CACEDDCE520572D4070878BE43BB261D6E415822EE2CC5E29829",
|
||||||
"keyAlias": "debugKey",
|
"keyAlias": "debugKey",
|
||||||
"keyPassword": "0000001B4799B0C20722DE7A448875A3F176D6CB8285B0C00ACBAD55E6B458EC8710E4794E5EE87B49582A",
|
"keyPassword": "0000001BDEE0EE8B2C50BC5AAA8DD074192F3E77D412A6D72EAF123FFEF0867B12BDE41DD4DE67A9D51775",
|
||||||
"profile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p7b",
|
"profile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p7b",
|
||||||
"signAlg": "SHA256withECDSA",
|
"signAlg": "SHA256withECDSA",
|
||||||
"storeFile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p12"
|
"storeFile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p12"
|
||||||
|
|||||||
Binary file not shown.
@ -27,7 +27,7 @@
|
|||||||
#define JUDGE_VERSION_MAJOR 1
|
#define JUDGE_VERSION_MAJOR 1
|
||||||
#define JUDGE_VERSION_MINOR 0
|
#define JUDGE_VERSION_MINOR 0
|
||||||
#define JUDGE_VERSION_PATCH 3
|
#define JUDGE_VERSION_PATCH 3
|
||||||
#define JUDGE_VERSION_STAMP "2503241700b"
|
#define JUDGE_VERSION_STAMP "2503270900b"
|
||||||
#if JUDGE_USE_OLD
|
#if JUDGE_USE_OLD
|
||||||
# undef JUDGE_VERSION_STAMP
|
# undef JUDGE_VERSION_STAMP
|
||||||
# define JUDGE_VERSION_STAMP "2411121010b.old"
|
# define JUDGE_VERSION_STAMP "2411121010b.old"
|
||||||
|
|||||||
@ -134,6 +134,26 @@ ExamItemCodes SysParmTable::findSub2ExamItems(int carCode) const
|
|||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SysParmTable::findQiBuGear(int carCode)
|
||||||
|
{
|
||||||
|
//NO1=3 NO2=车型代码 NO3=4条件 TXT1
|
||||||
|
int gear = INVALID_INDEX;
|
||||||
|
int size = parm3Size();
|
||||||
|
for(int i = 0; i < size; i++)
|
||||||
|
{
|
||||||
|
const TSystemparm* parm3 = parm3By(i);
|
||||||
|
if(parm3->NO2 == carCode && parm3->NO3 == 4)
|
||||||
|
{
|
||||||
|
if(!parm3->TXT1.empty())
|
||||||
|
{
|
||||||
|
gear = std::atoi(parm3->TXT1.data());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return gear;
|
||||||
|
}
|
||||||
|
|
||||||
TItemCodes SysParmTable::findItemCodes(ExamItemCodes items) const
|
TItemCodes SysParmTable::findItemCodes(ExamItemCodes items) const
|
||||||
{
|
{
|
||||||
TItemCodes codes;
|
TItemCodes codes;
|
||||||
|
|||||||
@ -57,6 +57,12 @@ public:
|
|||||||
*/
|
*/
|
||||||
ExamItemCodes findSub2ExamItems(int carCode) const;
|
ExamItemCodes findSub2ExamItems(int carCode) const;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 查找起步档位 NO1=3 NO2=车型代码 NO3=4条件 TXT1
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
int findQiBuGear(int carCode);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 科二科三通用,通过我们公司自定义的项目代码,获取到无锡所定义的标准项目代码和项目名称(简称)等
|
* 科二科三通用,通过我们公司自定义的项目代码,获取到无锡所定义的标准项目代码和项目名称(简称)等
|
||||||
* NO1=6 NO2=公司自定义的项目代码 查出来 NO2:我们公司的项目代码 TXT1:项目名称全称 TXT2:无锡所代码 TXT3:项目名称简称
|
* NO1=6 NO2=公司自定义的项目代码 查出来 NO2:我们公司的项目代码 TXT1:项目名称全称 TXT2:无锡所代码 TXT3:项目名称简称
|
||||||
|
|||||||
@ -257,6 +257,7 @@ class JUDGE_API SysSetTable : public IDBTable
|
|||||||
SYSSET_DECLARE(615); //侧方停车读卡前进时碰6线不合格 0
|
SYSSET_DECLARE(615); //侧方停车读卡前进时碰6线不合格 0
|
||||||
SYSSET_DECLARE(617, type_int); //参数617:语音实时播报项目是否合格(0-否 1-是)语音码:xmhg,xmbhg
|
SYSSET_DECLARE(617, type_int); //参数617:语音实时播报项目是否合格(0-否 1-是)语音码:xmhg,xmbhg
|
||||||
SYSSET_DECLARE(624); //考试评判车门模式
|
SYSSET_DECLARE(624); //考试评判车门模式
|
||||||
|
SYSSET_DECLARE(641, type_int); //641=1 是车尾过5-6延长线结束
|
||||||
SYSSET_DECLARE(660); //侧方停车项目 停车距离判断阈值控制参数
|
SYSSET_DECLARE(660); //侧方停车项目 停车距离判断阈值控制参数
|
||||||
SYSSET_DECLARE(668); //安全带评判模式
|
SYSSET_DECLARE(668); //安全带评判模式
|
||||||
SYSSET_DECLARE(671); //停车距离判断阈值控制参数
|
SYSSET_DECLARE(671); //停车距离判断阈值控制参数
|
||||||
@ -397,6 +398,7 @@ class JUDGE_API SysSetTable : public IDBTable
|
|||||||
SYSSET_ASSIGN(615);
|
SYSSET_ASSIGN(615);
|
||||||
SYSSET_ASSIGN(617);
|
SYSSET_ASSIGN(617);
|
||||||
SYSSET_ASSIGN(624);
|
SYSSET_ASSIGN(624);
|
||||||
|
SYSSET_ASSIGN(641);
|
||||||
SYSSET_ASSIGN(660);
|
SYSSET_ASSIGN(660);
|
||||||
SYSSET_ASSIGN(668);
|
SYSSET_ASSIGN(668);
|
||||||
SYSSET_ASSIGN(671);
|
SYSSET_ASSIGN(671);
|
||||||
|
|||||||
@ -873,6 +873,8 @@ struct TSub3Item20Comm_XLG //标准科目三综合评判 TKm3Itm20_XLG
|
|||||||
bool qdysFlag = false; //启动钥匙标志
|
bool qdysFlag = false; //启动钥匙标志
|
||||||
bool aqd_kfid = false; //安全带扣分
|
bool aqd_kfid = false; //安全带扣分
|
||||||
int CGD_Nums = 0; //达到次高挡的次数
|
int CGD_Nums = 0; //达到次高挡的次数
|
||||||
|
|
||||||
|
bool rmndg2 = false; //无锡地区在发动机未启动点切换,提示启动发动机,启动发动机之后播报模拟灯光
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TSub3Item20Comm_NS3 //新科目三
|
struct TSub3Item20Comm_NS3 //新科目三
|
||||||
|
|||||||
@ -116,8 +116,8 @@ JUDGE_STAGE_IMPL(Sub2Judge03Cftc, Sub2CftcStage0)
|
|||||||
//穿越结束线了
|
//穿越结束线了
|
||||||
if(m_endLineFlag == true && cgcu->move == moveForward)
|
if(m_endLineFlag == true && cgcu->move == moveForward)
|
||||||
{
|
{
|
||||||
int syset = TableSysSet->asInt606();
|
int s606 = TableSysSet->asInt606();
|
||||||
if(syset == 1 || m_existMark == true) //不可以取消项目,或者侧方已经扣过分了
|
if(s606 == 1 || m_existMark == true) //不可以取消项目,或者侧方已经扣过分了
|
||||||
{
|
{
|
||||||
ENTER_ITEM_AND_MARK(JUDGE_MARK_ITEM_MUST_ONCE(MARK_SUB2_CFTC_41));
|
ENTER_ITEM_AND_MARK(JUDGE_MARK_ITEM_MUST_ONCE(MARK_SUB2_CFTC_41));
|
||||||
}
|
}
|
||||||
@ -371,6 +371,27 @@ void Sub2Judge03Cftc::calcCrossLine()
|
|||||||
|
|
||||||
//后轮没有穿越结束线
|
//后轮没有穿越结束线
|
||||||
if(m_endLineFlag == false)
|
if(m_endLineFlag == false)
|
||||||
|
{
|
||||||
|
int s641 = TableSysSet->asInt641();
|
||||||
|
if(s641 == 1)
|
||||||
|
{
|
||||||
|
if(m_stage >= Sub2CftcStage2) //641=1 是车尾过5-6延长线结束 2025-03-26 add
|
||||||
|
{
|
||||||
|
if(pureCarTouchSoloSegment(L56, II(13), history))
|
||||||
|
{
|
||||||
|
m_endLineFlag = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(m_stage == Sub2CftcStage0)
|
||||||
|
{
|
||||||
|
const TGPSLine& L78 = m_model->L78(); //606参数是0可能会取消项目所以要加这个逻辑
|
||||||
|
if(pureCarTouchSoloSegment(L78, II(13), history))
|
||||||
|
{
|
||||||
|
m_endLineFlag = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
const TGPSLine& L78 = m_model->L78();
|
const TGPSLine& L78 = m_model->L78();
|
||||||
#if JUDGE_USE_INSPECT
|
#if JUDGE_USE_INSPECT
|
||||||
@ -386,6 +407,7 @@ void Sub2Judge03Cftc::calcCrossLine()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Sub2Judge03Cftc::judgeTouchLine()
|
void Sub2Judge03Cftc::judgeTouchLine()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -103,6 +103,12 @@ void Sub3Judge01Sczb::dealJudgeItem()
|
|||||||
//超声波评判跟差分信号没有关系,所以不做差分信号状态的判断
|
//超声波评判跟差分信号没有关系,所以不做差分信号状态的判断
|
||||||
//if(!m_car->rtkEnabled() || !m_car->rtkEnabled(1)) return;
|
//if(!m_car->rtkEnabled() || !m_car->rtkEnabled(1)) return;
|
||||||
|
|
||||||
|
const std::string& s386 = TableSysSet->get386();
|
||||||
|
if(s386 == "3") //无锡地区模式只要发动机启动了,点切换就上车准备自动完成播报模拟灯光
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//有这种考试模式,上车准备是外壳完成的,这种少数,兼容 windows是这种做法
|
//有这种考试模式,上车准备是外壳完成的,这种少数,兼容 windows是这种做法
|
||||||
const TStuInfo& stuInfo = m_car->stuInfo();
|
const TStuInfo& stuInfo = m_car->stuInfo();
|
||||||
if(stuInfo.sczb) //StuInfo.CS_Finish_SCZB_Flag
|
if(stuInfo.sczb) //StuInfo.CS_Finish_SCZB_Flag
|
||||||
@ -197,8 +203,6 @@ void Sub3Judge01Sczb::dealJudgeItem()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string& s386 = TableSysSet->get386();
|
|
||||||
|
|
||||||
if(m_itemv.newtype == 1)
|
if(m_itemv.newtype == 1)
|
||||||
{
|
{
|
||||||
//当前时刻的累计用时秒
|
//当前时刻的累计用时秒
|
||||||
|
|||||||
@ -410,14 +410,16 @@ void Sub3Judge02Qbxx::Judge_QiBu_GuaCuoDang()
|
|||||||
if(cg->move == moveForward && his1->move == moveForward)
|
if(cg->move == moveForward && his1->move == moveForward)
|
||||||
{
|
{
|
||||||
const TSensorInfo& sor = cg->real.sensor;
|
const TSensorInfo& sor = cg->real.sensor;
|
||||||
|
//小车1档起步, 大车1、2档起步
|
||||||
|
static const int gear = TableSysParm->findQiBuGear(m_car->carCode());
|
||||||
|
|
||||||
#if JUDGE_USE_INSPECT
|
#if JUDGE_USE_INSPECT
|
||||||
if(sor.dw_plc >= 2) //无锡所用原始档位
|
if(sor.dw_plc > gear) //无锡所用原始档位
|
||||||
{
|
{
|
||||||
JUDGE_MARK_SUB3(2, "44", false);
|
JUDGE_MARK_SUB3(2, "44", false);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if(sor.dw >= 2)
|
if(sor.dw > gear)
|
||||||
{
|
{
|
||||||
JUDGE_MARK_SUB3(2, "44", false);
|
JUDGE_MARK_SUB3(2, "44", false);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -769,7 +769,6 @@ void Sub3Judge20Comm::doCheck_ZuoYi()
|
|||||||
//加载模拟灯光项目
|
//加载模拟灯光项目
|
||||||
void Sub3Judge20Comm::CallMoNiDengGuang()
|
void Sub3Judge20Comm::CallMoNiDengGuang()
|
||||||
{
|
{
|
||||||
|
|
||||||
#if JUDGE_USE_INSPECT
|
#if JUDGE_USE_INSPECT
|
||||||
return; //屏蔽模拟灯光
|
return; //屏蔽模拟灯光
|
||||||
#endif
|
#endif
|
||||||
@ -784,6 +783,19 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
|
|||||||
const TSensorInfo& sor3 = his3->real.sensor;
|
const TSensorInfo& sor3 = his3->real.sensor;
|
||||||
|
|
||||||
const std::string& ksdd = TableSysSet->get211();
|
const std::string& ksdd = TableSysSet->get211();
|
||||||
|
const std::string& s386 = TableSysSet->get386();
|
||||||
|
if(s386 == "3")
|
||||||
|
{
|
||||||
|
//无锡地区模式只要发动机启动了,点切换就上车准备自动完成播报模拟灯光 //2025-03-21 yhy add
|
||||||
|
//无锡地区在发动机未启动点切换,提示启动发动机,启动发动机之后播报模拟灯光
|
||||||
|
if(m_itemvXLG.rmndg2 == false)
|
||||||
|
{
|
||||||
|
if(sor.rmndg == 2 && sor1.rmndg == 0 && sor2.rmndg == 0)
|
||||||
|
{
|
||||||
|
m_itemvXLG.rmndg2 = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(m_car->disForward() + m_car->disBackward() < 50 &&
|
if(m_car->disForward() + m_car->disBackward() < 50 &&
|
||||||
sor.fdjzs == SNOT && sor1.fdjzs == SNOT && sor2.fdjzs == SNOT && sor3.fdjzs == SNOT)
|
sor.fdjzs == SNOT && sor1.fdjzs == SNOT && sor2.fdjzs == SNOT && sor3.fdjzs == SNOT)
|
||||||
@ -889,23 +901,15 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const std::string& s386 = TableSysSet->get386();
|
|
||||||
//模拟灯光:参数386=0,开始考试后,就触发模拟灯光
|
//模拟灯光:参数386=0,开始考试后,就触发模拟灯光
|
||||||
if(s386 != "0")
|
if(s386 != "0" && s386 != "3")
|
||||||
{
|
{
|
||||||
TKM3Item* item01 = m_car->findExamItem(Sub3ItemType01Sczb); //上车准备
|
TKM3Item* item01 = m_car->findExamItem(Sub3ItemType01Sczb); //上车准备
|
||||||
if(item01 && item01->FinishFlag == false)
|
if(item01 && item01->FinishFlag == false)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(s386 == "3") //无锡地区在做完上车准备时需要人工点下才能触发模拟灯光 //2025-03-21 yhy add
|
|
||||||
{
|
|
||||||
if(sor.rmndg == 2 && sor1.rmndg == 0 && sor2.rmndg == 0)
|
|
||||||
{
|
|
||||||
m_car->setEnterItem(item41);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//322参数0:模拟灯光开始和结束都要检查 1:只检查结束 2:只检查开始 默认不配置都检查
|
//322参数0:模拟灯光开始和结束都要检查 1:只检查结束 2:只检查开始 默认不配置都检查
|
||||||
@ -917,7 +921,7 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
|
|||||||
(s386 == "5" && sor.dh1 == SYES) ||
|
(s386 == "5" && sor.dh1 == SYES) ||
|
||||||
(s386 == "6" && sor.aqd == SYES && sor1.aqd == SYES) ) //20170314 训练模式 只要有dh1就可以进行模拟灯光
|
(s386 == "6" && sor.aqd == SYES && sor1.aqd == SYES) ) //20170314 训练模式 只要有dh1就可以进行模拟灯光
|
||||||
{
|
{
|
||||||
//关闭灯光 20180809
|
//关闭灯光提示 20180809
|
||||||
if((s322 != "1") && (sor.shtd + sor.skd + sor.ygd + sor.jgd + sor.zfxd + sor.yfxd > 0 || ksdd == siteof::nj))
|
if((s322 != "1") && (sor.shtd + sor.skd + sor.ygd + sor.jgd + sor.zfxd + sor.yfxd > 0 || ksdd == siteof::nj))
|
||||||
{
|
{
|
||||||
if(!m_itemvCJH.Gbdg_ID)
|
if(!m_itemvCJH.Gbdg_ID)
|
||||||
@ -977,9 +981,19 @@ void Sub3Judge20Comm::CallMoNiDengGuang()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//开始模拟灯光
|
if(s386 == "3")
|
||||||
if(item41 && item41->Item_Color == itemStateWk)
|
|
||||||
{
|
{
|
||||||
|
//无锡地区模式只要发动机启动了,点切换就上车准备自动完成播报模拟灯光 //2025-03-21 yhy add
|
||||||
|
//无锡地区在发动机未启动点切换,提示启动发动机,启动发动机之后播报模拟灯光
|
||||||
|
if(m_itemvXLG.rmndg2 && sor.fdjzs > 100 && sor1.fdjzs > 100 && sor2.fdjzs > 100)
|
||||||
|
{
|
||||||
|
m_car->KM3EndItem(Sub3ItemType01Sczb,true,false);
|
||||||
|
m_car->setEnterItem(item41);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//开始模拟灯光
|
||||||
m_car->setEnterItem(item41);
|
m_car->setEnterItem(item41);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4540,9 +4554,9 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
// 加减档位操作挂一个挡位要松一次离合器(项目,全程)(0-否 1-是)()
|
// 加减档位操作挂一个挡位要松一次离合器(项目,全程)(0-否 1-是)()
|
||||||
// *)
|
// *)
|
||||||
const std::vector<std::string>& s425 = TableSysSet->asArray425();
|
const std::vector<std::string>& s425 = TableSysSet->asArray425();
|
||||||
std::string ss = s425.size() > 1 ? s425[1] : "";
|
std::string ss425 = s425.size() > 1 ? s425[1] : "";
|
||||||
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw);//加减挡
|
TKM3Item* item14 = m_car->findExamItem(Sub3ItemType14Jjdw);//加减挡
|
||||||
if(item14 && item14->TestPro == ItemProFlagIdle && ss == "1")
|
if(item14 && item14->TestPro == ItemProFlagIdle && ss425 == "1")
|
||||||
{
|
{
|
||||||
const TSensorInfo& sor3 = m_car->historySensor(3);
|
const TSensorInfo& sor3 = m_car->historySensor(3);
|
||||||
if(sor.dw == sor1.dw && sor.dw != sor2.dw && sor.dw != sor3.dw && sor.dw > 0)
|
if(sor.dw == sor1.dw && sor.dw != sor2.dw && sor.dw != sor3.dw && sor.dw > 0)
|
||||||
@ -4558,6 +4572,7 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
}
|
}
|
||||||
|
|
||||||
const TSensorInfo& sori = m_car->historySensor(i);
|
const TSensorInfo& sori = m_car->historySensor(i);
|
||||||
|
int dw_i0 = sori.dw;
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
int dw_i1 = m_car->historySensor(i + 1).dw;
|
||||||
int dw_i2 = m_car->historySensor(i + 2).dw;
|
int dw_i2 = m_car->historySensor(i + 2).dw;
|
||||||
int dw_i3 = m_car->historySensor(i + 3).dw;
|
int dw_i3 = m_car->historySensor(i + 3).dw;
|
||||||
@ -4566,9 +4581,9 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
int dw_i6 = m_car->historySensor(i + 6).dw;
|
int dw_i6 = m_car->historySensor(i + 6).dw;
|
||||||
|
|
||||||
if(sori.lhq == SNOT) break;
|
if(sori.lhq == SNOT) break;
|
||||||
if(sori.dw == SNOT) continue;
|
if(dw_i0 == SNOT) continue;
|
||||||
if(dw != sori.dw && sori.dw == dw_i1 && sori.dw == dw_i2 && sori.dw == dw_i3 &&
|
if(dw != dw_i0 && dw_i0 == dw_i1 && dw_i0 == dw_i2 && dw_i0 == dw_i3 &&
|
||||||
sori.dw == dw_i4 && sori.dw == dw_i5 && sori.dw == dw_i6)
|
dw_i0 == dw_i4 && dw_i0 == dw_i5 && dw_i0 == dw_i6)
|
||||||
{
|
{
|
||||||
k = k + 1;
|
k = k + 1;
|
||||||
dw = sori.dw;
|
dw = sori.dw;
|
||||||
@ -4588,22 +4603,26 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
if(sor.dw == sor1.dw && sor.dw == sor2.dw && sor.dw > 0 && sor.dw < 9 &&
|
if(sor.dw == sor1.dw && sor.dw == sor2.dw && sor.dw > 0 && sor.dw < 9 &&
|
||||||
sor.lhq == SNOT && gps.sd > 5 && !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
|
sor.lhq == SNOT && gps.sd > 5 && !IS_C2(m_carType) && !IS_C5(m_carType)) //增加了车速>5 20151214
|
||||||
{
|
{
|
||||||
|
|
||||||
for(int i = 3; i < 53; i++)
|
for(int i = 3; i < 53; i++)
|
||||||
{
|
{
|
||||||
if(i >= count || i + 1 >= count)
|
if(i >= count || i + 2 >= count)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
||||||
const TSensorInfo& sori = hisi->real.sensor;
|
const TSensorInfo& sori = hisi->real.sensor;
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
int dw_i0 = sori.dw;
|
||||||
|
if(dw_i0 != 0) break;
|
||||||
|
|
||||||
if(sori.dw >= sor.dw && sori.lhq == SNOT) break;
|
int dw_i1 = m_car->historySensor(i + 1).dw;
|
||||||
if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break;
|
int dw_i2 = m_car->historySensor(i + 2).dw;
|
||||||
if(sori.dw < sor.dw && dw_i1 == sori.dw && sori.dw > 0)
|
|
||||||
|
if(dw_i1 >= sor.dw && sori.lhq == SNOT) break;
|
||||||
|
if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break;
|
||||||
|
|
||||||
|
if(dw_i1 < sor.dw && dw_i1 > 0 && dw_i1 == dw_i2)
|
||||||
{
|
{
|
||||||
if(sor.dw - sori.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
||||||
{
|
{
|
||||||
bool FindFlag = false;
|
bool FindFlag = false;
|
||||||
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
||||||
@ -4642,25 +4661,29 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
{
|
{
|
||||||
for(int i = 5; i <= 55; i++)
|
for(int i = 5; i <= 55; i++)
|
||||||
{
|
{
|
||||||
if(i >= count || i + 4 >= count)
|
if(i >= count || i + 5 >= count)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
||||||
const TSensorInfo& sori = hisi->real.sensor;
|
const TSensorInfo& sori = hisi->real.sensor;
|
||||||
|
int dw_i0 = sori.dw;
|
||||||
|
if(dw_i0 != 0) break;
|
||||||
|
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
int dw_i1 = m_car->historySensor(i + 1).dw;
|
||||||
int dw_i2 = m_car->historySensor(i + 2).dw;
|
int dw_i2 = m_car->historySensor(i + 2).dw;
|
||||||
int dw_i3 = m_car->historySensor(i + 3).dw;
|
int dw_i3 = m_car->historySensor(i + 3).dw;
|
||||||
int dw_i4 = m_car->historySensor(i + 4).dw;
|
int dw_i4 = m_car->historySensor(i + 4).dw;
|
||||||
|
int dw_i5 = m_car->historySensor(i + 5).dw;
|
||||||
|
|
||||||
if(sori.dw > sor.dw && sori.lhq == SNOT) break;
|
if(dw_i1 > sor.dw && sori.lhq == SNOT) break;
|
||||||
if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break;
|
if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break;
|
||||||
if(sori.dw < sor.dw && dw_i1 == sori.dw && dw_i2 == sori.dw &&
|
|
||||||
dw_i3 == sori.dw && dw_i4 == sori.dw && sori.dw > 0)
|
if(dw_i1 < sor.dw && dw_i1 > 0 &&
|
||||||
|
dw_i2 == dw_i1 && dw_i3 == dw_i1 && dw_i4 == dw_i1 && dw_i5 == dw_i1)
|
||||||
{
|
{
|
||||||
if((sor.dw - sori.dw) > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
||||||
{
|
{
|
||||||
bool FindFlag = false;
|
bool FindFlag = false;
|
||||||
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
||||||
@ -4705,12 +4728,14 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
{
|
{
|
||||||
for(int i = 9; i < 59; i++)
|
for(int i = 9; i < 59; i++)
|
||||||
{
|
{
|
||||||
if(i >= count || i + 9 >= count)
|
if(i >= count || i + 10 >= count)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
||||||
const TSensorInfo& sori = hisi->real.sensor;
|
const TSensorInfo& sori = hisi->real.sensor;
|
||||||
|
int dw_i0 = sori.dw;
|
||||||
|
if(dw_i0 != 0) break;
|
||||||
|
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
int dw_i1 = m_car->historySensor(i + 1).dw;
|
||||||
int dw_i2 = m_car->historySensor(i + 2).dw;
|
int dw_i2 = m_car->historySensor(i + 2).dw;
|
||||||
@ -4721,14 +4746,16 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
int dw_i7 = m_car->historySensor(i + 7).dw;
|
int dw_i7 = m_car->historySensor(i + 7).dw;
|
||||||
int dw_i8 = m_car->historySensor(i + 8).dw;
|
int dw_i8 = m_car->historySensor(i + 8).dw;
|
||||||
int dw_i9 = m_car->historySensor(i + 9).dw;
|
int dw_i9 = m_car->historySensor(i + 9).dw;
|
||||||
|
int dw_i10 = m_car->historySensor(i + 10).dw;
|
||||||
|
|
||||||
if(sori.dw > sor.dw && sori.lhq == SNOT) break;
|
if(dw_i1 > sor.dw && sori.lhq == SNOT) break;
|
||||||
if(sori.dw + 1 == sor.dw && sori.lhq == SNOT) break;
|
if(dw_i1 + 1 == sor.dw && sori.lhq == SNOT) break;
|
||||||
if(sori.dw < sor.dw && dw_i1 == sori.dw && dw_i2 == sori.dw && dw_i3 == sori.dw &&
|
|
||||||
dw_i4 == sori.dw && dw_i5 == sori.dw && dw_i6 == sori.dw &&
|
if(dw_i1 < sor.dw && dw_i1 > 0 && dw_i2 == dw_i1 && dw_i3 == dw_i1 &&
|
||||||
dw_i7 == sori.dw && dw_i8 == sori.dw && dw_i9 == sori.dw && sori.dw > 0)
|
dw_i4 == dw_i1 && dw_i5 == dw_i1 && dw_i6 == dw_i1 && dw_i7 == dw_i1 &&
|
||||||
|
dw_i8 == dw_i1 && dw_i9 == dw_i1 && dw_i10 == dw_i1)
|
||||||
{
|
{
|
||||||
if(sor.dw - sori.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
if(sor.dw - dw_i1 > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
||||||
{
|
{
|
||||||
bool FindFlag = false;
|
bool FindFlag = false;
|
||||||
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
||||||
@ -4743,6 +4770,8 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
}
|
}
|
||||||
if(FindFlag == true)
|
if(FindFlag == true)
|
||||||
{
|
{
|
||||||
|
//安卓档位评判好像逻辑上做了优化,比方说越级加档,中间必须出现 0 才判,1 跳 3 的情况,没出现 0 不判
|
||||||
|
//项目经理吉说的先按照这样做
|
||||||
JUDGE_MARK_SUB3(14, "01", true);
|
JUDGE_MARK_SUB3(14, "01", true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -4766,6 +4795,7 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
|
|
||||||
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
const TChuanGan* hisi = m_car->historyChuanGan(i);
|
||||||
const TSensorInfo& sori = hisi->real.sensor;
|
const TSensorInfo& sori = hisi->real.sensor;
|
||||||
|
int dw_i0 = sori.dw;
|
||||||
|
|
||||||
int dw_i1 = m_car->historySensor(i + 1).dw;
|
int dw_i1 = m_car->historySensor(i + 1).dw;
|
||||||
int dw_i2 = m_car->historySensor(i + 2).dw;
|
int dw_i2 = m_car->historySensor(i + 2).dw;
|
||||||
@ -4777,19 +4807,17 @@ void Sub3Judge20Comm::Judge_YueJi_JiaJianDang()
|
|||||||
int dw_i8 = m_car->historySensor(i + 8).dw;
|
int dw_i8 = m_car->historySensor(i + 8).dw;
|
||||||
int dw_i9 = m_car->historySensor(i + 9).dw;
|
int dw_i9 = m_car->historySensor(i + 9).dw;
|
||||||
|
|
||||||
if(sori.dw == 9) break;
|
if(dw_i0 == 9) break;
|
||||||
if(hisi->move != moveForward) break;
|
if(hisi->move != moveForward) break;
|
||||||
if(sori.dw < sor.dw && sori.lhq == SNOT) break;
|
if(dw_i0 < sor.dw && sori.lhq == SNOT) break;
|
||||||
if(sori.dw - 1 == sor.dw && sori.lhq == SNOT) break;
|
if(dw_i0 - 1 == sor.dw && sori.lhq == SNOT) break;
|
||||||
|
|
||||||
if(sori.dw > sor.dw && dw_i1 == sori.dw
|
if(dw_i0 > sor.dw && dw_i0 > 0 &&
|
||||||
&& dw_i2 == sori.dw && dw_i3 == sori.dw
|
dw_i1 == dw_i0 && dw_i2 == dw_i0 && dw_i3 == dw_i0 &&
|
||||||
&& dw_i4 == sori.dw && dw_i5 == sori.dw
|
dw_i4 == dw_i0 && dw_i5 == dw_i0 && dw_i6 == dw_i0 &&
|
||||||
&& dw_i6 == sori.dw && dw_i7 == sori.dw
|
dw_i7 == dw_i0 && dw_i8 == dw_i0 && dw_i9 == dw_i0)
|
||||||
&& dw_i8 == sori.dw && dw_i9 == sori.dw
|
|
||||||
&& sori.dw > 0)
|
|
||||||
{
|
{
|
||||||
if((sori.dw - sor.dw) > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
if(dw_i0 - sor.dw > 1 && m_itemvCJH.yjjdkfjs != hisi->tkCnt)
|
||||||
{
|
{
|
||||||
bool FindFlag = false;
|
bool FindFlag = false;
|
||||||
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
if(ksdd == siteof::JXNC || m_itemvCJH.qcyjjdkf == 1)
|
||||||
|
|||||||
@ -1,15 +1,14 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
MIICFTCCAZugAwIBAgIILMaFkNm3ERAwCgYIKoZIzj0EAwMwYzELMAkGA1UEBhMC
|
MIICFTCCAZugAwIBAgIIDwIlwC9KCAgwCgYIKoZIzj0EAwMwYzELMAkGA1UEBhMC
|
||||||
Q04xFDASBgNVBAoTC09wZW5IYXJtb255MRkwFwYDVQQLExBPcGVuSGFybW9ueSBU
|
Q04xFDASBgNVBAoTC09wZW5IYXJtb255MRkwFwYDVQQLExBPcGVuSGFybW9ueSBU
|
||||||
ZWFtMSMwIQYDVQQDExpPcGVuSGFybW9ueSBBcHBsaWNhdGlvbiBDQTAeFw0yNTAz
|
ZWFtMSMwIQYDVQQDExpPcGVuSGFybW9ueSBBcHBsaWNhdGlvbiBDQTAeFw0yNTAz
|
||||||
MjUwMjAxNTRaFw0zNTAzMjMwMjAxNTRaMEoxFTATBgNVBAMMDGlkZV9kZW1vX2Fw
|
MjcwMTM0MzFaFw0zNTAzMjUwMTM0MzFaMEoxFTATBgNVBAMMDGlkZV9kZW1vX2Fw
|
||||||
cDENMAsGA1UECxMEVW5pdDEVMBMGA1UEChMMT3JnYW5pemF0aW9uMQswCQYDVQQG
|
cDENMAsGA1UECxMEVW5pdDEVMBMGA1UEChMMT3JnYW5pemF0aW9uMQswCQYDVQQG
|
||||||
EwJDTjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABG6rysrqoOf2+cP4SYL6gOAW
|
EwJDTjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABOFM709v5dpRw1u42nrUPbxe
|
||||||
Tcr0/W2q4vG2HuBm/pXUL4PA6sPtHLGhaQSmj10YTyetLBGx1/dqFyEYwyvZ2bqj
|
UZ2iCXWEgpO3ySIfLdm+t5b23QqTp5cSPu1faM9Exy6PqxaO2zzGFt2Eb3AKqLyj
|
||||||
UjBQMB0GA1UdDgQWBBRbwVqb1UxZNU2Zo0gag/hDmnwhgDAOBgNVHQ8BAf8EBAMC
|
UjBQMB0GA1UdDgQWBBSubxhAdyUr8mSVCpjOak70J/8yoTAOBgNVHQ8BAf8EBAMC
|
||||||
B4AwHwYDVR0jBBgwFoAU24a3IhbVC6FLt90le7nxBX2iLUcwCgYIKoZIzj0EAwMD
|
B4AwHwYDVR0jBBgwFoAU24a3IhbVC6FLt90le7nxBX2iLUcwCgYIKoZIzj0EAwMD
|
||||||
aAAwZQIwWDPoHq6xG4pZRrwo+fXDVPUtLySiRw5fCQyrTo4SLA2ydg2P34zRMOen
|
aAAwZQIwevtGwM7A4Cj5foXfOCAV8RU0o3NAKBIxXIWbnk2h+BPiwHRvV9BvHv+T
|
||||||
zEbobqKGAjEAmoxrQAZlBhAtrs9skI+6c2Cf1PazBb2HeZDpPyyE5RRK0CgxiZh0
|
k4Qssp04AjEAwPaguX2Iu6DY8Y+u0lq1gEc62lnSjzAHDr7SItcAOjHd0IWwubpK
|
||||||
Auju0akp9ooB
|
JD1PtKpp/POt
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
FD1F7A14FAB136A9A68ABECE1E0612B148E3A2FB5A8CEA31C2FAC26C54452665
|
|
||||||
Loading…
x
Reference in New Issue
Block a user