Merge remote-tracking branch 'origin/feat_surenjun' into feat_surenjun
This commit is contained in:
		
						commit
						3d5bba8022
					
				| @ -2346,7 +2346,6 @@ void ExamCarSub3::Calc_CarPosMeshList(int width, int height) | ||||
|     double scale = VIEW_SCALE * m_graphic->scale() / 100.0; | ||||
|     static constexpr int scaling = MESH_SCALE; | ||||
| 
 | ||||
|     m_carPosMeshList.clear(); //SetLength(CarPosMeshList, 0);
 | ||||
|     //1、真实GPS数据缩小5倍,画图区域放大5倍
 | ||||
|     //以考车基准点位置为中心,框出4个区域(把考车基准点当成正方形的中心点)
 | ||||
| 
 | ||||
| @ -2389,6 +2388,7 @@ void ExamCarSub3::Calc_CarPosMeshList(int width, int height) | ||||
| 
 | ||||
|     //找到显示区域对应的原始网格的索引
 | ||||
|     //这个代码比较难理解,慢慢理解。
 | ||||
|     m_carPosMeshList.clear(); //SetLength(CarPosMeshList, 0);
 | ||||
|     m_carPosMeshList.resize(widthCn * heightCn); //SetLength(CarPosMeshList, (WidthCn) * (HeightCn));
 | ||||
|     for(int i = 0; i < widthCn; i++) | ||||
|     { | ||||
|  | ||||
| @ -49,8 +49,8 @@ public:  //for IExamCarSub3 override | ||||
| 
 | ||||
|     virtual TCar*      getTCar()       override { return &m_car; } | ||||
|     virtual TTestCtl*  getTTestCtl()   override { return &m_ctl; } | ||||
|     virtual int        lastCrossPtNo() override { return PubLastChuanYuePtNo; } | ||||
| 
 | ||||
|     virtual int        lastCrossPtNo() override { return PubLastChuanYuePtNo; } | ||||
|     virtual void       setPUB_JDCC_ZT(int v)  override { PUB_JDCC_ZT = v;} | ||||
|     virtual int        getPUB_JDCC_ZT() const override { return PUB_JDCC_ZT;} | ||||
|     virtual void       setChaoChe_Start_TM(int64 v) override { ChaoChe_Start_TM = v;} | ||||
|  | ||||
| @ -224,13 +224,11 @@ void Sub3Judge12Ptdt::dealJudgeItem() | ||||
|     double a = std::abs(gps.hxj - m_itemv.CS_GPS_D); | ||||
|     double b = std::abs(gps5.hxj- m_itemv.CS_GPS_D); | ||||
|     //528:掉头N米内不判连续变道和方向灯
 | ||||
|     int NJ_DiaoTou_JL = m_car->getNJ_DiaoTou_JL(); | ||||
|     if(NJ_DiaoTou_JL == 0 && TableSysSet->asInt528() > 0) | ||||
|     if(m_car->getNJ_DiaoTou_JL() == 0 && TableSysSet->asInt528() > 0) | ||||
|     { | ||||
|         if(a > 90 && a < 270 && b > 90 && b < 270) | ||||
|         { | ||||
|             NJ_DiaoTou_JL = cg->ai_ljjl; | ||||
|             m_car->setNJ_DiaoTou_JL(NJ_DiaoTou_JL); | ||||
|             m_car->setNJ_DiaoTou_JL(cg->ai_ljjl); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -2044,7 +2044,7 @@ bool Sub3Judge20Comm::Is_Lxbd_New() | ||||
|             if(hisi == nullptr) break; | ||||
|             const TGpsInfo& gpsi = hisi->real.gps; | ||||
|             const TRTKResult& RTKKM3_i = hisi->RTKKM3; | ||||
|             if(SecondsBetween(gps.sj, gpsi.sj) > 10) break; | ||||
|             if(SecondsBetween(gps.sj, gpsi.sj) > m_LaneChangeTime) break; | ||||
|             int TempCheDaoHao = RTKKM3_i.BasePointInLaneNo; | ||||
|             if(TempCheDaoHao == 0)  continue; | ||||
|             if(TempCheDaoHao != LS1CheDaoHao && TempCheDaoHao != CurrentCheDaoHao) | ||||
| @ -2070,8 +2070,8 @@ bool Sub3Judge20Comm::Is_Lxbd_New() | ||||
|                 const TRTKResult& RTKKM3_i1 = hisi1->RTKKM3; | ||||
|                 const TRTKResult& RTKKM3_i2 = hisi2->RTKKM3; | ||||
| 
 | ||||
|                 if(SecondsBetween(gps.sj, gpsi1.sj) > 10) break; | ||||
|                 if(SecondsBetween(gps.sj, gpsi2.sj) > 10) break; | ||||
|                 if(SecondsBetween(gps.sj, gpsi1.sj) > m_LaneChangeTime) break; | ||||
|                 if(SecondsBetween(gps.sj, gpsi2.sj) > m_LaneChangeTime) break; | ||||
|                 //假如当前是b-->a,也就是说   LS1CheDaoHao=b  CurrentCheDaoHao=a
 | ||||
|                 //追溯历史,需要监测到  a->b
 | ||||
|                 if(RTKKM3_i2.BasePointInLaneNo == CurrentCheDaoHao && RTKKM3_i1.BasePointInLaneNo == LS1CheDaoHao) | ||||
| @ -2112,18 +2112,17 @@ bool Sub3Judge20Comm::Is_Lxbd_New() | ||||
|                 const TSensorInfo& sori = hisi->real.sensor; | ||||
|                 const TRTKResult& RTKKM3_i = hisi->RTKKM3; | ||||
| 
 | ||||
|                 if(LSFXDLeftFlag == true && (sori.zfxd == SNOT || sori.yfxd == SYES))  break; | ||||
|                 if(LSFXDRightFlag == true && (sori.zfxd == SYES ||sori.yfxd == SNOT))  break; | ||||
|                 if(LSFXDLeftFlag == true &&  (sori.zfxd == SNOT || sori.yfxd == SYES))  break; | ||||
|                 if(LSFXDRightFlag == true && (sori.zfxd == SYES || sori.yfxd == SNOT))  break; | ||||
|                 int TempCheDaoHao = RTKKM3_i.BasePointInLaneNo; | ||||
|                 if(TempCheDaoHao == 0)  continue; | ||||
|                 if(TempCheDaoHao != LS1CheDaoHao && TempCheDaoHao!= CurrentCheDaoHao) | ||||
|                 if(TempCheDaoHao != LS1CheDaoHao && TempCheDaoHao != CurrentCheDaoHao) | ||||
|                 { | ||||
|                     FindFlag2 = true; | ||||
|                     break; | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             TTestCtl* ctl = m_car->getTTestCtl(); | ||||
|             //2、兼容aba
 | ||||
|             if(ctl->LianXuBianDaoKind == 1)  //允许aba方式
 | ||||
|             { | ||||
| @ -2179,6 +2178,7 @@ bool Sub3Judge20Comm::Is_Lxbd_New2() | ||||
|     const std::string& ksdd = TableSysSet->get211(); | ||||
| 
 | ||||
|     TTestCtl* ctl = m_car->getTTestCtl(); | ||||
|     bool bYx = false; //20180604  是否压过线值
 | ||||
|     //变道一瞬间
 | ||||
|     if(RTKKM3.BasePointInLaneNo > 0 && RTKKM3_1.BasePointInLaneNo > 0 && | ||||
|             RTKKM3.BasePointInLaneNo != RTKKM3_1.BasePointInLaneNo && | ||||
| @ -2190,7 +2190,7 @@ bool Sub3Judge20Comm::Is_Lxbd_New2() | ||||
|             return false; | ||||
|         } | ||||
|         //20170
 | ||||
|         int zjcdtlsj = 10; // strtoint(readiniparam('连续变道', 'zjcdtlsj', '5'));
 | ||||
|         const int zjcdtlsj = m_LaneChangeTime; // strtoint(readiniparam('连续变道', 'zjcdtlsj', '5'));
 | ||||
|         int Ora_Chedao = RTKKM3.BasePointInLaneNo; //原始车道
 | ||||
|         bool Fxd_HwID = false; //方向灯回位标
 | ||||
|         //c := cg.tkCnt;
 | ||||
| @ -2230,7 +2230,6 @@ bool Sub3Judge20Comm::Is_Lxbd_New2() | ||||
|                 { | ||||
|                     return false; | ||||
|                 } | ||||
|                 bool bYx = false; //20180604  是否压过线值
 | ||||
|                 //LS压线,当前不压线了(相当于历史记录中,再次找到了一次变道记录)
 | ||||
|                 if(RTKKM3_a.TouchLineType == TRTKResult::TouchLineType0 && | ||||
|                         RTKKM3_b.TouchLineType != TRTKResult::TouchLineType0) | ||||
| @ -2328,6 +2327,68 @@ bool Sub3Judge20Comm::Is_Lxbd_New2() | ||||
|     return false; | ||||
| } | ||||
| 
 | ||||
| bool Sub3Judge20Comm::Is_Lxbd_New3() | ||||
| { | ||||
|     const TChuanGan* cg = m_car->historyChuanGan(); | ||||
|     const TGpsInfo& gps = cg->real.gps; | ||||
|     const TRTKResult& RTKKM3 = cg->RTKKM3; | ||||
| 
 | ||||
|     const TChuanGan* his1 = m_car->historyChuanGan(1); | ||||
|     const TRTKResult& RTKKM3_1 = his1->RTKKM3; | ||||
| 
 | ||||
|     //1)10秒内,变化了2个或以上的车道
 | ||||
|     //2)同一个方向灯,不关闭(变了2次或以上车道)
 | ||||
|     //变道一瞬间
 | ||||
|     //1、只考虑那种车道总数不发生变化的
 | ||||
|     //2、基准点所在的车道号发生变化了
 | ||||
|     if(RTKKM3.BasePointInLaneNo > 0 && RTKKM3_1.BasePointInLaneNo > 0 && | ||||
|             RTKKM3.BasePointInLaneNo != RTKKM3_1.BasePointInLaneNo && | ||||
|             RTKKM3.BaseLaneCount == RTKKM3_1.BaseLaneCount) | ||||
|     { | ||||
|          | ||||
|         int cnt = 0; | ||||
|         int LaneNo = RTKKM3.BasePointInLaneNo; | ||||
|         for(int i = 1; i < 900; i++) //如果你的队列长队是500,那么把这个值改成500
 | ||||
|         { | ||||
|             const TChuanGan* hisi = m_car->historyChuanGan(i); | ||||
|             if(hisi == nullptr) | ||||
|             { | ||||
|                 break; | ||||
|             } | ||||
| 
 | ||||
|             const TRTKResult& RTKKM3_i = hisi->RTKKM3; | ||||
|             const TSensorInfo& sori = hisi->real.sensor; | ||||
|             const TGpsInfo& gpsi = hisi->real.gps; | ||||
| 
 | ||||
|             if(SecondsBetween(gps.sj, gpsi.sj) > m_LaneChangeTime) | ||||
|             { | ||||
|                 break; | ||||
|             } | ||||
|             if(RTKKM3.BaseLaneCount != RTKKM3_i.BaseLaneCount) | ||||
|             { | ||||
|                 break; | ||||
|             } | ||||
|             if(LaneNo != RTKKM3_i.BasePointInLaneNo) | ||||
|             { | ||||
|                 LaneNo = RTKKM3_i.BasePointInLaneNo; | ||||
|                 cnt++; | ||||
|             } | ||||
| 
 | ||||
|             bool Fxd_HwID = false; | ||||
|             if(sori.zfxd == SNOT && sori.yfxd == SNOT) | ||||
|             { | ||||
|                 Fxd_HwID = true; | ||||
|             } | ||||
| 
 | ||||
|             if(!Fxd_HwID && cnt >= 2) | ||||
|             { | ||||
|                 return true; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| 
 | ||||
| //7、连续变更两条以上车道
 | ||||
| void Sub3Judge20Comm::Judge_LianXuBianDao() | ||||
| { | ||||
| @ -2373,7 +2434,7 @@ void Sub3Judge20Comm::Judge_LianXuBianDao() | ||||
|     { | ||||
|         return; | ||||
|     } | ||||
|     NJ_DiaoTou_JL = 0; | ||||
|     m_car->setNJ_DiaoTou_JL(0); | ||||
|     if(m_car->rtkEnabled() && m_car->rtkEnabled(1)) | ||||
|     { | ||||
|         //连续变更车道方式(格式: 0^0):第一个数字0:abc方式 1:aba/abc方式;
 | ||||
| @ -2384,7 +2445,7 @@ void Sub3Judge20Comm::Judge_LianXuBianDao() | ||||
|             { | ||||
|                 if(Is_Lxbd_New2() == true) | ||||
|                 { | ||||
|                     JUDGE_MARK_SUB3(20, "89", true); | ||||
|                     JUDGE_MARK_SUB3(20, "89", false); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @ -2392,7 +2453,7 @@ void Sub3Judge20Comm::Judge_LianXuBianDao() | ||||
|         { | ||||
|             if(Is_Lxbd_New2() == true) | ||||
|             { | ||||
|                 JUDGE_MARK_SUB3(20, "89", true); | ||||
|                 JUDGE_MARK_SUB3(20, "89", false); | ||||
|             } | ||||
|         } | ||||
|         else | ||||
| @ -2403,7 +2464,7 @@ void Sub3Judge20Comm::Judge_LianXuBianDao() | ||||
|             { | ||||
|                 if(Is_Lxbd_New2() == true) | ||||
|                 { | ||||
|                     JUDGE_MARK_SUB3(20, "89", true); | ||||
|                     JUDGE_MARK_SUB3(20, "89", false); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @ -2809,14 +2870,13 @@ void Sub3Judge20Comm::Judge_BianDaoFangXiangDeng2() | ||||
| 
 | ||||
|     int s528 = TableSysSet->asInt528(); | ||||
|     int NJ_DiaoTou_JL = m_car->getNJ_DiaoTou_JL(); | ||||
| 
 | ||||
|     //SysSet[528]:掉头N米内不判连续变道和方向灯
 | ||||
|     if(NJ_DiaoTou_JL > 0 && s528 > 0 && cg->ai_ljjl - NJ_DiaoTou_JL < s528) | ||||
|     { | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         NJ_DiaoTou_JL = 0; | ||||
|         m_car->setNJ_DiaoTou_JL(0); | ||||
|         int Tag = 0; | ||||
|         //如果基准点所在车道数和保险杠所在的车道数不一致
 | ||||
|         if(RTKKM3.BaseLaneCount != RTKKM3.FrontPointLaneCount) | ||||
|  | ||||
| @ -130,13 +130,11 @@ protected: | ||||
|     //6、起步方向灯、喇叭
 | ||||
|     void Judge_QiBu_FXD_LaBa(); | ||||
| 
 | ||||
|     //7、连续变更两条以上车道
 | ||||
|     //7、连续变更两条以上车道 //重点
 | ||||
|     void Judge_LianXuBianDao(); | ||||
|     //(*XLG_Modify 2024-04-23*)
 | ||||
|     bool Is_Lxbd_New(); //是否是连续变道 //***没用到
 | ||||
|     //(*XLG_Modify 2024-04-24*)
 | ||||
|     //重点
 | ||||
|     bool Is_Lxbd_New2(); //是否是连续变道
 | ||||
|     bool Is_Lxbd_New(); //是否是连续变道 //徐连刚实现 ***暂时没用到
 | ||||
|     bool Is_Lxbd_New2(); //是否是连续变道  //老的实现
 | ||||
|     bool Is_Lxbd_New3(); //是否是连续变道  //杨海洋实现 ***暂时没用到
 | ||||
| 
 | ||||
|     //8、不能停止人行横道网格线内 //禁停评判
 | ||||
|     void Judge_ForbiddenTC(); | ||||
| @ -223,6 +221,9 @@ private: | ||||
|     int m_DiaoTou_ID = 0; | ||||
| 
 | ||||
|     int64 m_PubLastMark_XuXian_TK = 0; | ||||
| 
 | ||||
| 
 | ||||
|     const int m_LaneChangeTime = 10; //连续变道时间 单位秒  杨海洋增加
 | ||||
| }; | ||||
| 
 | ||||
| #endif // SUB3JUDGE20COMM_H
 | ||||
|  | ||||
| @ -1133,26 +1133,15 @@ struct TCarZsBl | ||||
|     int CarZsBMax = -1; | ||||
| }; | ||||
| 
 | ||||
| //TSub3CarCtl
 | ||||
| struct TCar | ||||
| { | ||||
|     TCar() { } | ||||
|     std::string CarNo = "1148"; //考车号
 | ||||
|     std::string CarBh; //考车编号 20170830
 | ||||
|     //std::string KSCX;  //考试车型
 | ||||
| 
 | ||||
|     std::string CarTypeName; //车型名称 大货
 | ||||
|     int CarTypeSystemParmNo = 0; //对应的考车名称代码
 | ||||
| 
 | ||||
|     int X_McH = 0; //百米脉冲值
 | ||||
|     int X_McH_Calc = 0; //通过GPS计算值
 | ||||
|     int LowGrade = 0; //合格成绩
 | ||||
|     int StartSpeed = 0; //起步档位
 | ||||
|     int AnQuanDai = 0; //安全带:0-不判 1-判保险带 2-气压
 | ||||
|     bool chemen = false; //车门:0-不判 1-判
 | ||||
|     int Stop_TC_ClrJZ = 0; //已停车,多少个plc周期(200MS)内无脉冲,则清除rec_QJ_LJMC,rec_HT_LJMC
 | ||||
|     int Stop_PanDuan = 0; //判断多少个plc周期(200MS)内无脉冲,则表示停车
 | ||||
|     int DeadDirect = 0; //打死方向的判断值
 | ||||
|     //MustTest_List: string; //必考项目列表
 | ||||
|     int Test_Sum = 0; //考试项目总数
 | ||||
|     bool AQD_QF = false; //安全带取反
 | ||||
|     bool LHQ_QF = false; //离合器取反
 | ||||
| @ -1162,57 +1151,16 @@ struct TCar | ||||
|     int XSJL = 0; //本次行驶距离限制
 | ||||
|     bool bFDJDS = false; //发动机怠速值是否是设置  20141112
 | ||||
|     int FDJDS = 0; //本车发动机怠速值
 | ||||
|     double fdjds_ddbl = 0.0, fdjds_ddbl_gd = 0.0 ; //抖动时发动机怠速比例    fdjds_ddbl_gd 高档怠速比例
 | ||||
|     double fdjds_cdbl = 0.0; //抖动时发动机闯动比例  20140904
 | ||||
|     double plc_cs_X = 0.0; //PLC的车速系数
 | ||||
|     int fxd3scs = 0; | ||||
| 
 | ||||
|     std::string ASize; //车型轮廓
 | ||||
|     int StopOffsetX = 0, StopOffsetY = 0; //起始
 | ||||
|     int StopInterval = 0; | ||||
|     int8 Gps_Dir_Type = 0; //不同GPS测向设备  0-无 1-诺瓦泰 2-天宝
 | ||||
|     double Gps_Init_JiaJiao; //GPS初始夹角
 | ||||
| 
 | ||||
|     int8 Night_Hr = 0, Night_Mi = 0; //夜间考试开始的 时/分
 | ||||
|     bool Night_ID = false; | ||||
|     std::string Lcinfo; //里程信息
 | ||||
| 
 | ||||
|     int8 PLC_CommNo = 0; | ||||
|     int8 Gps_CommNo = 0; | ||||
|     int8 Tly_CommNo = 0; | ||||
|     int8 Cdy_CommNo = 0; | ||||
|     int8 Dw_CommNo = 0; //20170420  挡位
 | ||||
|     int8 FuShaChe_CommNo = 0; //20170420  挡位
 | ||||
| 
 | ||||
|     int8 CSB13_CommNo = 0; //20171113  超声波
 | ||||
|     int8 CSB24_CommNo = 0; //20171113  超声波
 | ||||
| 
 | ||||
|     //{Add-LHQ 2016-5-25 牵引车}
 | ||||
|     int8 Gps_CommNo2 = 0; | ||||
|     int8 Gps_Dir_Type_t = 0; //不同GPS测向设备  0-无 1-诺瓦泰 2-天宝
 | ||||
|     double Gps_Init_JiaJiao_t = 0.0; //GPS初始夹角
 | ||||
|     //{-Add-LHQ 2016-5-25 牵引车}
 | ||||
| 
 | ||||
|     std::string Way_Name; | ||||
|     std::string Way_Next; | ||||
|     std::string Way_Item; | ||||
|     std::string Way_Next_ItemNos; //2,3  1-12*15,2-13,,13-14*15,
 | ||||
| 
 | ||||
|     int8 Km3_Next_Cnt = 0; | ||||
|     std::array<std::string, 100> Km3_Next_CurrItem; //array[1..100] of string[20];
 | ||||
|     std::array<std::string, 100> Km3_Next_NextList; //array[1..100] of string[20];
 | ||||
| 
 | ||||
|     std::string No_ItemSNO; | ||||
| 
 | ||||
|     std::string In_ItemSNO; //20160411  按线路进项目
 | ||||
|     std::array<int, 11> DwZsMax; //20140812 1:2000;2:1800;3:1500; 档位最高转速 //array[0..10] of integer;
 | ||||
| 
 | ||||
|     std::array<int, 11> DwZsMin; //20151109 1:2000;2:1800;3:1500; 档位最低转速 //array[0..10] of integer;
 | ||||
| 
 | ||||
|     std::array<int, 11> DwZsMaxCsj; //20140812 1:2000;2:1800;3:1500; 长时档位最高转速  20151029  array[0..10] of integer;
 | ||||
|     //DwZsBl: array[1..5] of TCarZsBl; //20141111 档位转速比
 | ||||
|     std::string ZxxsCs; //20150504  按车型的直线行驶参数
 | ||||
| 
 | ||||
|     //20150623
 | ||||
|     bool ZFXD_QF= false; //左方向灯取反
 | ||||
|     bool YFXD_QF= false; //右方向灯取反
 | ||||
| @ -1223,36 +1171,68 @@ struct TCar | ||||
|     bool SS_QF  = false; //手刹取反
 | ||||
|     bool MKG_QF = false; //门开关取反
 | ||||
|     bool FS_QF  = false; //副刹取反
 | ||||
|     bool YGQ_QF = false; //雨刮器取反  20160427
 | ||||
| 
 | ||||
|     double FDJZSXS = 0.0; //发动转速系数
 | ||||
| 
 | ||||
|     double Zdbpsfz = 0.0; //Z轴加速度阈值
 | ||||
| 
 | ||||
|     std::array<int, 4> Test_Sums; //大车三阶段考试项目总数  20150805  array[1..3] of Integer;
 | ||||
|     double Z_JSD_FZ = 0.0; //Z轴加速度阀值
 | ||||
|     int JJDXS = 0; //加减档限时 20161226
 | ||||
|     double zxxsfz = 0.0; //直线行驶阀值 20161230
 | ||||
|     bool bObdCs = false; //取OBD车速 20170331
 | ||||
|     bool bWDwcg = false; // 无挡位传感 20170508
 | ||||
| 
 | ||||
|     double QBCD = 0.0; //起步闯动  20170713
 | ||||
|     bool sznight = false; //20171008
 | ||||
|     int CSBType = 0; //20171113 超声波模式
 | ||||
|     std::string DC_YK_Must; //夜考项目 20180301
 | ||||
| 
 | ||||
|     std::string MFXX_KSXM;    //满分学习考试项目
 | ||||
|     std::string MFXX_Parm;    //满分学习参数
 | ||||
|     std::string DW_change; | ||||
| 
 | ||||
|     std::array<TCarZsBl, 7> DwZsBl; //20141111 档位转速比 档位转速比  array[1..5]
 | ||||
|     bool ZDB_Flag = false; | ||||
| }; | ||||
| 
 | ||||
| struct TDw_Cs_JL | ||||
| { | ||||
|     int   Ljjl = 0; | ||||
|     int64 LjSj = 0; //: Cardinal;
 | ||||
|     //********************以下目前没用到*******************
 | ||||
| 
 | ||||
|     std::string CarNo = "1148"; //考车号
 | ||||
|     std::string CarBh; //考车编号 20170830
 | ||||
|     //std::string KSCX;  //考试车型
 | ||||
|     int X_McH = 0; //百米脉冲值
 | ||||
|     int X_McH_Calc = 0; //通过GPS计算值
 | ||||
|     int LowGrade = 0; //合格成绩
 | ||||
|     bool chemen = false; //车门:0-不判 1-判
 | ||||
|     int Stop_TC_ClrJZ = 0; //已停车,多少个plc周期(200MS)内无脉冲,则清除rec_QJ_LJMC,rec_HT_LJMC
 | ||||
|     int Stop_PanDuan = 0; //判断多少个plc周期(200MS)内无脉冲,则表示停车
 | ||||
|     int DeadDirect = 0; //打死方向的判断值
 | ||||
|     //MustTest_List: string; //必考项目列表
 | ||||
|     double fdjds_ddbl = 0.0, fdjds_ddbl_gd = 0.0 ; //抖动时发动机怠速比例    fdjds_ddbl_gd 高档怠速比例
 | ||||
|     double fdjds_cdbl = 0.0; //抖动时发动机闯动比例  20140904
 | ||||
|     double plc_cs_X = 0.0; //PLC的车速系数
 | ||||
|     std::string ASize; //车型轮廓
 | ||||
|     int StopOffsetX = 0, StopOffsetY = 0; //起始
 | ||||
|     int StopInterval = 0; | ||||
|     int8 Gps_Dir_Type = 0; //不同GPS测向设备  0-无 1-诺瓦泰 2-天宝
 | ||||
|     double Gps_Init_JiaJiao; //GPS初始夹角
 | ||||
|     std::string Lcinfo; //里程信息
 | ||||
|     int8 PLC_CommNo = 0; | ||||
|     int8 Gps_CommNo = 0; | ||||
|     int8 Tly_CommNo = 0; | ||||
|     int8 Cdy_CommNo = 0; | ||||
|     int8 Dw_CommNo = 0; //20170420  挡位
 | ||||
|     int8 FuShaChe_CommNo = 0; //20170420  挡位
 | ||||
|     //{Add-LHQ 2016-5-25 牵引车}
 | ||||
|     int8 Gps_CommNo2 = 0; | ||||
|     int8 Gps_Dir_Type_t = 0; //不同GPS测向设备  0-无 1-诺瓦泰 2-天宝
 | ||||
|     double Gps_Init_JiaJiao_t = 0.0; //GPS初始夹角
 | ||||
|     //{-Add-LHQ 2016-5-25 牵引车}
 | ||||
|     std::string Way_Name; | ||||
|     std::string Way_Next; | ||||
|     std::string Way_Item; | ||||
|     std::string Way_Next_ItemNos; //2,3  1-12*15,2-13,,13-14*15,
 | ||||
|     int8 Km3_Next_Cnt = 0; | ||||
|     std::array<std::string, 100> Km3_Next_CurrItem; //array[1..100] of string[20];
 | ||||
|     std::array<std::string, 100> Km3_Next_NextList; //array[1..100] of string[20];
 | ||||
|     std::array<int, 11> DwZsMaxCsj; //20140812 1:2000;2:1800;3:1500; 长时档位最高转速  20151029  array[0..10] of integer;
 | ||||
|     //DwZsBl: array[1..5] of TCarZsBl; //20141111 档位转速比
 | ||||
|     bool YGQ_QF = false; //雨刮器取反  20160427
 | ||||
|     double zxxsfz = 0.0; //直线行驶阀值 20161230
 | ||||
|     bool bObdCs = false; //取OBD车速 20170331
 | ||||
|     bool sznight = false; //20171008
 | ||||
|     std::string DW_change; | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| struct TTestCtl | ||||
| @ -1261,45 +1241,37 @@ struct TTestCtl | ||||
|     bool ZXD_GuanBi = false; //转向灯关闭标记
 | ||||
|     std::set<ExamItemCode> PassedItem; //std::string PassedItem; //已考项目编号列表
 | ||||
|     int MaxR = 0, MinR = 0; //最大及最小GPS搜索范围CM
 | ||||
| 
 | ||||
|     int8 Gps_St = 0; //0-普通GPS  1-差分GPS共用串口2  2-差分GPS独立串口 3-差分GPS独立串口未打开 4-华测的设备GPGGA
 | ||||
|     int RtkOffset = 0; | ||||
| 
 | ||||
|     //std::string KSDD;
 | ||||
| 
 | ||||
|     bool IsPassItem14 = false; //加减挡拉是否考过 20170117
 | ||||
| 
 | ||||
|     int JianSuLeiXing = 0; //20171007减速类型
 | ||||
| 
 | ||||
|     int LianXuBianDaoKind = 0; //20171008 连续变更车道方式 0:abc 1:aba
 | ||||
|     int LianXuBianDaoKind = 0; //20171008 连续变更车道方式 0:abc 1:aba和abc都判
 | ||||
|     int LianXuBianDao_CC = 0; //连续变更车道在超车项目是否扣分
 | ||||
| 
 | ||||
|     int NanNingWavKind = 0; //南宁需求 公交、学校、人行语音 0:不需要 1:需要
 | ||||
| 
 | ||||
|     //上海个性需求定义
 | ||||
|     int tsxhsj=0, tsdhsj =0; //估计是:提示熄火时间、提示点火时间
 | ||||
| 
 | ||||
|     int tsxhsj = 0, tsdhsj = 0; //估计是:提示熄火时间、提示点火时间
 | ||||
|     std::string temp_336; //深圳个性需求
 | ||||
|     //挡位车速距离定义
 | ||||
|     struct TDw_Cs_JL { int Ljjl = 0; int64 LjSj = 0; }; | ||||
|     std::array<TDw_Cs_JL, 9> Dw_Cs_JL1, Dw_Cs_JL2; //: array[0..8] of TDw_Cs_JL;
 | ||||
|     std::array<TDw_Cs_JL, 9> Dw_Cs_JL; //: array[0..8] of TDw_Cs_JL;
 | ||||
|     bool Dw_Cs_Ok1 = false, Dw_Cs_Ok2 = false;//档位车速满足结束考试条件  Dw_Cs_Ok1=false and Dw_Cs_Ok2=false 扣多一点(sysset.308.1); Dw_Cs_Ok1=false and Dw_Cs_Ok2=true 扣少一点(sysset.308.2);Dw_Cs_Ok1=true 不扣分;
 | ||||
|     int dw_kf_sj = 0; //301评判时间,0-结束考试时评判,1-里程达标就评判 100-表示已评判过    20140630
 | ||||
|     int Cs_type = 0, Cs_JlYq1 = 0, Cs_JlYq2 = 0, Cs_Yq = 0; //400参数中的Cs_JlYq1为平均距离判扣分,Cs_JlYq2为保持车速的距离  Cs_Yq:要达到的车速,0表示不判  20140418  20180810
 | ||||
| 
 | ||||
|     //以下是环境感知相关的,暂不考虑
 | ||||
| 
 | ||||
|     //***以下是环境感知相关的,暂不考虑
 | ||||
|     int gz_aqjl = 0, gz_hxjl = 0, gz_jsjl = 0, gz_gchcjl = 0; //单位厘米
 | ||||
|     int gz_aqsj = 0; //单位秒
 | ||||
|     int gz_zawjl = 0; //障碍物距离阀值 20200525
 | ||||
|     int gz_dtfxjl = 0; //掉头反向车距离 单位厘米  20200529
 | ||||
|     bool b_gzpp = false, b_jsxw = false, b_gzvideo = false; | ||||
| 
 | ||||
|     //(*XLG_Add 2024-01-16*)
 | ||||
|     //挡位车速距离定义
 | ||||
|     std::array<TDw_Cs_JL, 9> Dw_Cs_JL1, Dw_Cs_JL2; //: array[0..8] of TDw_Cs_JL;
 | ||||
|     std::array<TDw_Cs_JL, 9> Dw_Cs_JL; //: array[0..8] of TDw_Cs_JL;
 | ||||
|     bool Dw_Cs_Ok1 = false, Dw_Cs_Ok2 = false, Dw_Cgd_OK = false; //档位车速满足结束考试条件  Dw_Cs_Ok1=false and Dw_Cs_Ok2=false 扣多一点(sysset.308.1); Dw_Cs_Ok1=false and Dw_Cs_Ok2=true 扣少一点(sysset.308.2);Dw_Cs_Ok1=true 不扣分;
 | ||||
|     int dw_kf_sj = 0; //301评判时间,0-结束考试时评判,1-里程达标就评判 100-表示已评判过    20140630
 | ||||
|     int Cs_type = 0, Cs_JlYq1 = 0, Cs_JlYq2 = 0, Cs_Yq = 0; //400参数中的Cs_JlYq1为平均距离判扣分,Cs_JlYq2为保持车速的距离  Cs_Yq:要达到的车速,0表示不判  20140418  20180810
 | ||||
|     //下面这个按规则翻译即可
 | ||||
|     //********************以下目前没用到*******************
 | ||||
| 
 | ||||
|     int8 Gps_St = 0; //0-普通GPS  1-差分GPS共用串口2  2-差分GPS独立串口 3-差分GPS独立串口未打开 4-华测的设备GPGGA
 | ||||
|     //std::string KSDD;
 | ||||
|    //下面这个按规则翻译即可
 | ||||
|     int tsxhjs = 0, tsdhjs = 0; //开始考试后(n秒)提示点火,(m秒不点火扣分),格式:30,60, 此参数不能与512-9参数同时设置,两个参数最多只能设置一个
 | ||||
| 
 | ||||
| 
 | ||||
|     bool Dw_Cgd_OK = false; | ||||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  | ||||
| @ -1340,7 +1340,7 @@ void MainWindow::on_btnRunning_clicked() | ||||
| void MainWindow::on_btnPause_clicked() | ||||
| { | ||||
|     bool pause = m_replay->replayIsPause(); | ||||
|     m_ui->btnPause->setText(pause ?  CL8("暂停") : CL8("继续")); | ||||
|     m_ui->btnPause->setText(pause ? CL8("暂停") : CL8("继续")); | ||||
|     m_replay->replayPause(!pause); | ||||
| } | ||||
| 
 | ||||
| @ -1380,6 +1380,7 @@ void MainWindow::on_btnTrackNext_clicked() | ||||
| 
 | ||||
| void MainWindow::on_frameNum_editingFinished() | ||||
| { | ||||
|     m_ui->frameNum->clearFocus(); | ||||
|     QString arg1 = m_ui->frameNum->text(); | ||||
|     if(arg1.isEmpty()) return; | ||||
|     int value = arg1.toInt(); | ||||
|  | ||||
| @ -118,9 +118,6 @@ private slots: | ||||
|     void on_artiItems_currentIndexChanged(int index); | ||||
|     //void on_btnSend_clicked();
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| private: | ||||
|     Ui::MainWindow* m_ui = nullptr; | ||||
|     QThread* m_thread = nullptr; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user