完善了像马达发送命令的函数 修改了控制函数为带有默认参数的函数 区分单个马达和多个马达 等等

This commit is contained in:
xin
2020-08-23 17:06:25 +08:00
parent 994fa0570d
commit 2f67b91000
6 changed files with 440 additions and 45 deletions

View File

@ -1,20 +1,37 @@
#include "vincecontrol.h"
#include"QSerialPortInfo"
#include "QDebug"
#include "QThread"
VinceControl::VinceControl(ProTools proto)
{
protools = proto;
IsMotorInit = false;
RS485ID = "0";
Speednow = 0;
SpeedisSet = false;
}
VinceControl::~VinceControl()
{
serial->close();
IsMotorInit = false;
if (protools == RS232 || protools == RS485)
{
serial->close();
IsMotorInit = false;
}
}
bool VinceControl::serialconnect(QString comname, QString bandrate)
{
if (protools == RS232 || protools == RS485)
{
}
else
{
return false;
}
QSerialPortInfo info;
QList<QSerialPortInfo> infos = QSerialPortInfo::availablePorts();
int i = 0;
@ -39,33 +56,50 @@ bool VinceControl::serialconnect(QString comname, QString bandrate)
return true;
}
void VinceControl::Handshacke(QString motorid)
{
SendCommandtoMotor("dev\n", motorid);
}
void VinceControl::SetRS485ID(QString id)
{
RS485ID = id;
}
void VinceControl::EnableMotro()
void VinceControl::EnableMotro(QString id )
{
QString str = "ena\n";
SendCommandtoSerial(str);
QString str = "ena\n";
if (id =="non")
{
SendCommandtoMotor(str);
}
else
{
SendCommandtoMotor(str, id);
}
}
void VinceControl::DisableMotro()
void VinceControl::DisableMotro(QString id )
{
QString str = "off\n";
SendCommandtoSerial(str);
SendCommandtoMotor(str,id);
}
void VinceControl::SendCommandtoSerial(QString str)
void VinceControl::SendCommandtoMotor(QString str)
{
if (protools == RS232)
{
QByteArray buf;
buf.append(str);
serial->write(buf);
serial->waitForBytesWritten(1000);
}
else if(protools==RS485)
{
@ -73,26 +107,175 @@ void VinceControl::SendCommandtoSerial(QString str)
QByteArray buf;
buf.append(str2);
serial->write(buf);
serial->waitForBytesWritten(1000);
}
else if (protools==NETTCP)
{
if (tcpSocket.length() == 0)
{
return;
}
else
{
tcpSocket[0]->write(str.toUtf8().data());
}
tcpSocket[0]->waitForBytesWritten(1000);
}
}
void VinceControl::SendCommandtoMotor(QString str, QString modor)
{
if (modor == "non")
{
SendCommandtoMotor(str);
return;
}
int lenth = tcpSocket.length();
int lenthstring = Motorlist.length();
if (lenthstring!=lenth)
{
return;
}
for (size_t i = 0; i < lenth; i++)
{
if (Motorlist.at(i)==modor)
{
tcpSocket[i]->write(str.toUtf8().data());
tcpSocket[i]->waitForBytesWritten(1000);
return;
}
}
}
void VinceControl::MoveSetDistance(long distance)
void VinceControl::MoveSetDistance(long distance,QString motornetid )
{
QString commonstr = "rmv " + QString::number(distance) + "\n";
SendCommandtoMotor(commonstr, motornetid);
}
void VinceControl::MoveMotar(bool direction)
void VinceControl::MoveMotar(bool direction, QString motornetid )
{
if (motornetid == "non")
{
if (protools != NETTCP)
{
if (!SpeedisSet)
{
return;
}
if (direction)
{
SettingSpeedByThis(abs(Speednow));
}
else
{
SettingSpeedByThis(abs(Speednow)*-1);
}
}
if (protools == NETTCP&&Motorlist.length() > 0)
{
if (!isSettingSpeedlist[0])
{
return;
}
if (direction)
{
SettingSpeedByThis(abs(Speedlist[0]), motornetid);;
}
else
{
SettingSpeedByThis(abs(Speedlist[0])*-1, motornetid);
}
}
}
else
{
int lenthstring = Motorlist.length();
for (size_t i = 0; i < lenthstring; i++)
{
if (Motorlist.at(i) == motornetid)
{
if (!isSettingSpeedlist[i])
{
return;
}
if (direction)
{
SettingSpeedByThis(abs( Speedlist[i]), motornetid);;
}
else
{
int a = abs(Speedlist[i]);
SettingSpeedByThis(abs(Speedlist[i])*-1, motornetid);
}
break;
}
}
}
QThread::msleep(100);
QString commendtosend = "mov\n";
SendCommandtoMotor(commendtosend, motornetid);
}
void VinceControl::SettingSpeed(unsigned long Speed)
void VinceControl::SettingSpeed(unsigned long Speed, QString motornetid /*= "non"*/)
{
SettingSpeedByThis(Speed, motornetid);
//speed
}
void VinceControl::SettingSpeedByThis( long Speed, QString motornetid)
{
if (motornetid=="non")
{
if (protools==NETTCP&&Motorlist.length()>0)
{
isSettingSpeedlist[0] = true;
Speedlist[0] = Speed;
}
if (protools!=NETTCP)
{
Speednow = Speed;
SpeedisSet = true;
}
}
else
{
int lenthstring = Motorlist.length();
for (size_t i = 0; i < lenthstring; i++)
{
if (Motorlist.at(i) == motornetid)
{
isSettingSpeedlist[i] = true;
Speedlist[i] = Speed;
}
}
}
QString commentosend = "cfg spd=" + QString::number(Speed) + "\n";
SendCommandtoMotor(commentosend, motornetid);
}
void VinceControl::MovetoZero()
void VinceControl::MovetoZero(QString motornetid )
{
}
@ -111,3 +294,97 @@ void VinceControl::SettingUpandDownSpeed(int addspeed, int downspeed)
{
}
void VinceControl::StopMotormove(QString motornetid )
{
QString commonstr = "stp\n";
SendCommandtoMotor(commonstr, motornetid);
}
VinceControl::VinceControl(ProTools proto, int port)
{
if (proto != NETTCP)
{
return;
}
protools = proto;
//Motor1IpAddress.append("192.168.1.1");
//<2F><><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD><><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>տռ<D5BF>
tcpServer = new QTcpServer();
//setWindowTitle("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6666");
tcpServer->listen(QHostAddress::Any, port);
connect(tcpServer, &QTcpServer::newConnection, this, &VinceControl::onNewTcpClinetConnet);
}
void VinceControl::onNewTcpClinetConnet()
{
if (protools != NETTCP)
{
return;
}
QTcpSocket *tcpsocket1;
tcpSocket.append(tcpServer->nextPendingConnection());
QString ip = tcpSocket[tcpSocket.length() - 1]->peerAddress().toString().split("::ffff:")[1];
Motorlist.append(ip);
bool statofmotor = false;
isSettingSpeedlist.append(statofmotor);
int speed = 200;
Speedlist.append(speed);
qint32 port = tcpSocket[tcpSocket.length() - 1]->peerPort();
QString str11 = ip + " Connected The Port Number is "+port+"\n";
SendLog(str11);
qDebug() << ip << ":" << port;
}
void VinceControl::onReciveFromClinet()
{
QTcpSocket* sc = dynamic_cast<QTcpSocket*>(sender());
QString ip = sc->peerAddress().toString().split("::ffff:")[1];
//<2F><>ȡ<EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>
#ifdef LOGOUT
QByteArray array = sc->readAll();
QString strofrecive;
strofrecive.append(array);
QString strtosend = "sender " + ip + ":" + strofrecive;
SendLog(strtosend);
#endif
}
void VinceControl::onClinetDisConnet()
{
QTcpSocket* sc = dynamic_cast<QTcpSocket*>(sender());
QString ip = sc->peerAddress().toString().split("::ffff:")[1];
int lenth = Motorlist.length();
for (size_t i = 0; i < lenth; i++)
{
if (Motorlist[i]==ip)
{
Motorlist.removeAt(i);
isSettingSpeedlist.removeAt(i);
Speedlist.removeAt(i);
delete tcpSocket[i];
tcpSocket.removeAt(i);
return;
}
}
}
void VinceControl::SendLog(QString str)
{
#ifdef LOGOUT
emit SendLogToCallClass(str);
#endif // LOGOUT
}

View File

@ -35,13 +35,28 @@
#ifndef VINCECONTROL_H
#define VINCECONTROL_H
#ifdef VINCECONTROL_LIB
# define VINCECONTROL_EXPORT Q_DECL_EXPORT
#else
# define VINCECONTROL_EXPORT Q_DECL_IMPORT
#endif
#define LOGOUT
#include "vincecontrol_global.h"
#include "QString"
#include "QStringList"
#include "QList"
#include <QObject>
#include <QSerialPort>
#include <QTcpServer> //监听套接字
#include <QTcpSocket> //通信套接字
#include "QByteArray"
enum ProTools
{
RS232 = 0,
RS485 = 1
RS485 = 1,
NETTCP=2
};
/********************************************************************
* 描述:马达控制程序
@ -52,8 +67,10 @@ RS485 = 1
* 4使用
* 2020-8-5立新
*******************************************************************/
class VINCECONTROL_EXPORT VinceControl
class VINCECONTROL_EXPORT VinceControl:public QObject
{
Q_OBJECT
public:
//************************************
// Method: VinceControl
@ -64,6 +81,16 @@ public:
// Parameter: ProTools 通讯协议 RS485 或者 RS232
//************************************
VinceControl(ProTools proto);
//************************************
// Method: VinceControl //走网络协议 需要两个参数 第一个为NETTCP 第二个为端口 6000或者6001
// FullName: VinceControl::VinceControl
// Access: public
// Returns:
// Qualifier:
// Parameter: ProTools proto
// Parameter: int port
//************************************
VinceControl(ProTools proto,int port);
~VinceControl();
//************************************
// Method: serialconnect
@ -74,8 +101,19 @@ public:
// Parameter: QString comname 串口名称
// Parameter: QString bandrate 串口波特率
//************************************
bool serialconnect(QString comname,QString bandrate);
//************************************
// Method: Handshacke
// FullName: VinceControl::Handshacke
// Access: public
// Returns: void
// Qualifier:
//************************************
void Handshacke(QString motorid = "non");
//************************************
// Method: SetRS485ID
// FullName: VinceControl::SetRS485ID
// Access: public
@ -91,7 +129,7 @@ public:
// Returns: void
// Qualifier:
//************************************
void EnableMotro();
void EnableMotro(QString motornetid="non");
//************************************
// Method: 取消使能
// FullName: VinceControl::DisableMotro
@ -99,16 +137,27 @@ public:
// Returns: void
// Qualifier:
//************************************
void DisableMotro();
void DisableMotro(QString motornetid = "non");
//************************************
// Method: SendCommandtoSerial
// FullName: VinceControl::SendCommandtoSerial
// Access: public
// Returns: void
// Qualifier:
// Parameter: QString str 命令 不包含id
// Parameter: QString str 命令 不包含id 如果是nettcp 默认想第一个发送
//************************************
void SendCommandtoSerial(QString str);
void SendCommandtoMotor(QString str);
//************************************
// Method: SendCommandtoMotor //两个参数 仅网络协议 第一个为命令 第二个为马达
// FullName: VinceControl::SendCommandtoMotor
// Access: public
// Returns: void
// Qualifier:
// Parameter: QString str
// Parameter: int motorid
//************************************
void SendCommandtoMotor(QString str,QString modor);
//************************************
// Method: MoveSetDistance 电机左移/右移 一定数量(不是距离)
// FullName: VinceControl::MoveSetDistance
@ -117,7 +166,8 @@ public:
// Qualifier:
// Parameter: long distance
//************************************
void MoveSetDistance(long distance);
void MoveSetDistance(long distance, QString motornetid = "non");
//************************************
// Method: MoveModar 电机左移/右移 direction是方向
// FullName: VinceControl::MoveModar
@ -126,16 +176,17 @@ public:
// Qualifier:
// Parameter: bool direction 方向
//************************************
void MoveMotar(bool direction);
void MoveMotar(bool direction, QString motornetid = "non");
//************************************
// Method: SettingSpeed 设置速度
// FullName: VinceControl::SettingSpeed
// Access: public
// Returns: void
// Qualifier:
// Parameter: unsigned long Speed 速度 无方向
// Parameter: unsigned long Speed 速度 正值 无方向
//************************************
void SettingSpeed(unsigned long Speed);
void SettingSpeed(unsigned long Speed, QString motornetid = "non");
//************************************
// Method: MovetoZero 归零
// FullName: VinceControl::MovetoZero
@ -143,7 +194,7 @@ public:
// Returns: void
// Qualifier:
//************************************
void MovetoZero();
void MovetoZero(QString motornetid = "non");
//************************************
// Method: GetLocationNow 获取当前至0点位置
// FullName: VinceControl::GetLocationNow
@ -171,6 +222,17 @@ public:
// Parameter: int downspeed 减速度
//************************************
void SettingUpandDownSpeed(int addspeed, int downspeed);
void StopMotormove(QString motornetid = "non");
QStringList Motorlist;
signals:
void SendLogToCallClass(QString str);
public slots :
void onNewTcpClinetConnet();
void onReciveFromClinet();
void onClinetDisConnet();
private:
QSerialPort *serial;
@ -178,6 +240,15 @@ private:
ProTools protools;
QString RS485ID;
unsigned long speed;
QTcpServer *tcpServer; //定义监听套接字tcpServer
QList<QTcpSocket *>tcpSocket; //定义通信套接字tcpSocke
void SendLog(QString str);
QList<bool> isSettingSpeedlist;
QList<int> Speedlist;
bool SpeedisSet;
int Speednow;
//
void SettingSpeedByThis(long Speed, QString motornetid = "non");
};

View File

@ -34,7 +34,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
@ -73,8 +73,8 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_DLL;QT_CORE_LIB;QT_SERIALPORT_LIB;VINCECONTROL_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtSerialPort;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_DLL;QT_CORE_LIB;QT_SERIALPORT_LIB;VINCECONTROL_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtSerialPort;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@ -85,13 +85,13 @@
<OutputFile>$(OutDir)\$(ProjectName).dll</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5SerialPortd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5SerialPortd.lib;Qt5Networkd.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_DLL;QT_CORE_LIB;QT_SERIALPORT_LIB;VINCECONTROL_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtSerialPort;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_DLL;QT_CORE_LIB;QT_SERIALPORT_LIB;VINCECONTROL_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtSerialPort;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@ -102,13 +102,13 @@
<OutputFile>$(OutDir)\$(ProjectName).dll</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5SerialPortd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5SerialPortd.lib;Qt5Networkd.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_SERIALPORT_LIB;VINCECONTROL_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtSerialPort;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_SERIALPORT_LIB;VINCECONTROL_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtSerialPort;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat />
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
@ -118,13 +118,13 @@
<OutputFile>$(OutDir)\$(ProjectName).dll</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5SerialPort.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5SerialPort.lib;Qt5Network.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_SERIALPORT_LIB;VINCECONTROL_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtSerialPort;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_SERIALPORT_LIB;VINCECONTROL_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtSerialPort;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat />
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
@ -134,14 +134,39 @@
<OutputFile>$(OutDir)\$(ProjectName).dll</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5SerialPort.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5SerialPort.lib;Qt5Network.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="GeneratedFiles\Debug\moc_vincecontrol.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GeneratedFiles\Release\moc_vincecontrol.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="vincecontrol.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="vincecontrol.h" />
<CustomBuild Include="vincecontrol.h">
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing vincecontrol.h...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_SERIALPORT_LIB -DVINCECONTROL_LIB -DQT_NETWORK_LIB -D_WINDLL "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtNetwork"</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing vincecontrol.h...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_CORE_LIB -DQT_SERIALPORT_LIB -DVINCECONTROL_LIB -DQT_NETWORK_LIB -D_WINDLL "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtNetwork"</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing vincecontrol.h...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_SERIALPORT_LIB -DVINCECONTROL_LIB -DQT_NETWORK_LIB -D_WINDLL "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtNetwork"</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing vincecontrol.h...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_SERIALPORT_LIB -DVINCECONTROL_LIB -DQT_NETWORK_LIB -D_WINDLL "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtSerialPort" "-I$(QTDIR)\include\QtNetwork"</Command>
</CustomBuild>
<ClInclude Include="vincecontrol_global.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View File

@ -23,18 +23,36 @@
<Extensions>moc;h;cpp</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="Generated Files\Debug">
<UniqueIdentifier>{0eced450-ed05-4314-9059-efad8e7c787f}</UniqueIdentifier>
<Extensions>cpp;moc</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="Generated Files\Release">
<UniqueIdentifier>{c531b976-50f1-46c0-8a19-c46be8bc3ed0}</UniqueIdentifier>
<Extensions>cpp;moc</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="vincecontrol.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="GeneratedFiles\Debug\moc_vincecontrol.cpp">
<Filter>Generated Files\Debug</Filter>
</ClCompile>
<ClCompile Include="GeneratedFiles\Release\moc_vincecontrol.cpp">
<Filter>Generated Files\Release</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="vincecontrol.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="vincecontrol_global.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="vincecontrol.h">
<Filter>Header Files</Filter>
</CustomBuild>
</ItemGroup>
</Project>

View File

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QTDIR>C:\Qt\Qt5.8.0\5.8\msvc2013_64</QTDIR>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QTDIR>C:\Qt\Qt5.8.0\5.8\msvc2013_64</QTDIR>
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3b"$(QTDIR)\bin%3b$(QTDIR)\bin%3b$(PATH)</LocalDebuggerEnvironment>
</PropertyGroup>
</Project>

View File

@ -3,10 +3,6 @@
#include <QtCore/qglobal.h>
#ifdef VINCECONTROL_LIB
# define VINCECONTROL_EXPORT Q_DECL_EXPORT
#else
# define VINCECONTROL_EXPORT Q_DECL_IMPORT
#endif
#endif // VINCECONTROL_GLOBAL_H