Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

@@ -0,0 +1,73 @@
/**
* @RDE_HEADER@
* Definition des PAN-Telegramms PanTechnicalStatus
* $Id$
* $HeadURL$
* $Author$
* Created by Gerlinde Rudolphus, SLSA, 2013-03-05
*/
#include "bsm_telegrams_technical_status.h"
#include <QStringBuilder>
namespace BuildingControlUnit
{
namespace BSM
{
namespace Telegrams
{
QByteArray PanTechnicalStatus::print() const
{
QByteArray ret = Telegram::print() ;
unsigned short first = m_failures;
unsigned short failRFComm = (first & 0x80) >> 7;
unsigned short failRAM = (first & 0x40) >> 6;
unsigned short failFlashRom = (first & 0x20) >> 5;
unsigned short batteryLow = (first & 0x10) >> 4;
unsigned short batteryEol = (first & 0x8) >> 3;
unsigned short optical = (first & 0x4) >> 2;
unsigned short flashlight = (first & 0x2) >> 1;
ret += "\n TimeofEvent = " + QByteArray::number(m_timeofEvent);
ret += "\n Failures = " + QByteArray::number(m_failures);
ret += "\n FailRFComm = " + QByteArray::number(failRFComm);
ret += "\n FailRAM = " + QByteArray::number(failRAM);
ret += "\n FailROM = " + QByteArray::number(failFlashRom);
ret += "\n MCBattery = " + QByteArray::number(batteryLow);
ret += "\n OSBattery = " + QByteArray::number(batteryEol);
ret += "\n Optical = " + QByteArray::number(optical);
ret += "\n Flashlight = " + QByteArray::number(flashlight);
ret += "\n RFCommCRCErrorCount = " + QByteArray::number(m_rfCommCRCErrorCount);
ret += "\n LostBeaconsCount = " + QByteArray::number(m_lostBeaconsCount);
ret += "\n DetectorNo = " + QByteArray::number(m_detectorNo);
return ret;
}
QByteArray PanTechnicalStatus::payload() const
{
Q_ASSERT(false);
return QByteArray();
}
Telegram *PanTechnicalStatus::fromBytestream(const QByteArray &data)
{
if (data.length() < 6)
return nullptr;
bool bOk = true;
PanTechnicalStatus rep;
rep.m_timeofEvent = decode_ushort_little(data, 0, bOk);
rep.m_failures = static_cast<unsigned short>(data[2] & 0xFF);
rep.m_rfCommCRCErrorCount = static_cast<unsigned short>(data[3] & 0xFF);
rep.m_lostBeaconsCount = static_cast<unsigned short>(data[4] & 0xFF);
rep.m_detectorNo = static_cast<unsigned short>(data[5] & 0xFF);
return bOk ? new PanTechnicalStatus(rep) : nullptr;
}
} // namespace Telegrams
} // namespace BSM
} // namespace BuildingControlUnit