From 927a533040607ee5b8d773deba4eb2dd533605e1 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 2 Dec 2014 23:30:25 +0100 Subject: [PATCH] refs #349, some convenience functions --- src/blackmisc/avaircraft.cpp | 4 ++-- src/blackmisc/avaircraft.h | 8 +++++++- src/blackmisc/aviotransponder.cpp | 19 +++++++++++++++++++ src/blackmisc/aviotransponder.h | 9 +++++++++ 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/src/blackmisc/avaircraft.cpp b/src/blackmisc/avaircraft.cpp index cb034ce4e..c55ca97dd 100644 --- a/src/blackmisc/avaircraft.cpp +++ b/src/blackmisc/avaircraft.cpp @@ -63,14 +63,14 @@ namespace BlackMisc /* * Set cockpit data */ - void CAircraft::setCockpit(const CComSystem &com1, const CComSystem &com2, qint32 transponderCode) + void CAircraft::setCockpit(const CComSystem &com1, const CComSystem &com2, int transponderCode, CTransponder::TransponderMode transponderMode) { this->setCom1System(com1); this->setCom2System(com2); this->m_transponder.setTransponderCode(transponderCode); + this->m_transponder.setTransponderMode(transponderMode); } - /* * Changed data */ diff --git a/src/blackmisc/avaircraft.h b/src/blackmisc/avaircraft.h index 89230319b..2df7956ae 100644 --- a/src/blackmisc/avaircraft.h +++ b/src/blackmisc/avaircraft.h @@ -174,7 +174,7 @@ namespace BlackMisc void setCockpit(const CComSystem &com1, const CComSystem &com2, const CTransponder &transponder); //! Cockpit data - void setCockpit(const CComSystem &com1, const CComSystem &com2, qint32 transponderCode); + void setCockpit(const CComSystem &com1, const CComSystem &com2, int transponderCode, CTransponder::TransponderMode mode); //! Own SELCAL code void setSelcal(const BlackMisc::Aviation::CSelcal &selcal) { this->m_selcal = selcal; } @@ -205,6 +205,12 @@ namespace BlackMisc //! Set transponder void setTransponder(const CTransponder &transponder) { this->m_transponder = transponder; } + //! Set transponder mode + void setTransponderMode(CTransponder::TransponderMode mode) { this->m_transponder.setTransponderMode(mode); } + + //! Set transponder code + void setTransponderCode(int code) { this->m_transponder.setTransponderCode(code); } + //! Get transponder code QString getTransponderCodeFormatted() const { return this->m_transponder.getTransponderCodeFormatted(); } diff --git a/src/blackmisc/aviotransponder.cpp b/src/blackmisc/aviotransponder.cpp index abf6ac154..c3cb16291 100644 --- a/src/blackmisc/aviotransponder.cpp +++ b/src/blackmisc/aviotransponder.cpp @@ -26,6 +26,25 @@ namespace BlackMisc return CTransponder::isValidTransponderCode(this->m_transponderCode); } + bool CTransponder::isInNormalSendingMode() const + { + switch (this->m_transponderMode) + { + case ModeA: + case ModeC: + case ModeMil1: + case ModeMil2: + case ModeMil3: + case ModeMil4: + case ModeMil5: + return true; + case StateIdent: + case StateStandby: + default: + return false; + } + } + /* * String representation */ diff --git a/src/blackmisc/aviotransponder.h b/src/blackmisc/aviotransponder.h index cfd44034a..253baad15 100644 --- a/src/blackmisc/aviotransponder.h +++ b/src/blackmisc/aviotransponder.h @@ -88,6 +88,15 @@ namespace BlackMisc return modeAsString(this->getTransponderMode()); } + //! In any sending mode such as MIL1 oder ModeS + bool isInNormalSendingMode() const; + + //! Standby? + bool isInStandby() const { return StateStandby == m_transponderMode; } + + //! Standby? + bool isIdentifying() const { return StateIdent == m_transponderMode; } + //! Transponder mode as string void setModeAsString(const QString &mode) {