构建新的cmakelist工程
修改了 delay_tc函数 修返回频率为20hz 修改波特率修改后先重新设置通讯波特率在保存
This commit is contained in:
42
project/CMakeLists.txt
Normal file
42
project/CMakeLists.txt
Normal file
@ -0,0 +1,42 @@
|
||||
# cmake_minimum_required(VERSION <specify CMake version here>)
|
||||
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})
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
void delay_tc(uint32_t millisecond)
|
||||
{
|
||||
QThread::sleep(millisecond/1000);
|
||||
QThread::msleep(millisecond);
|
||||
// std::cout<<"This is delay_tc!!!!!!!!!!"<<std::endl;
|
||||
}
|
||||
|
||||
@ -56,7 +56,8 @@ int main(int argc, char *argv[])
|
||||
WitmotionDll * witmotion = new WitmotionDll(serialPort);
|
||||
witmotion->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"<<std::flush;
|
||||
serialPort->CloseSerialPort();
|
||||
|
||||
// return a.exec();
|
@ -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--------------:"<<std::endl;
|
||||
if(m_serial->waitForReadyRead())
|
||||
if(m_serial->waitForReadyRead(1000))
|
||||
{
|
||||
//requestData.resize(m_serial->size());
|
||||
requestData = m_serial->readAll();
|
@ -233,7 +233,7 @@ int WitmotionDll::SetBaudrate(BAUD_ENUM baudrate)
|
||||
int numOfSend = constructAndSendInstruction(BAUD, baudrate);
|
||||
m_witPrintf("WitmotionDll::SetBaudrate: \n");
|
||||
|
||||
saveInstruction();
|
||||
// saveInstruction(); //设置完波特率 已经无法通讯 需要重新简历连接
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user