/** * Messages from/to a SFM (passed through Wls message PayloadMobileToHost / PayloadHostToMobile * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2017-01-10 */ #include "wls_sfm_message.h" namespace WirelessLocationSystem { /// -------------- SfmMsgGpsControl_tx -------------- QByteArray SfmMsgGpsControl_tx::getPayload() const { QByteArray payload; payload.append(isGpsOn() ? 1 : 0); return payload; } /// ---------- SfmMsgEquipmentId_rx ---------- bool SfmMsgEquipmentId::setPayload(const QByteArray &p_payload) { if (p_payload.size() != s_payloadSize) return false; m_equipmentNumber = p_payload[0] << 8; m_equipmentNumber |= ((unsigned short)p_payload[1]) & 0xFF; return true; } QByteArray SfmMsgEquipmentId::getPayload() const { QByteArray retVal(3, Qt::Uninitialized); retVal[0] = (m_equipmentNumber >> 8) & 0xFF; retVal[1] = m_equipmentNumber & 0xFF; retVal[2] = 0; return retVal; } /// ---------- SfmMsgTacticalState_rx ---------- bool SfmMsgTacticalState_rx::setPayload(const QByteArray &p_payload) { if (p_payload.size() != s_payloadSize) return false; m_tacticalState = p_payload[0]; return true; } /// ---------- SfmMsgTetra ---------- bool SfmMsgTetra_rx::setPayload(const QByteArray &p_data) { if (p_data.size() < 3) return false; m_sendCounter = p_data[0]; m_fragmentByte = p_data[1]; m_payload = p_data.mid(2); return true; } // ---------- Acknowledge_rx ---------- bool Acknowledge_rx::setPayload(const QByteArray &p_data) { if (p_data.size() != s_payloadSize) return false; m_recvCounter = p_data[0]; m_ackState = p_data[1]; return true; } // ---------- Acknowledge_tx ---------- QByteArray Acknowledge_tx::getPayload() const { QByteArray ba(2, Qt::Uninitialized); ba[0] = m_recvCounter; ba[1] = m_ackState; return ba; } /// ---------- SfmMsgLizensStatus ---------- bool SfmMsgLicenseState_rx::setPayload(const QByteArray &p_data) { if (p_data.size() != s_payloadSize) return false; if (p_data[0] != 0 && p_data[0] != 1) return false; m_isLicensed = p_data[0] ? true : false; return true; } } // namespace WirelessLocationSystem