first commit
This commit is contained in:
parent
75b7c05fb6
commit
2b1b3d5a4e
19
library.cpp
Normal file
19
library.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
#include <QCoreApplication>
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
extern int debugLevel;
|
||||
|
||||
void debug(QString text, int level)
|
||||
{
|
||||
if (level & debugLevel)
|
||||
{
|
||||
cout << text.toStdString() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
void signal_handler(int signal)
|
||||
{
|
||||
cout << "Received signal " << signal << endl;
|
||||
}
|
12
library.h
Normal file
12
library.h
Normal file
@ -0,0 +1,12 @@
|
||||
#ifndef LIBRARY_H
|
||||
#define LIBRARY_H
|
||||
|
||||
#define DEBUG 1
|
||||
#define INFO 2
|
||||
#define WARNING 3
|
||||
#define ERROR 4
|
||||
|
||||
void debug(QString text, int level);
|
||||
void signal_handler(int signal);
|
||||
|
||||
#endif // LIBRARY_H
|
22
main.cpp
Normal file
22
main.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
#include "main.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
int debugLevel = DEBUG | INFO | WARNING | ERROR;
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QCoreApplication a(argc, argv);
|
||||
QCoreApplication::setOrganizationName("zigbeemanager");
|
||||
QCoreApplication::setApplicationName("zigbeemanager");
|
||||
|
||||
ZigateBackend zigateBkd;
|
||||
// zigbeemgr();
|
||||
|
||||
//QObject::connect(&zigbeemgr, SIGNAL(readyRead()), &zigbeemgr, SLOT(getData()));
|
||||
//QObject::connect(&zigbeemgr, SIGNAL(bytesWritten(qint64)), &zigbeemgr, SLOT(confirmWrite(qint64)));
|
||||
|
||||
zigateBkd.sendCmd(zigateBkd.getVersion.at(0), zigateBkd.getVersion.at(1), zigateBkd.getVersion.at(2));
|
||||
|
||||
return a.exec();
|
||||
}
|
21
main.h
Normal file
21
main.h
Normal file
@ -0,0 +1,21 @@
|
||||
#ifndef MAIN_H
|
||||
#define MAIN_H
|
||||
|
||||
#include <QSettings>
|
||||
#include <cstring>
|
||||
#include <stdio.h>
|
||||
#include <cstdio>
|
||||
#include <QGuiApplication>
|
||||
#include <QStringBuilder>
|
||||
#include <QString>
|
||||
#include <QCoreApplication>
|
||||
#include <csignal>
|
||||
#include <iostream>
|
||||
#include <unistd.h>
|
||||
#include <string>
|
||||
#include <QtEndian>
|
||||
#include <QDebug>
|
||||
#include "library.h"
|
||||
#include "zigateBackend.h"
|
||||
|
||||
#endif // MAIN_H
|
65
serial.inc.cpp
Normal file
65
serial.inc.cpp
Normal file
@ -0,0 +1,65 @@
|
||||
#include "serial.inc.h"
|
||||
|
||||
extern QApplication a;
|
||||
using namespace std;
|
||||
|
||||
ZigbeeMgr::ZigbeeMgr()
|
||||
{
|
||||
//QMessageBox::StandardButton reply;
|
||||
bool test;
|
||||
|
||||
this->setBaudRate(115200);
|
||||
this->setDataBits(QSerialPort::Data8);
|
||||
this->setStopBits(QSerialPort::OneStop);
|
||||
this->setParity(QSerialPort::NoParity);
|
||||
this->setPortName(this->serialDevicePath);
|
||||
do
|
||||
{
|
||||
test = this->open(QIODevice::ReadWrite);
|
||||
if (!test)
|
||||
{
|
||||
cout << this->errorString().toStdString() << "=>" << this->serialDevicePath.toStdString() << endl;
|
||||
/*QString str = "Device can not be openened : " + errorString() + "=>" + this->device;
|
||||
reply = QMessageBox::question(
|
||||
nullptr,
|
||||
a.applicationName(),
|
||||
str,
|
||||
QMessageBox::Retry|QMessageBox::Abort,
|
||||
QMessageBox::Retry
|
||||
);
|
||||
if (reply == QMessageBox::Abort)
|
||||
{
|
||||
exit(1);
|
||||
}*/
|
||||
sleep(5);
|
||||
}
|
||||
}while(!test);
|
||||
}
|
||||
|
||||
ZigbeeMgr::~ZigbeeMgr()
|
||||
{
|
||||
this->close();
|
||||
}
|
||||
|
||||
void ZigbeeMgr::getData()
|
||||
{
|
||||
dataRead = this->readAll();
|
||||
cout << dataRead.toHex().toStdString() << endl;
|
||||
}
|
||||
|
||||
void ZigbeeMgr::confirmWrite(qint16 byte)
|
||||
{
|
||||
QString str;
|
||||
if (byte != dataWriteSize)
|
||||
{
|
||||
str = "Bytes written not egal to bytes sent : " + QString::number(byte) + " written for " + dataWriteSize + " sent";
|
||||
cout << str.toStdString() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
void ZigbeeMgr::write(QString datas)
|
||||
{
|
||||
dataWriteSize = datas.count();
|
||||
this->writeData(datas.toStdString().c_str(), datas.count());
|
||||
}
|
||||
|
35
serial.inc.h
Normal file
35
serial.inc.h
Normal file
@ -0,0 +1,35 @@
|
||||
#ifndef SERIAL_INC_H
|
||||
#define SERIAL_INC_H
|
||||
|
||||
#include <QDebug>
|
||||
#include <sys/wait.h>
|
||||
#include <QSerialPort>
|
||||
#include <QApplication>
|
||||
#include <iostream>
|
||||
|
||||
class ZigbeeMgr : public QSerialPort
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
//QSerialPort * sp;
|
||||
QByteArray dataRead;
|
||||
QByteArray dataWrite;
|
||||
qint64 dataWriteSize;
|
||||
QString serialDevicePath;
|
||||
|
||||
//QAbstractButton * reply;
|
||||
//QString serialDevicePath;
|
||||
|
||||
void write(QString datas);
|
||||
ZigbeeMgr();
|
||||
~ZigbeeMgr();
|
||||
|
||||
private slots:
|
||||
void getData();
|
||||
void confirmWrite(qint16 byte);
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif // SERIAL_INC_H
|
114
zigateBackend.cpp
Normal file
114
zigateBackend.cpp
Normal file
@ -0,0 +1,114 @@
|
||||
#include "main.h"
|
||||
#include <unistd.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
ZigateBackend::ZigateBackend()
|
||||
{
|
||||
bool result;
|
||||
|
||||
this->resultCodes.insert(0x8000, "Status");
|
||||
while (1)
|
||||
{
|
||||
result = this->findSerialDevice();
|
||||
if (result)
|
||||
{
|
||||
debug("Device found :" + this->serialDevicePath, INFO);
|
||||
break;
|
||||
}else
|
||||
{
|
||||
cout << "Device not found, waiting 10 seconds before retrying" << endl;
|
||||
sleep(10);
|
||||
}
|
||||
}
|
||||
//resultCodes.insert();
|
||||
}
|
||||
|
||||
ZigateBackend::~ZigateBackend()
|
||||
{
|
||||
}
|
||||
|
||||
QByteArray ZigateBackend::checksum(QByteArray msgType, QByteArray length, QByteArray datas)
|
||||
{
|
||||
quint16 temp = 0;
|
||||
int i;
|
||||
|
||||
QString str = msgType.mid(0,2);
|
||||
cout << str.toStdString() << endl;
|
||||
temp ^= qFromLittleEndian<quint16>(msgType[0] + msgType[1]);
|
||||
temp ^= qFromLittleEndian<quint16>(msgType[2] + msgType[3]);
|
||||
temp ^= qFromLittleEndian<quint16>(length[0] + length[1]);
|
||||
temp ^= qFromLittleEndian<quint16>(length[2] + length[3]);
|
||||
for (i=0;i<=(datas.count());i+=2)
|
||||
{
|
||||
temp ^= qFromLittleEndian<quint16>(datas[i] + datas[i+1]);
|
||||
}
|
||||
return QByteArray::number(temp, 16);
|
||||
}
|
||||
|
||||
QByteArray ZigateBackend::transcode(QByteArray datas)
|
||||
{
|
||||
QByteArray msg = "";
|
||||
int i;
|
||||
QByteArray byte;
|
||||
|
||||
if (datas.count()%2 != 0)
|
||||
{
|
||||
return "-1";
|
||||
}
|
||||
for (i=0;i<datas.count();i+=2)
|
||||
{
|
||||
byte = datas.mid(i,2);
|
||||
cout << byte.toStdString() << " => " << byte.toUInt(nullptr, 16) << endl;
|
||||
if (byte.toUInt(nullptr, 16)>0x10)
|
||||
{
|
||||
msg += byte;
|
||||
|
||||
}else
|
||||
{
|
||||
msg.append("02");
|
||||
msg.append(QByteArray::number(byte.toUInt(nullptr, 16) ^ 0x10, 16));
|
||||
}
|
||||
}
|
||||
|
||||
return msg;
|
||||
}
|
||||
|
||||
void ZigateBackend::sendCmd(QByteArray cmd, QByteArray len, QByteArray datas)
|
||||
{
|
||||
QByteArray msg;
|
||||
|
||||
msg = QByteArray::fromHex("01");
|
||||
msg += QByteArray::fromHex(transcode(cmd));
|
||||
msg += QByteArray::fromHex(transcode(len));
|
||||
if (!datas.isEmpty())
|
||||
{
|
||||
msg += QByteArray::fromHex(checksum(cmd, len, datas));
|
||||
msg += QByteArray::fromHex(transcode(datas));
|
||||
}else{
|
||||
msg += QByteArray::fromHex(checksum(cmd, len, "0"));
|
||||
}
|
||||
msg += QByteArray::fromHex("03");
|
||||
cout << msg.toStdString() << endl;
|
||||
}
|
||||
|
||||
bool ZigateBackend::findSerialDevice()
|
||||
{
|
||||
const auto serialPortInfos = QSerialPortInfo::availablePorts();
|
||||
for (const QSerialPortInfo &portInfo : serialPortInfos)
|
||||
{
|
||||
if (portInfo.serialNumber() == "ZIGATE+")
|
||||
{
|
||||
this->portName = portInfo.portName();
|
||||
this->serialDevicePath = portInfo.systemLocation();
|
||||
this->serialDeviceDescription = portInfo.description();
|
||||
this->serialDeviceManufacturer = portInfo.manufacturer();
|
||||
this->serialDeviceNumber = portInfo.serialNumber();
|
||||
this->serialDeviceVendor = portInfo.vendorIdentifier();
|
||||
this->serialDeviceProduct = portInfo.productIdentifier();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
378
zigateBackend.h
Normal file
378
zigateBackend.h
Normal file
@ -0,0 +1,378 @@
|
||||
#ifndef ZIGATEBACKEND_H
|
||||
#define ZIGATEBACKEND_H
|
||||
|
||||
#include "serial.inc.h"
|
||||
#include <QMap>
|
||||
#include <QSerialPortInfo>
|
||||
#include <QSerialPort>
|
||||
//#include <QArray>
|
||||
|
||||
class ZigbeeMgr;
|
||||
|
||||
class ZigateBackend : public ZigbeeMgr
|
||||
{
|
||||
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QMap <int, QString> resultCodes;
|
||||
QString portName;
|
||||
QString serialDeviceDescription;
|
||||
QString serialDeviceManufacturer;
|
||||
QString serialDeviceNumber;
|
||||
QString serialDeviceVendor;
|
||||
QString serialDeviceProduct;
|
||||
quint32 baudRate = 115200;
|
||||
//ZigbeeMgr serial;
|
||||
|
||||
ZigateBackend();
|
||||
~ZigateBackend();
|
||||
|
||||
QByteArray checksum(QByteArray msgType, QByteArray length, QByteArray datas);
|
||||
QByteArray transcode(QByteArray datas);
|
||||
void sendCmd(QByteArray cmd, QByteArray len, QByteArray datas);
|
||||
bool findSerialDevice();
|
||||
|
||||
QMap <QString, QString> clusters
|
||||
{
|
||||
{"0000", " (General: Basic)"},
|
||||
{"0001", " (General: Power Config)"},
|
||||
{"0002", " (General: Temperature Config)"},
|
||||
{"0003", " (General: Identify)"},
|
||||
{"0004", " (General: Groups)"},
|
||||
{"0005", " (General: Scenes)"},
|
||||
{"0006", " (General: On/Off)"},
|
||||
{"0007", " (General: On/Off Config)"},
|
||||
{"0008", " (General: Level Control)"},
|
||||
{"0009", " (General: Alarms)"},
|
||||
{"000A", " (General: Time)"},
|
||||
{"000F", " (General: Binary Input Basic)"},
|
||||
{"0020", " (General: Poll Control)"},
|
||||
{"0019", " (General: OTA)"},
|
||||
{"0101", " (General: Door Lock"},
|
||||
{"0201", " (HVAC: Thermostat)"},
|
||||
{"0202", " (HVAC: Fan Control)"},
|
||||
{"0300", " (Lighting: Color Control)"},
|
||||
{"0400", " (Measurement: Illuminance)"},
|
||||
{"0402", " (Measurement: Temperature)"},
|
||||
{"0405", " (Measurement: Humidity)"},
|
||||
{"0406", " (Measurement: Occupancy Sensing)"},
|
||||
{"0500", " (Security & Safety: IAS Zone)"},
|
||||
{"0702", " (Smart Energy: Metering)"},
|
||||
{"0B05", " (Misc: Diagnostics)"},
|
||||
{"1000", " (ZLL: Commissioning)"},
|
||||
{"FF01", " Xiaomi private"},
|
||||
{"FF02", " Xiaomi private"},
|
||||
{"1234", " Xiaomi private"}
|
||||
};
|
||||
|
||||
/*Zigate -> Obj 0x0008 Set heartBeat enable/disable (ZiGatev2 Firm v3.20) <enable/disable : uint8_t >
|
||||
0 – disable (by default)
|
||||
1 – enable
|
||||
Status
|
||||
*/
|
||||
QList <QByteArray> heartbeatEnable = {"0008", "0001", "0210"};
|
||||
|
||||
/*Zigate -> Obj 0x0009 Get Network State (Firm v3.0d) Status
|
||||
Network State Response
|
||||
*/
|
||||
QByteArray networkState = "0009";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0010 Get Version Status
|
||||
Version List
|
||||
*/
|
||||
QList <QByteArray> getVersion = {"0010", "0000", ""};
|
||||
/*
|
||||
Zigate -> Obj 0x0011 Reset Status, followed by chip reset
|
||||
*/
|
||||
QByteArray reset = "0011";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0012 Erase Persistent Data Status
|
||||
*/
|
||||
QByteArray erasePersistentData = "0012";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0013 ZLO/ZLL “Factory New” Reset No payload Status, followed by chip reset
|
||||
Resets (“Factory New”) the Control Bridge but persists the frame counters.
|
||||
*/
|
||||
QByteArray factoryReset = "0013";
|
||||
/*
|
||||
Zigate -> Obj 0x0014 Permit Join Status, followed by “Permit join” status response
|
||||
*/
|
||||
QByteArray permitJoin = "0014";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0015 Get devices list Get devices authentified in the ZiGate’s PDM. Status, followed by “Get devices list” response
|
||||
*/
|
||||
QByteArray getDevicesList = "0015";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0016 Set Time server (v3.0f) <timestamp UTC: uQByteArray32_t> from 2000-01-01 00:00:00 Status
|
||||
*/
|
||||
QByteArray setTimeServer = "0016";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0017 GetTime server (v3.0f) Status
|
||||
Get_timer_server_response
|
||||
*/
|
||||
QByteArray getTimerServerResponse = "0017";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0018 SetLed (v3.0f) <on/off : uint8_t >
|
||||
0 – Off
|
||||
1- On
|
||||
Status
|
||||
*/
|
||||
QByteArray setLed = "0018";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0019 Set Certification (v3.0f) <type : uint8_t >
|
||||
1- CE
|
||||
2- FCC
|
||||
Status
|
||||
*/
|
||||
QByteArray setCertification = "0019";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0020 Set Expended PANID <64-bit Extended PAN ID:uint64_t> Status
|
||||
*/
|
||||
QByteArray setExpended = "0020";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0021 Set Channel Mask <channel mask:uint32_t> Status
|
||||
*/
|
||||
QByteArray setChannelMask = "0021";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0022 Set Security State + Key <key type: uint8_t> Status
|
||||
<key: data>
|
||||
*/
|
||||
QByteArray setSecurityState = "0022";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0023 Set device Type <device type: uint8_t> Status
|
||||
Device Types:
|
||||
0 = Coordinator
|
||||
1 = Router
|
||||
*/
|
||||
QByteArray setDeviceType = "0023";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0024 Start Network Status
|
||||
Network Joined / Formed
|
||||
*/
|
||||
QByteArray startNetwork = "0024";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0025 Start Network Scan Status
|
||||
Network Joined / Formed
|
||||
*/
|
||||
QByteArray StartNetworkScan = "0025";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0026 Remove Device <Parent IEEE address: uint64_t> Status
|
||||
<Child IEEE address: uint64_t> Leave indication
|
||||
*/
|
||||
QByteArray removeDevice = "0026";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0027 Enable Permissions Controlled Joins <Enable/Disable : uint8_t> Status
|
||||
1 – Enable
|
||||
2 – Disable
|
||||
*/
|
||||
QByteArray enablePermControlledJoins = "0027";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0028 Authenticate Device <IEEE address "; uint64_t> Status
|
||||
<Key : 16 elements byte each> Authenticate response
|
||||
*/
|
||||
QByteArray authenticateDevice = "0028";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0029 Out of Band Commissioning Data Request <Address of interest : uint64_t> Status
|
||||
<Key : 16 elements byte each> Out of Band Commissioning Data Response
|
||||
*/
|
||||
QByteArray outOfBandCDR = "0029";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x002B User Descriptor Set < target short address: uint16_t> Status
|
||||
< Address of interest: uint16_t> User descriptor notify response
|
||||
< string length: uint8_t>
|
||||
<data: uint8_t stream >
|
||||
*/
|
||||
QByteArray userDescriptorSet = "002B";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x002C User Descritpor Request < target short address: uint16_t> Status
|
||||
< Address of interest: uint16_t> User Descriptor response
|
||||
*/
|
||||
QByteArray userDescriptorRequest = "002C";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0531 Complex Descriptor request < target short address: uint16_t> Status
|
||||
< Address of interest: uint16_t> Complex Descriptor Response
|
||||
*/
|
||||
QByteArray complexDescriptorRequest = "0531";
|
||||
|
||||
/*Zigate -> Obj 0x0030 Bind <target extended address: uint64_t> Status
|
||||
<target endpoint: uint8_t> Bind response
|
||||
<cluster ID: uint16_t>
|
||||
<destination address mode: uint8_t>
|
||||
<destination address:uint16_t or uint64_t>
|
||||
<destination endpoint (value ignored for group address): uint8_t>
|
||||
*/
|
||||
QByteArray bind = "0030";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0031 Unbind <target extended address: uint64_t> Status
|
||||
<target endpoint: uint8_t> Unbind response
|
||||
<cluster ID: uint16_t>
|
||||
<destination address mode: uint8_t>
|
||||
<destination address: uint16_t or uint64_t>
|
||||
<destination endpoint(value ignored for group address): uint8_t>
|
||||
*/
|
||||
QByteArray unBind = "0031";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0040 Network Address request <target short address: uint16_t> <extended address:uint64_t> Status
|
||||
<request type: uint8_t> Network Address response
|
||||
<start index: uint8_t>
|
||||
Request Type:
|
||||
0 = Single Request
|
||||
1 = Extended Request
|
||||
*/
|
||||
QByteArray networkAddressRequest = "0040";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0041 IEEE Address request <target short address: uint16_t> Status
|
||||
<short address: uint16_t> IEEE Address response
|
||||
<request type: uint8_t>
|
||||
<start index: uint8_t>
|
||||
Request Type:
|
||||
0 = Single
|
||||
1 = Extended
|
||||
*/
|
||||
QByteArray ieeeAddressRequest = "0041";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0042 Node Descriptor request <target short address: uint16_t> Status
|
||||
Node Descriptor response
|
||||
*/
|
||||
QByteArray nodeDescriptorRequest = "0042";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0043 Simple Descriptor request <target short address: uint16_t> Status
|
||||
<endpoint: uint8_t> Simple Descriptor response
|
||||
*/
|
||||
QByteArray simpleDescriptorRequest = "0043";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0044 Power Descriptor request <target short address: uint16_t> Status
|
||||
Power Descriptor response
|
||||
*/
|
||||
QByteArray powerDescriptorRequest = "0044";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0045 Active Endpoint request <target short address: uint16_t> Status
|
||||
Active Endpoint response
|
||||
*/
|
||||
QByteArray activeEndpointRequest = "0045";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0046 Match Descriptor request <target short address: uint16_t> Status
|
||||
<profile id: uint16_t> Match Descriptor response
|
||||
<number of input clusters: uint8_t>
|
||||
<input cluster list:data: each entry is uint16_t >
|
||||
<number of output clusters: uint8_t>
|
||||
<output cluster list:data: each entry is uint16_t>
|
||||
*/
|
||||
QByteArray matchDescriptorRequest = "0046";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0047 Management Leave request <target short address: uint16_t> Status
|
||||
<extended address: uint64_t> Management Leave response
|
||||
<Rejoin: uint8_t> Leave indication
|
||||
<Remove Children: uint8_t>
|
||||
Rejoin,
|
||||
0 = Do not rejoin
|
||||
1 = Rejoin
|
||||
Remove Children
|
||||
0 = Leave, do not remove children
|
||||
1 = Leave, removing children
|
||||
*/
|
||||
QByteArray managementLeaveRequest = "0047";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0049 Permit Joining request <target short address: uint16_t> Status
|
||||
<interval: uint8_t>
|
||||
<TCsignificance: uint8_t>
|
||||
Target address: May be address of gateway node or broadcast (0xfffc)
|
||||
Interval:
|
||||
0 = Disable Joining
|
||||
1 – 254 = Time in seconds to allow joins
|
||||
255 = Allow all joins
|
||||
TCsignificance:
|
||||
0 = No change in authentication
|
||||
1 = Authentication policy as spec
|
||||
*/
|
||||
QByteArray permitJoiningRequest = "0049";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x004A Management Network Update request <target short address: uint16_t> Status
|
||||
<channel mask: uint32_t> Management Network Update response
|
||||
<scan duration: uint8_t>
|
||||
<scan count: uint8_t>
|
||||
<network update ID: uint8_t>
|
||||
<network manager short address: uint16_t>
|
||||
Channel Mask:
|
||||
Mask of channels to scan
|
||||
Scan Duration:
|
||||
0 – 0xFF Multiple of superframe duration.
|
||||
Scan count:
|
||||
Scan repeats 0 – 5
|
||||
Network Update ID:
|
||||
0 – 0xFF Transaction ID for scan
|
||||
*/
|
||||
QByteArray manaementNetworkUpdateRequest = "004A";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x004B System Server Discovery request <target short address: uint16_t> Status
|
||||
<Server mask: uint16_t> System Server Discovery response
|
||||
Bitmask according to spec.
|
||||
*/
|
||||
QByteArray systemServerDiscoveryRequest = "004B";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x004C Leave Request <extended address: uint64_t> Status
|
||||
<Rejoin: uint8_t> Leave indication Leave indication (0x8048)
|
||||
<Remove Children: uint8_t>
|
||||
Rejoin,
|
||||
0 = Do not rejoin
|
||||
1 = Rejoin
|
||||
Remove Children
|
||||
0 = Leave, do not remove children
|
||||
1 = Leave, removing children
|
||||
*/
|
||||
QByteArray leaveRequest = "004C";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x004E Management LQI request <Target Address : uint16_t> Status
|
||||
<Start Index : uint8_t> Management LQI response
|
||||
*/
|
||||
QByteArray managementLqiRequest = "004E";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0051 Free PDM internal address map table (From v.322 ZiGate+) Status
|
||||
*/
|
||||
QByteArray freePdmTable = "0051";
|
||||
|
||||
/*
|
||||
Zigate -> Obj 0x0052 Get PDM child table size (From v.322 ZiGate+) Status
|
||||
PDM child table size response
|
||||
*/
|
||||
QByteArray getPdmChildTableSize = "0052";
|
||||
|
||||
};
|
||||
#endif // ZIGATEBACKEND_H
|
28
zigbeemanager.pro
Normal file
28
zigbeemanager.pro
Normal file
@ -0,0 +1,28 @@
|
||||
QT += core gui
|
||||
QT += serialport
|
||||
QT += widgets
|
||||
QT += KConfigCore KConfigGui
|
||||
QT += KCoreAddons
|
||||
CONFIG += c++17 console
|
||||
CONFIG -= app_bundle
|
||||
|
||||
# You can make your code fail to compile if it uses deprecated APIs.
|
||||
# In order to do so, uncomment the following line.
|
||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
SOURCES += \
|
||||
library.cpp \
|
||||
main.cpp \
|
||||
serial.inc.cpp \
|
||||
zigateBackend.cpp
|
||||
|
||||
# Default rules for deployment.
|
||||
qnx: target.path = /tmp/$${TARGET}/bin
|
||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
!isEmpty(target.path): INSTALLS += target
|
||||
|
||||
HEADERS += \
|
||||
library.h \
|
||||
main.h \
|
||||
serial.inc.h \
|
||||
zigateBackend.h
|
430
zigbeemanager.pro.user
Normal file
430
zigbeemanager.pro.user
Normal file
@ -0,0 +1,430 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 9.0.1, 2023-04-08T05:18:14. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{a3117c94-e673-4dca-aa4c-050bbea034fe}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="qlonglong">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">true</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">2</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="CppEditor.QuickFix">
|
||||
<value type="bool" key="UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.7 (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.7 (qt5)</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{a8a6d767-5e05-45c7-b70b-532f99112b6a}</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/zigbeemanager/../build-zigbeemanager-Qt_5_15_7_qt5-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-zigbeemanager-Qt_5_15_7_qt5-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/zigbeemanager/../build-zigbeemanager-Qt_5_15_7_qt5-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-zigbeemanager-Qt_5_15_7_qt5-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/zigbeemanager/../build-zigbeemanager-Qt_5_15_7_qt5-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-zigbeemanager-Qt_5_15_7_qt5-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">zigbeemanager</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/daniel/develop/zigbeemanager/zigbeemanager.pro</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/daniel/develop/zigbeemanager/zigbeemanager.pro</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/daniel/develop/build-zigbeemanager-Qt_5_15_7_qt5-Debug</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.1</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{893f9ca6-0efa-4c08-a4a6-5a818f60a8a0}</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/zigbeemanager/../build-zigbeemanager-Desktop-Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-zigbeemanager-Desktop-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/zigbeemanager/../build-zigbeemanager-Desktop-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-zigbeemanager-Desktop-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="int" key="EnableQmlDebugging">0</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/daniel/develop/zigbeemanager/../build-zigbeemanager-Desktop-Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/daniel/develop/build-zigbeemanager-Desktop-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="int" key="QtQuickCompiler">0</value>
|
||||
<value type="int" key="SeparateDebugInfo">0</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="qlonglong">2</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
Reference in New Issue
Block a user