From 277e347e5601ee40065e033d042bf7d7b115674a Mon Sep 17 00:00:00 2001 From: xin Date: Mon, 13 Feb 2023 09:15:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9E=84=E5=BB=BA=E6=96=B0=E7=9A=84cmakelist?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=20=E4=BF=AE=E6=94=B9=E4=BA=86=20=20delay=5Ft?= =?UTF-8?q?c=E5=87=BD=E6=95=B0=20=E4=BF=AE=E8=BF=94=E5=9B=9E=E9=A2=91?= =?UTF-8?q?=E7=8E=87=E4=B8=BA20hz=20=E4=BF=AE=E6=94=B9=E6=B3=A2=E7=89=B9?= =?UTF-8?q?=E7=8E=87=E4=BF=AE=E6=94=B9=E5=90=8E=E5=85=88=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=80=9A=E8=AE=AF=E6=B3=A2=E7=89=B9=E7=8E=87?= =?UTF-8?q?=E5=9C=A8=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project/CMakeLists.txt | 42 +++++++++++++++++++ .../commandlineparser.cpp | 3 ++ .../commandlineparser.h | 0 main.cpp => source/main.cpp | 17 ++++++-- qtserialport.cpp => source/qtserialport.cpp | 4 +- qtserialport.h => source/qtserialport.h | 0 register.h => source/register.h | 0 serialportbase.h => source/serialportbase.h | 0 witcommand.h => source/witcommand.h | 0 witmotionDll.pro => source/witmotionDll.pro | 0 witmotiondll.cpp => source/witmotiondll.cpp | 2 +- witmotiondll.h => source/witmotiondll.h | 0 12 files changed, 61 insertions(+), 7 deletions(-) create mode 100644 project/CMakeLists.txt rename commandlineparser.cpp => source/commandlineparser.cpp (99%) rename commandlineparser.h => source/commandlineparser.h (100%) rename main.cpp => source/main.cpp (85%) rename qtserialport.cpp => source/qtserialport.cpp (96%) rename qtserialport.h => source/qtserialport.h (100%) rename register.h => source/register.h (100%) rename serialportbase.h => source/serialportbase.h (100%) rename witcommand.h => source/witcommand.h (100%) rename witmotionDll.pro => source/witmotionDll.pro (100%) rename witmotiondll.cpp => source/witmotiondll.cpp (98%) rename witmotiondll.h => source/witmotiondll.h (100%) diff --git a/project/CMakeLists.txt b/project/CMakeLists.txt new file mode 100644 index 0000000..d6efe50 --- /dev/null +++ b/project/CMakeLists.txt @@ -0,0 +1,42 @@ +# cmake_minimum_required(VERSION ) +cmake_minimum_required(VERSION 3.3) +project(Wintmotion) +SET(CMAKE_INSTALL_PREFIX < /home/pi/bin >) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_CXX_STANDARD 11) + + +set(CMAKE_CXX_STANDARD 14) + + + +IF (WIN32) + include_directories(../../third/GpsSynchComputerTime) + include_directories(C:/Qt/Qt5.12.7/5.12.7/mingw73_64/include C:/Qt/Qt5.12.7/5.12.7/mingw73_64/include/QtCore C:/Qt/Qt5.12.7/5.12.7/mingw73_64/include/QtNetwork C:/Qt/Qt5.12.7/5.12.7/mingw73_64/include/QtNetwork/QtSerialPort ) + include_directories(C:/Qt/Qt5.12.7/5.12.7/mingw73_64/include/QtWebSockets) + +ENDIF () +set(QT Core Network Gui WebSockets SerialPort) +set(TEMPLATE app) +set(TARGET Wintmotion) +set(CMAKE_INCLUDE_CURRENT_DIR ON) +#find_package(Qt5 REQUIRED ${QT}) +IF (WIN32) + + MESSAGE(STATUS "Now is windows") + set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} C:/Qt/Qt5.12.7/5.12.7/mingw73_64/ ) +ENDIF () +find_package(Qt5 REQUIRED ${QT}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") +include_directories(../source) +add_executable(Wintmotion + ../source/commandlineparser.cpp + ../source/main.cpp + ../source/qtserialport.cpp + ../source/witmotionDll.pro + ../source/witmotiondll.cpp + +) +qt5_use_modules(Wintmotion ${QT}) diff --git a/commandlineparser.cpp b/source/commandlineparser.cpp similarity index 99% rename from commandlineparser.cpp rename to source/commandlineparser.cpp index c85d22e..d29e6d3 100644 --- a/commandlineparser.cpp +++ b/source/commandlineparser.cpp @@ -501,6 +501,9 @@ CommandLineParseResult parseCommandLine2(QCommandLineParser &parser, TcQuery *qu query->modelForInterface_D3 = PWM; query->pulseWidth_D3 = 1500; query->period_D3 = 20000; + + query->isSetReturnRate= true; + query->returnRate=RRATE_20HZ; } diff --git a/commandlineparser.h b/source/commandlineparser.h similarity index 100% rename from commandlineparser.h rename to source/commandlineparser.h diff --git a/main.cpp b/source/main.cpp similarity index 85% rename from main.cpp rename to source/main.cpp index 04fb24d..01e7408 100644 --- a/main.cpp +++ b/source/main.cpp @@ -8,7 +8,7 @@ void delay_tc(uint32_t millisecond) { - QThread::sleep(millisecond/1000); + QThread::msleep(millisecond); // std::cout<<"This is delay_tc!!!!!!!!!!"<delayMsRegister(delay_tc); witmotion->printfRegister(printf_tc); - witmotion->setDelayTimeMs(1000); + witmotion->setDelayTimeMs(200); + if(query.isSetAlgorithm) { @@ -119,14 +120,22 @@ int main(int argc, char *argv[]) witmotion->setD3HighLevelPulseWidth(query.pulseWidth_D3); witmotion->setD3Period(query.period_D3); } - + if(query.isSetReturnRate)//设置witMotion的通讯速率要放在最后,它后面的设置都会失败 + { + witmotion->SetReturnRate(query.returnRate); + } if(query.isSetBaudrate)//设置witMotion的通讯速率要放在最后,它后面的设置都会失败 { witmotion->SetBaudrate(query.baudrate); + // serialPort->CloseSerialPort();//设置完波特率 已经无法通讯 需要重新简历连接 + serialPort->SetBaudrate(115200); + //ret = serialPort->OpenSerialPort(query.serialPort.toStdString(), query.baudrate);//重新建立连接 + witmotion->saveInstruction(); } -// witmotion->recordData(); +// witmotion->recordData(); + std::cout<<"Set IMU OK"<CloseSerialPort(); // return a.exec(); diff --git a/qtserialport.cpp b/source/qtserialport.cpp similarity index 96% rename from qtserialport.cpp rename to source/qtserialport.cpp index a1e5771..23a5b63 100644 --- a/qtserialport.cpp +++ b/source/qtserialport.cpp @@ -70,7 +70,7 @@ int QtSerialport::SendData1(const char *data, const unsigned int len) //QIODevice::write(const char *data, qint64 maxSize) int num = m_serial->write(tmp); - bool re = m_serial->waitForBytesWritten(); + bool re = m_serial->waitForBytesWritten(1000); if(re) { @@ -97,7 +97,7 @@ int QtSerialport::ReadData(char * receivedData) while (true) { //std::cout<<"SbgRecorder::startRecordSbg--------------:"<waitForReadyRead()) + if(m_serial->waitForReadyRead(1000)) { //requestData.resize(m_serial->size()); requestData = m_serial->readAll(); diff --git a/qtserialport.h b/source/qtserialport.h similarity index 100% rename from qtserialport.h rename to source/qtserialport.h diff --git a/register.h b/source/register.h similarity index 100% rename from register.h rename to source/register.h diff --git a/serialportbase.h b/source/serialportbase.h similarity index 100% rename from serialportbase.h rename to source/serialportbase.h diff --git a/witcommand.h b/source/witcommand.h similarity index 100% rename from witcommand.h rename to source/witcommand.h diff --git a/witmotionDll.pro b/source/witmotionDll.pro similarity index 100% rename from witmotionDll.pro rename to source/witmotionDll.pro diff --git a/witmotiondll.cpp b/source/witmotiondll.cpp similarity index 98% rename from witmotiondll.cpp rename to source/witmotiondll.cpp index 4a4700c..4835ad4 100644 --- a/witmotiondll.cpp +++ b/source/witmotiondll.cpp @@ -233,7 +233,7 @@ int WitmotionDll::SetBaudrate(BAUD_ENUM baudrate) int numOfSend = constructAndSendInstruction(BAUD, baudrate); m_witPrintf("WitmotionDll::SetBaudrate: \n"); - saveInstruction(); + // saveInstruction(); //设置完波特率 已经无法通讯 需要重新简历连接 return 0; } diff --git a/witmotiondll.h b/source/witmotiondll.h similarity index 100% rename from witmotiondll.h rename to source/witmotiondll.h