From 930e1e5a9c6f58946f910b934452036761f9eebe Mon Sep 17 00:00:00 2001 From: Uwe Risse <dg2ycb@gmx.de> Date: Sat, 17 Dec 2022 18:54:49 +0100 Subject: [PATCH] PSK Reporter spotting is now also possible for frequencies > 4 GHz. This is required for QO-100, for example. --- Network/PSKReporter.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Network/PSKReporter.cpp b/Network/PSKReporter.cpp index 5543c222b..1161a583c 100644 --- a/Network/PSKReporter.cpp +++ b/Network/PSKReporter.cpp @@ -299,7 +299,7 @@ void PSKReporter::impl::build_preamble (QDataStream& message) << quint16 (0xffff) // Option 1 Field Length (variable) << quint32 (30351u) // Option 1 Enterprise Number << quint16 (0x8000 + 5u) // Option 2 Information Element ID (frequency) - << quint16 (4u) // Option 2 Field Length + << quint16 (5u) // Option 2 Field Length << quint32 (30351u) // Option 2 Enterprise Number << quint16 (0x8000 + 6u) // Option 3 Information Element ID (sNR) << quint16 (1u) // Option 3 Field Length @@ -423,8 +423,19 @@ void PSKReporter::impl::send_report (bool send_residue) // Sender information writeUtfString (tx_out, spot.call_); - tx_out - << static_cast<quint32> (spot.freq_) + uint8_t data[5]; + long long int i64 = spot.freq_; + data[0] = ( i64 & 0xff); + data[1] = ((i64 >> 8) & 0xff); + data[2] = ((i64 >> 16) & 0xff); + data[3] = ((i64 >> 24) & 0xff); + data[4] = ((i64 >> 32) & 0xff); + tx_out // BigEndian + << static_cast<uint8_t> (data[4]) + << static_cast<uint8_t> (data[3]) + << static_cast<uint8_t> (data[2]) + << static_cast<uint8_t> (data[1]) + << static_cast<uint8_t> (data[0]) << static_cast<qint8> (spot.snr_); writeUtfString (tx_out, spot.mode_); writeUtfString (tx_out, spot.grid_);