feat:评判更新

This commit is contained in:
Surenjun 2024-05-17 16:34:52 +08:00
parent ed0858a5c0
commit ef94029967
8 changed files with 53 additions and 64 deletions

View File

@ -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;

View File

@ -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; //考试及格分数

View File

@ -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;
}

View File

@ -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)

View File

@ -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

View File

@ -2503,7 +2503,7 @@ QSlider::sub-page:horizontal
<rect>
<x>410</x>
<y>500</y>
<width>91</width>
<width>121</width>
<height>16</height>
</rect>
</property>
@ -2514,7 +2514,7 @@ QSlider::sub-page:horizontal
<widget class="QLabel" name="ShapeNo">
<property name="geometry">
<rect>
<x>510</x>
<x>530</x>
<y>500</y>
<width>91</width>
<height>16</height>
@ -2540,9 +2540,9 @@ QSlider::sub-page:horizontal
<widget class="QLabel" name="InShapeAttr">
<property name="geometry">
<rect>
<x>610</x>
<x>630</x>
<y>500</y>
<width>91</width>
<width>81</width>
<height>16</height>
</rect>
</property>
@ -2553,7 +2553,7 @@ QSlider::sub-page:horizontal
<widget class="QLabel" name="CurItem">
<property name="geometry">
<rect>
<x>510</x>
<x>530</x>
<y>517</y>
<width>91</width>
<height>16</height>
@ -2566,9 +2566,9 @@ QSlider::sub-page:horizontal
<widget class="QLabel" name="CurItemIndex">
<property name="geometry">
<rect>
<x>610</x>
<x>630</x>
<y>517</y>
<width>91</width>
<width>81</width>
<height>16</height>
</rect>
</property>

View File

@ -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[] = ['']

View File

@ -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_金晓婷