Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+73
@@ -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
|
||||
Reference in new issue
Block a user