From 6c05b26c5bf75c4759ec97a7dc5fe66e690e379d Mon Sep 17 00:00:00 2001 From: wangxx1809 Date: Wed, 5 Jun 2024 23:59:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=85=8D=E7=BD=AE=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PrintS/Config/ConfigManager.cpp | 24 ++++++++++++++ PrintS/Config/ConfigManager.h | 5 ++- PrintS/DataManage/DataHandle.cpp | 12 +++---- PrintS/DataManage/StreamServer.cpp | 4 +-- PrintS/ScannerCtrl/ScannerCtrl.cpp | 48 +++++++++++++++++++++++++-- PrintS/ScannerCtrl/ScannerCtrl.h | 5 +++ PrintS/output/Release/config.hbd | Bin 323584 -> 323584 bytes PrintS/output/Release/log/2024.hbd | Bin 163840 -> 163840 bytes TestClient/DataManage/DataHandle.cpp | 19 +++++++++-- TestClient/DataManage/FunC.h | 2 ++ 10 files changed, 104 insertions(+), 15 deletions(-) diff --git a/PrintS/Config/ConfigManager.cpp b/PrintS/Config/ConfigManager.cpp index 671767d..4cb260f 100644 --- a/PrintS/Config/ConfigManager.cpp +++ b/PrintS/Config/ConfigManager.cpp @@ -529,6 +529,10 @@ void ConfigManager::CallFuncs(const ReadData& rd, const list& lst, ::strea RedTestCfgStart(); break; case REDTESTCFGSTOP: RedTestCfgStop(); break; + //case FIXPOINTDAOADD: + // FixPointDaoAdd(lst); break; + //case FIXPOINTDAODEL: + // FixPointDaoDel(lst); break; default: break; } @@ -536,6 +540,26 @@ void ConfigManager::CallFuncs(const ReadData& rd, const list& lst, ::strea } +//void ConfigManager::FixPointDaoAdd(const list& lst) { +// int scannerIndex = -1; +// FixPointCfg* fpc = new FixPointCfg(); +// for (auto it = lst.begin(); it != lst.end(); ++it) { +// if (it->nameKey == "index") scannerIndex = ConverType::TryToI(it->strValue); +// if (it->nameKey == "cno") fpc->m_Cno = ConverType::TryToI(it->strValue); +// if (it->nameKey == "pointX") fpc->m_PointX = ConverType::TryToF(it->strValue); +// if (it->nameKey == "pointY") fpc->m_PointY = ConverType::TryToF(it->strValue); +// if (it->nameKey == "duration") fpc->m_Duration = (unsigned int)ConverType::TryToI(it->strValue); +// } +// +// //if (GetFixPointDao()->Add(fpc)){ +// // (*m_UIController.m_ScannerCtrl->GetScanners())[scannerIndex]->GetConfig()->m_FixPointWrapper.m_Cfgs->push_back(fpc); +// //} +//} +// +//void ConfigManager::FixPointDaoDel(const list& lst) { +// +//} + void ConfigManager::UpdateCfg(const ReadData& rd) { switch (rd.dataType) diff --git a/PrintS/Config/ConfigManager.h b/PrintS/Config/ConfigManager.h index 4836f99..95e45fd 100644 --- a/PrintS/Config/ConfigManager.h +++ b/PrintS/Config/ConfigManager.h @@ -47,6 +47,9 @@ enum ConfigFunc{ REDTESTCFGSTART, //红光测试配置开始 REDTESTCFGSTOP, //红光测试配置结束 + + //FIXPOINTDAOADD, //FixPointDao add + //FIXPOINTDAODEL, //FixPointDao del }; @@ -111,7 +114,7 @@ public: //vector *GetMatchLaser() { return &m_pLaserCfgDao->m_MatchLaser; } //LaserCfgDao* GetLaserCfgDao() { return m_pLaserCfgDao; } FavoriteCfg* GetFavoriteCfg() { return &m_FavoriteCfg; } //已传 - FixPointDao* GetFixPointDao() { return m_ScannerControlCfgDao->GetFixPointDao(); } //传 + FixPointDao* GetFixPointDao() { return m_ScannerControlCfgDao->GetFixPointDao(); } //已传 查看FIXPOINTDAOADD和FIXPOINTDAODEL CameraCalibrationCfg* GetCameraCalibrationCfg() { return &m_CameraCalibrationCfg; } //已传 void SaveCameraCalibrationCfg() { //不传 SQLite::Transaction transaction(*m_pDB); diff --git a/PrintS/DataManage/DataHandle.cpp b/PrintS/DataManage/DataHandle.cpp index 8479f2f..5ef3d6e 100644 --- a/PrintS/DataManage/DataHandle.cpp +++ b/PrintS/DataManage/DataHandle.cpp @@ -5,7 +5,9 @@ void DataHandle::DataCallBackProc(void* pthis, const ReadData& msg, const std::list& its) { DataHandle* p = (DataHandle*)pthis; - p->DataCallBackHandle(msg,its); + ReadData rd = msg; + std::list lst = its; + p->DataCallBackHandle(rd, lst); } void DataHandle::LayersDataCallBackProc(void* pthis,const ReadData& msg, const list& lst, ::stream::ResponseAny** response) { @@ -119,9 +121,8 @@ void DataHandle::DataCallBackHandle(const ReadData& msg, const std::list& ConfigManager::GetInstance()->UpdateCfg(msg); break; case REQUEST: - if (!msg.nameKey.empty() && ConverType::TryToI( msg.nameKey) == XYSCANSTATE) { - //printf("error,XYSCANSTATE 需要释放ScannerCtrl::Init()内部代码块...\n"); - for (int i = 0; i < 4; ++i) { //需要先打开ScannerCtrl::Init()代码块 + if (!msg.nameKey.empty() && ConverType::TryToI( msg.nameKey) == XYSCANSTATE) { //g_isDebug 设置为 true; + for (int i = 0; i < (int)m_controller->m_ScannerCtrl->GetScanners()->size(); ++i) { //需要先打开ScannerCtrl::Init()代码块 Scanner* p = (m_controller->m_ScannerCtrl->GetScanners())->at(i); p->GetScanStateXY().SendToClients(XYSCANSTATE, "_" + to_string(i)); } @@ -131,9 +132,6 @@ void DataHandle::DataCallBackHandle(const ReadData& msg, const std::list& } break; default: break; - - - } } diff --git a/PrintS/DataManage/StreamServer.cpp b/PrintS/DataManage/StreamServer.cpp index b13c70b..f2e9942 100644 --- a/PrintS/DataManage/StreamServer.cpp +++ b/PrintS/DataManage/StreamServer.cpp @@ -67,8 +67,8 @@ Status StreamServer::AllStream(ServerContext* context, grpc::ServerReaderWriter< paramLst.emplace_back(Item{ it.namekey(),it.strvalue() ,(DATATYPE)it.valuetype() }); //直接加到readData.its上面,后续的请求无法收到,不知道为啥 } - printf("客户端消息:dataType:%d,nameKey:%s, strValue:%s,valueType:%d\n", - readData.dataType, readData.nameKey.c_str(), readData.strValue.c_str(), readData.valueType); + printf("客户端消息:dataType:%d,nameKey:%s, strValue:%s,valueType:%d,lst:%zd\n", + readData.dataType, readData.nameKey.c_str(), readData.strValue.c_str(), readData.valueType, paramLst.size()); if (m_dataCallBack) { m_dataCallBack(m_handlePtr,readData, paramLst); } diff --git a/PrintS/ScannerCtrl/ScannerCtrl.cpp b/PrintS/ScannerCtrl/ScannerCtrl.cpp index 62d2b17..f24be56 100644 --- a/PrintS/ScannerCtrl/ScannerCtrl.cpp +++ b/PrintS/ScannerCtrl/ScannerCtrl.cpp @@ -133,10 +133,8 @@ bool ScannerCtrl::Init() { } Scanner* scanner = NULL; - scanner = new RTC5Scanner(cfg,index++); - if (scanner->Init()) { ConfigManager::GetInstance()->GetMatchScannerControlCfg()->push_back(cfg); @@ -1950,14 +1948,58 @@ void ScannerCtrl::CallFunc(const ReadData& rd, const list& lst) { } m_scan[index]->SetXYCorrect(x,y); } - if (SETK == func) { + else if (SETK == func) { double k = 0.0; for (auto item = lst.begin(); item != lst.end(); ++item) { if (item->nameKey == "k") k = ConverType::TryToD(item->strValue); } m_scan[index]->SetK(k); } + else if (FIXPOINTDAOADD == func) { + FixPointDaoAdd(lst,index); + } + else if (FIXPOINTDAODEL == func) { + FixPointDaoDel(lst,index); + } +} + +void ScannerCtrl::FixPointDaoAdd(const list& lst,int index) { + FixPointCfg* fpc = new FixPointCfg(); + for (auto it = lst.begin(); it != lst.end(); ++it) { + if (it->nameKey == "cno") fpc->m_Cno = ConverType::TryToI(it->strValue); + if (it->nameKey == "pointX") fpc->m_PointX = ConverType::TryToF(it->strValue); + if (it->nameKey == "pointY") fpc->m_PointY = ConverType::TryToF(it->strValue); + if (it->nameKey == "duration") fpc->m_Duration = (unsigned int)ConverType::TryToI(it->strValue); + } + + if (ConfigManager::GetInstance()->GetFixPointDao()->Add(fpc)) { + m_scan[index]->GetConfig()->m_FixPointWrapper.m_Cfgs.push_back(fpc); + } +} + + +void ScannerCtrl::FixPointDaoDel(const list& lst, int index) { + int id = 0; + for (auto it = lst.begin(); it != lst.end(); ++it) { + if (it->nameKey == "id") id = ConverType::TryToI(it->strValue); + } + + list fpcs = m_scan[index]->GetConfig()->m_FixPointWrapper.m_Cfgs; + for (list::iterator fpit = fpcs.begin(); fpit != fpcs.end();) { + FixPointCfg* fpc = (*fpit); + if (fpc->m_Id == id){ + if (ConfigManager::GetInstance()->GetFixPointDao()->Del(fpc)){ + fpit = fpcs.erase(fpit); + delete fpc; + fpc = NULL; + } + break; + } + else { + fpit++; + } + } } void ScannerCtrl::SendToClients() { diff --git a/PrintS/ScannerCtrl/ScannerCtrl.h b/PrintS/ScannerCtrl/ScannerCtrl.h index 3f3e754..afbf510 100644 --- a/PrintS/ScannerCtrl/ScannerCtrl.h +++ b/PrintS/ScannerCtrl/ScannerCtrl.h @@ -37,6 +37,8 @@ enum FUNCNAME { UPDATESKYWRITING, SETXYCORRECT, SETK, + FIXPOINTDAOADD, + FIXPOINTDAODEL, }; @@ -120,6 +122,9 @@ private: void DispatchTestDataBlock(); void DispatchModelDataBlock(int partId, string scanType, float power, float speed); + void FixPointDaoAdd(const list& lst, int index); + void FixPointDaoDel(const list& lst, int index); + public: string m_PauseMsg; string m_StopMsg; diff --git a/PrintS/output/Release/config.hbd b/PrintS/output/Release/config.hbd index 3f4e390293bb190797a84e6d3b2d1b22bf2ee12d..a54a2ec45a7a603e7d3e63e0b7652e1375eb2820 100644 GIT binary patch delta 12412 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
  • RmJPvgmZ*y{!y|c&5Jel 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 B0(Sra diff --git a/TestClient/DataManage/DataHandle.cpp b/TestClient/DataManage/DataHandle.cpp index 192fe99..0211368 100644 --- a/TestClient/DataManage/DataHandle.cpp +++ b/TestClient/DataManage/DataHandle.cpp @@ -346,7 +346,8 @@ void DataHandle::ScanCtrlTest() { PushMsg(SCANCTRLFUNC, to_string(REMOVESCANNER), to_string(1), iINT); printf("call REMOVESCANNER function...\n"); PushMsg(SCANCTRLFUNC, to_string(STARTHEATINGMOTION)); printf("call STARTHEATINGMOTION function...\n"); PushMsg(SCANCTRLFUNC, to_string(STOPHEATINGMOTION), to_string(0), iBOOL); printf("call STOPHEATINGMOTION function...\n"); - + + PushMsg(SCANCTRLFUNC, to_string(STARTDEBUGTEST), "1", iINT); printf("call STARTDEBUGTEST function...\n"); PushMsg(SCANCTRLFUNC, to_string(STOPDEBUGTEST), "1", iINT); printf("call STOPDEBUGTEST function...\n"); PushMsg(SCANCTRLFUNC, to_string(STARTHEATINGSCANNERTEST), "1", iINT); printf("call STARTHEATINGSCANNERTEST function...\n"); @@ -354,32 +355,46 @@ void DataHandle::ScanCtrlTest() { PushMsg(SCANCTRLFUNC, to_string(STARTGETSCANINFO), "1", iINT); printf("call STARTGETSCANINFO function...\n"); PushMsg(SCANCTRLFUNC, to_string(STOPGETSCANINFO), "1", iINT); printf("call STOPGETSCANINFO function...\n"); - WriteData wd{ SCANCTRLFUNC,to_string(SETXYOFFSET) ,"1", iINT }; wd.items.emplace_back(Item{"x", to_string(1.23f),iFLOAT}); wd.items.emplace_back(Item{"y", to_string(2.23f),iFLOAT}); PushMsg(wd); printf("call SETXYOFFSET function...\n"); + wd.items.clear(); wd.nameKey = to_string(SETANGLE); wd.items.emplace_back(Item{ "angle", to_string(1.2),iDOUBLE }); PushMsg(wd); printf("call SETANGLE function...\n"); PushMsg(SCANCTRLFUNC, to_string(UPDATESETTING), "1", iINT); printf("call UPDATESETTING function...\n"); + wd.items.clear(); wd.nameKey = to_string(UPDATESKYWRITING); wd.items.emplace_back(Item{ "isList", to_string(true),iBOOL }); PushMsg(wd); printf("call UPDATESKYWRITING function...\n"); + wd.items.clear(); wd.nameKey = to_string(SETXYCORRECT); wd.items.emplace_back(Item{ "x", to_string(2.3),iDOUBLE }); wd.items.emplace_back(Item{ "y", to_string(3.4),iDOUBLE }); PushMsg(wd); printf("call SETXYCORRECT function...\n"); + wd.items.clear(); wd.nameKey = to_string(SETK); wd.items.emplace_back(Item{ "k", to_string(2.1),iDOUBLE }); PushMsg(wd); printf("call SETK function...\n"); + wd.items.clear(); + wd.nameKey = to_string(FIXPOINTDAOADD); + wd.items.emplace_back(Item{ "cno", to_string(2),iINT }); + wd.items.emplace_back(Item{ "pointX", to_string(2.1),iFLOAT }); + wd.items.emplace_back(Item{ "pointY", to_string(2.1),iFLOAT }); + wd.items.emplace_back(Item{ "duration", to_string(5),iUINT }); + PushMsg(wd); printf("call FIXPOINTDAOADD function...\n"); + wd.items.clear(); + wd.nameKey = to_string(FIXPOINTDAODEL); + wd.items.emplace_back(Item{ "id", to_string(2),iINT }); + PushMsg(wd); printf("call FIXPOINTDAODEL function...\n"); } diff --git a/TestClient/DataManage/FunC.h b/TestClient/DataManage/FunC.h index 01e7bbd..192583c 100644 --- a/TestClient/DataManage/FunC.h +++ b/TestClient/DataManage/FunC.h @@ -61,6 +61,8 @@ enum ScanCtrlFunc { UPDATESKYWRITING, SETXYCORRECT, SETK, + FIXPOINTDAOADD, + FIXPOINTDAODEL, END1 //结束标记 };