This repository has been archived on 2026-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
powersync-zigbee/zigbeemanager.cpp
2017-10-17 16:21:31 +02:00

50 lines
1.1 KiB
C++

#include "zigbeemanager.h"
#include "loggingcategory.h"
ZigbeeManager::ZigbeeManager(const QString &serialPort, QObject *parent) :
QObject(parent),
m_serialPort(serialPort)
{
m_interface = new ZigbeeInterface(this);
connect(m_interface, &ZigbeeInterface::messageReceived, this, &ZigbeeManager::onMessageReceived);
if (!m_interface->enable(m_serialPort)) {
qCWarning(dcZigbee()) << "Could not enable ZigbeeInterface on" << m_serialPort;
return;
}
initController();
}
QString ZigbeeManager::serialPort() const
{
return m_serialPort;
}
void ZigbeeManager::setSerialPort(const QString &serialPort)
{
if (m_serialPort == serialPort)
return;
m_serialPort = serialPort;
m_interface->disable();
m_interface->enable(m_serialPort);
}
void ZigbeeManager::initController()
{
ZigbeeInterfaceMessage message;
message.setMessageType(Zigbee::DataManagerAvailableResponse);
message.setData(QByteArray::fromRawData("\x00\x00", 2));
m_interface->sendMessage(message);
}
void ZigbeeManager::onMessageReceived(const ZigbeeInterfaceMessage &message)
{
qCDebug(dcZigbee()) << message;
}