Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+93
@@ -0,0 +1,93 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* Definition des PAN-Telegramms PanObserverController
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Gerlinde Rudolphus, SLSA, 2013-03-05
|
||||
*/
|
||||
|
||||
#include "bsm_telegrams_observer_controller.h"
|
||||
#include <QStringBuilder>
|
||||
|
||||
namespace BuildingControlUnit
|
||||
{
|
||||
namespace BSM
|
||||
{
|
||||
namespace Telegrams
|
||||
{
|
||||
|
||||
QByteArray PanObserverController::print() const
|
||||
{
|
||||
QByteArray ret = Telegram::print() ;
|
||||
|
||||
ret += "\n TimeofEvent = " + QByteArray::number(m_timeofEvent);
|
||||
ret += "\n AmmunitionId = " + QByteArray::number(m_ammunitionId);
|
||||
switch (m_ammunitionId)
|
||||
{
|
||||
case 208:
|
||||
ret += " (Observer/Controller)";
|
||||
break;
|
||||
case 209:
|
||||
ret += " (Medical Gun)";
|
||||
break;
|
||||
case 210:
|
||||
ret += " (Logistic Gun)";
|
||||
break;
|
||||
case 211:
|
||||
ret += " (Configuration Tool)";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
ret += "\n Code Number = " + QByteArray::number(m_codeNo);
|
||||
ret += "\n Detector Number = " + QByteArray::number(m_detectorNo);
|
||||
switch (m_codeNo)
|
||||
{
|
||||
case 1:
|
||||
ret += " (Test)";
|
||||
break;
|
||||
case 2:
|
||||
ret += " (Zerstoerung, Ausfall)";
|
||||
break;
|
||||
case 4:
|
||||
ret += " (Aktivierung)";
|
||||
break;
|
||||
case 18:
|
||||
ret += " (Reaktivierung)";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
ret += "\n ID Originator = " + QByteArray::number(m_originatorId);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
QByteArray PanObserverController::payload() const
|
||||
{
|
||||
Q_ASSERT(false);
|
||||
return QByteArray();
|
||||
}
|
||||
|
||||
Telegram *PanObserverController::fromBytestream(const QByteArray &data)
|
||||
{
|
||||
if (data.length() < 6)
|
||||
return nullptr;
|
||||
|
||||
bool bOk = true;
|
||||
PanObserverController rep;
|
||||
rep.m_timeofEvent = decode_ushort_little(data, 0, bOk);
|
||||
rep.m_ammunitionId = static_cast<unsigned short>(data[2] & 0xFF);
|
||||
rep.m_codeNo = static_cast<unsigned short>(data[3] & 0xFF);
|
||||
rep.m_detectorNo = static_cast<unsigned short>(data[4] & 0xFF);
|
||||
rep.m_originatorId = decode_ushort_little(data, 5, bOk);
|
||||
|
||||
return bOk ? new PanObserverController(rep) : nullptr;
|
||||
}
|
||||
|
||||
} // namespace Telegrams
|
||||
} // namespace BSM
|
||||
} // namespace BuildingControlUnit
|
||||
Reference in new issue
Block a user