diff --git a/entry/src/main/cpp/sdk/exam/ExamCarSub3.h b/entry/src/main/cpp/sdk/exam/ExamCarSub3.h index 49c93e37..12e3e169 100644 --- a/entry/src/main/cpp/sdk/exam/ExamCarSub3.h +++ b/entry/src/main/cpp/sdk/exam/ExamCarSub3.h @@ -174,7 +174,7 @@ private: bool yjdg_road_code_kf = false; int Pub_JSC_JL = 0; - bool PubCanJudge_XiHuoFlag = false; + bool PubCanJudge_XiHuoFlag = true; //注意初始必须是true int PubKaoBianTCFinish_LJJL = 0; //bool FinishKM3Flag = false; diff --git a/entry/src/main/cpp/sdk/exam/IExamCar.h b/entry/src/main/cpp/sdk/exam/IExamCar.h index 0242c19a..d8a369e4 100644 --- a/entry/src/main/cpp/sdk/exam/IExamCar.h +++ b/entry/src/main/cpp/sdk/exam/IExamCar.h @@ -140,8 +140,8 @@ protected: ExamState m_examState = examStateEnd; //考试状态 std::string m_message = ""; //记录评判相关的一些显示信息,这些信息很重要,比如:直角转弯,未行驶到转弯处 - int m_disForward = 0; //累计前进距离(单位厘米) - int m_disBackward= 0; //累计倒车距离(单位厘米) + int m_disForward = 0; //累计前进距离(单位厘米) 老的代码里也叫累计距离, 行驶距离=累计距离-倒车距离 + int m_disBackward= 0; //累计倒车距离(单位厘米) 老的代码里也叫倒车距离 int m_grade = 0; //当前得分 int m_gradePass = 0; //考试及格分数 diff --git a/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge10Ccxx.cpp b/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge10Ccxx.cpp index 968c4da5..74ba97c6 100644 --- a/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge10Ccxx.cpp +++ b/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge10Ccxx.cpp @@ -289,7 +289,7 @@ void Sub3Judge10Ccxx::dealJudgeItem() //5:回原车道阶段 6:完成回原车道阶段 if(m_itemv.Status == 2) { - if(sor.lb == 1) + if(sor.lb == SYES) { m_itemv.Temp_LaBa_Flag = true; } diff --git a/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge20Comm.cpp b/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge20Comm.cpp index dbaa9f6f..a03f6bbb 100644 --- a/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge20Comm.cpp +++ b/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge20Comm.cpp @@ -749,6 +749,16 @@ void Sub3Judge20Comm::CallMoNiDengGuang() return; } + TKM3Item* item41 = m_car->findExamItem(Sub3ItemType41Mndg); + if(item41 == nullptr) //有可能免考,可能没这个项目 + { + return; + } + if(item41->Item_Color != itemStateWk) //正在考或者已经考过了 + { + return; + } + const TChuanGan* cg = m_car->historyChuanGan(); const TSensorInfo& sor = cg->real.sensor; const TChuanGan* his1 = m_car->historyChuanGan(1); @@ -764,11 +774,11 @@ void Sub3Judge20Comm::CallMoNiDengGuang() TCar* tcar = m_car->getTCar(); if((sor.fdjzs > 100 && sor1.fdjzs > 100 && sor2.fdjzs > 100 && sor3.fdjzs > 100) || - (Tools::pos("江淮电动", tcar->CarTypeName) && sor.dh1 == SYES) || + (Tools::pos(XCharacter("江淮电动"), tcar->CarTypeName) && sor.dh1 == SYES) || (s386 == "5" && sor.dh1 == SYES) || (sor.aqd == SYES && sor1.aqd == SYES && s386 == "6") ) //20170314 训练模式 只要有dh1就可以进行模拟灯光 { - //关闭灯光 20180809 + //关闭灯光 20180809 if((s322 != "1") && (sor.shtd + sor.skd + sor.ygd + sor.jgd + sor.zfxd + sor.yfxd > 0 || ksdd == siteof::nj)) { if(!m_itemvCJH.Gbdg_ID) @@ -776,7 +786,7 @@ void Sub3Judge20Comm::CallMoNiDengGuang() m_itemvCJH.Gbdg_ID = true; //ToDo:语音提示:请关闭所有灯光 m_itemvCJH.Gbdg_SndTk = cg->tkCnt; - //m_car->createEventSound({Sub3ItemType41Mndg, sound::sub3_4170015}); + m_car->createEventSound({Sub3ItemType41Mndg, sound::sub3_417001}); } if(m_itemvCJH.Gbdg_SndTk > 0 && m_itemvCJH.Gbdg_Kfyy == 0) { @@ -794,7 +804,6 @@ void Sub3Judge20Comm::CallMoNiDengGuang() if(sor.shtd + sor.skd + sor.ygd + sor.jgd == 0) { //开始模拟灯光 - TKM3Item* item41 = m_car->findExamItem(Sub3ItemType41Mndg); if(item41 && item41->Item_Color == itemStateWk) //有可能免考,可能没这个项目 { item41->Item_Color = itemStateZk; @@ -819,7 +828,6 @@ void Sub3Judge20Comm::CallMoNiDengGuang() } //开始模拟灯光 - TKM3Item* item41 = m_car->findExamItem(Sub3ItemType41Mndg); if(item41 && item41->Item_Color == itemStateWk) //有可能免考,可能没这个项目 { item41->Item_Color = itemStateZk; @@ -832,7 +840,6 @@ void Sub3Judge20Comm::CallMoNiDengGuang() else { //开始模拟灯光 - TKM3Item* item41 = m_car->findExamItem(Sub3ItemType41Mndg); if(item41 && item41->Item_Color == itemStateWk) { item41->Item_Color = itemStateZk; @@ -1927,18 +1934,14 @@ void Sub3Judge20Comm::Judge_QiBu_FXD_LaBa() //可以多次触发起步,但是起步方向灯,全程只评判一次 if(m_Pub_First_QiBu_Flag == true) return; m_Pub_First_QiBu_Flag = true; - bool FindFlag = false; - if(sor.zfxd == SYES && sor.yfxd == SNOT) - { - FindFlag = true; - } + bool FindFlag = (sor.zfxd == SYES && sor.yfxd == SNOT); if(!FindFlag) { for(int i = 1; i < 50; i++) { const TChuanGan* hisi = m_car->historyChuanGan(i); - const TSensorInfo& sori = hisi->real.sensor; if(hisi == nullptr) break; + const TSensorInfo& sori = hisi->real.sensor; if(hisi->move == moveStop) { if(sori.zfxd == SYES && sori.yfxd == SNOT) @@ -1957,9 +1960,10 @@ void Sub3Judge20Comm::Judge_QiBu_FXD_LaBa() { //看方向灯是否小于3秒 int OKNum = 0; - for(int i = 1; i < 50 ; i++) + for(int i = 1; i < 50; i++) { const TChuanGan* hisi = m_car->historyChuanGan(i); + if(hisi == nullptr) break; const TSensorInfo& sori = hisi->real.sensor; if(hisi->move == moveStop) { @@ -1976,34 +1980,27 @@ void Sub3Judge20Comm::Judge_QiBu_FXD_LaBa() } //起步喇叭评判 - // { - // FindFlag = false; - // if(sor.lb == SYES) - // { - // FindFlag = true; - // } - // if(! FindFlag) - // { - // for(int i = 1; i < 100 ; i++) - // { - // const TChuanGan* hisi = m_car->historyChuanGan(i); - // const TSensorInfo& sori = hisi->real.sensor; - // if(hisi->move == moveStop) - // { - // if(sori.lb == SYES) - // { - // FindFlag = true; - // break; - // } - // } - // } - // } - // if(!FindFlag) - // { - // JUDGE_MARK_SUB3(2, "102", false, true); - // } - // } - + FindFlag = (sor.lb == SYES); + if(!FindFlag) + { + for(int i = 1; i < 100 ; i++) + { + const TChuanGan* hisi = m_car->historyChuanGan(i); + const TSensorInfo& sori = hisi->real.sensor; + if(hisi->move == moveStop) + { + if(sori.lb == SYES) + { + FindFlag = true; + break; + } + } + } + } + if(!FindFlag) + { + JUDGE_MARK_SUB3(2, "102", false, true); + } } } @@ -2176,7 +2173,6 @@ bool Sub3Judge20Comm::Is_Lxbd_New2() const TChuanGan* cg = m_car->historyChuanGan(); const TRTKResult& RTKKM3 = cg->RTKKM3; - const TChuanGan* his1 = m_car->historyChuanGan(1); const TRTKResult& RTKKM3_1 = his1->RTKKM3; @@ -2219,7 +2215,6 @@ bool Sub3Judge20Comm::Is_Lxbd_New2() const TSensorInfo& sor_a = his_a->real.sensor; const TGpsInfo& gps_a = his_a->real.gps; const TRTKResult& RTKKM3_a = his_a->RTKKM3; - const TRTKResult& RTKKM3_b = his_b->RTKKM3; if(m_car->rtkEnabled(a)) @@ -2968,7 +2963,7 @@ void Sub3Judge20Comm::Judge_BianDaoFangXiangDeng2() if(RTKKM3.TouchLineType == TRTKResult::TouchLineType2 && RTKKM3_1.TouchLineType == TRTKResult::TouchLineType2 && - RTKKM3_2.TouchLineType == 0 && RTKKM3_2.BasePointInLaneNo != 0 && + RTKKM3_2.TouchLineType == TRTKResult::TouchLineType0 && RTKKM3_2.BasePointInLaneNo != 0 && RTKKM3.FrontPointLaneCount == RTKKM3_1.FrontPointLaneCount && RTKKM3_1.FrontPointLaneCount == RTKKM3_2.FrontPointLaneCount) diff --git a/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge20Comm.h b/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge20Comm.h index 9aeeb49c..95454fbf 100644 --- a/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge20Comm.h +++ b/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge20Comm.h @@ -213,7 +213,7 @@ private: Pointi m_PubLCTCPtt; double m_PubLCTC_GPS_JD = 0.0; double m_PubLCTC_GPS_WD = 0.0; - bool m_PubCanMarkLC50Flag = true; + bool m_PubCanMarkLC50Flag = true; //注意初始必须是true bool m_Pub_First_QiBu_Flag = false; //int Pub_JSC_JL = 0; //in car diff --git a/entry/src/main/cpp/toolkit/ui/MainWindow.ui b/entry/src/main/cpp/toolkit/ui/MainWindow.ui index ba3e16e8..992d01d5 100644 --- a/entry/src/main/cpp/toolkit/ui/MainWindow.ui +++ b/entry/src/main/cpp/toolkit/ui/MainWindow.ui @@ -2503,7 +2503,7 @@ QSlider::sub-page:horizontal 410 500 - 91 + 121 16 @@ -2514,7 +2514,7 @@ QSlider::sub-page:horizontal - 510 + 530 500 91 16 @@ -2540,9 +2540,9 @@ QSlider::sub-page:horizontal - 610 + 630 500 - 91 + 81 16 @@ -2553,7 +2553,7 @@ QSlider::sub-page:horizontal - 510 + 530 517 91 16 @@ -2566,9 +2566,9 @@ QSlider::sub-page:horizontal - 610 + 630 517 - 91 + 81 16 diff --git a/entry/src/main/ets/pages/Judge.ets b/entry/src/main/ets/pages/Judge.ets index fd74671c..fc8fe911 100644 --- a/entry/src/main/ets/pages/Judge.ets +++ b/entry/src/main/ets/pages/Judge.ets @@ -122,7 +122,6 @@ struct Index { markreal:mark.markreal * 1, markserial:mark.markserial, kfxh:mark.kfxh, - //TODO 科目三评判新参数 OnlyOneKind:mark.onlyoneid * 1, NoCancelId:mark.nocancelid * 1, GPS_SID:mark.gps_sid == 0 ? false : true @@ -160,7 +159,6 @@ struct Index { name: decodeURI(sys.v_name) }) } - this.judgeConfigObj[sys.v_no] = value }); this.judgeConfig = judgeConfig; @@ -232,7 +230,6 @@ struct Index { } const {no1,no2,no3,} = systemParm; - this.systemparmArr.push({ 'NO1':no1*1,'NO2':no2*1,'NO3':no3*1, 'TXT1':decodeURIComponent(systemParm.txt1), @@ -257,7 +254,6 @@ struct Index { this.examMileage = decodeURI(systemParm.txt1) } }) - const projects = this.projects; if (!projects.length) { prompt.showToast({ @@ -396,7 +392,6 @@ struct Index { const strArr = str.split('\n'); const [initData,beginData] = [strArr[0],strArr[1]]; const initDataObj = JSON.parse(initData) - examSubject == 2 ? await this.initSystemKm2Param() : await this.initSystemKm3Param(initDataObj.systemparm) @@ -818,7 +813,7 @@ struct Index { @State startFullTime: string = '' @State startHourTime: string = '' //科目类型 - @State examSubject: 2 | 3 = 2; + @State examSubject: 2 | 3 = 3; @State ddxkTime: number = 0; @State ddxkKsxmArr: string[] = [''] @State ddxkKfArr: string[] = [''] diff --git a/entry/src/main/ets/pages/judgeSDK/utils/judge-config.ts b/entry/src/main/ets/pages/judgeSDK/utils/judge-config.ts index a23c68cf..91d6bd62 100644 --- a/entry/src/main/ets/pages/judgeSDK/utils/judge-config.ts +++ b/entry/src/main/ets/pages/judgeSDK/utils/judge-config.ts @@ -8,7 +8,7 @@ export const judgeConfig = { udpOpen:false, // 本地模型地址 modelPath: 'models/model_enc', - trajectoryPath: 'logs/2024_05_14/0000000000001_342323199501470011_测试学员1_2024_05_14_11_28_31/judge_exam_data.txt' + trajectoryPath: 'logs/2024_05_15/0000000000001_342323199501470011_测试学员1_2024_05_15_15_30_23/judge_exam_data.txt' } //0000000000001_342323199501470011_测试学员1_2024_04_28_10_59_44 @@ -17,7 +17,6 @@ export const judgeConfig = { // 济南轨迹回放 // test_sub3_car_test_jinan-32038219990808021X-20240322173643.txt - // test_sub3_car_test_jinan-32038219990808021X-20240322173643.track // 2024_01_24_11_30_06_2210707689316_620502199005070478_马鸣五 // 2024_01_24_10_25_41_2231212226990_330184200208281821_金晓婷 \ No newline at end of file