Added ability to display when we receive the final transmission frame of a message
This commit is contained in:
parent
58032b6ae4
commit
deb228948d
@ -3176,6 +3176,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
||||
ActivityDetail d;
|
||||
d.isLowConfidence = decodedtext.isLowConfidence();
|
||||
d.isFree = !decodedtext.isStandardMessage();
|
||||
d.bits = decodedtext.bits();
|
||||
d.firstCall = decodedtext.CQersCall();
|
||||
if(d.firstCall.isEmpty()){
|
||||
auto words = decodedtext.messageWords();
|
||||
@ -3333,6 +3334,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
||||
// TODO: jsherer - parse decode...
|
||||
RXDetail d;
|
||||
d.isFree = !decodedtext.isStandardMessage();
|
||||
d.bits = decodedtext.bits();
|
||||
d.freq = audioFreq;
|
||||
d.text = decodedtext.message();
|
||||
d.utcTimestamp = QDateTime::currentDateTimeUtc();
|
||||
@ -5546,6 +5548,7 @@ bool MainWindow::prepareNextMessageFrame()
|
||||
{
|
||||
QString frame = popMessageFrame();
|
||||
if(frame.isEmpty()){
|
||||
m_i3bit = Varicode::FT8;
|
||||
ui->nextFreeTextMsg->clear();
|
||||
return false;
|
||||
} else {
|
||||
@ -5553,6 +5556,12 @@ bool MainWindow::prepareNextMessageFrame()
|
||||
|
||||
int count = m_txFrameCount;
|
||||
int sent = count - m_txFrameQueue.count();
|
||||
|
||||
m_i3bit = Varicode::FT8Call;
|
||||
if(count == sent){
|
||||
m_i3bit = Varicode::FT8CallLast;
|
||||
}
|
||||
|
||||
ui->startTxButton->setText(QString("Sending (%1/%2)").arg(sent).arg(count));
|
||||
|
||||
if(ui->beaconButton->isChecked()){
|
||||
@ -7959,6 +7968,9 @@ void MainWindow::displayActivity(bool force){
|
||||
if(item.isLowConfidence){
|
||||
item.text = QString("[%1]").arg(item.text);
|
||||
}
|
||||
if(item.bits == Varicode::FT8CallLast){
|
||||
item.text = QString("%1 \u220E ").arg(item.text);
|
||||
}
|
||||
text.append(item.text);
|
||||
snr = item.snr;
|
||||
age = since(item.utcTimestamp);
|
||||
@ -8063,6 +8075,10 @@ void MainWindow::displayActivity(bool force){
|
||||
RXDetail d = m_rxFrameQueue.first();
|
||||
m_rxFrameQueue.removeFirst();
|
||||
|
||||
if(d.bits == Varicode::FT8CallLast){
|
||||
d.text = QString("%1 \u220E ").arg(d.text);
|
||||
}
|
||||
|
||||
int freq = d.freq/10*10;
|
||||
int block = m_rxFrameBlockNumbers.contains(freq) ? m_rxFrameBlockNumbers[freq] : -1;
|
||||
block = logRxTxMessageText(d.utcTimestamp, d.isFree, d.text, d.freq, false, block);
|
||||
|
@ -656,6 +656,7 @@ private:
|
||||
{
|
||||
bool isFree;
|
||||
bool isLowConfidence;
|
||||
int bits;
|
||||
QString firstCall;
|
||||
QString secondCall;
|
||||
int freq;
|
||||
@ -667,6 +668,8 @@ private:
|
||||
struct RXDetail
|
||||
{
|
||||
bool isFree;
|
||||
bool isLowConfidence;
|
||||
int bits;
|
||||
int freq;
|
||||
QString text;
|
||||
QDateTime utcTimestamp;
|
||||
|
11
varicode.h
11
varicode.h
@ -15,6 +15,17 @@
|
||||
class Varicode
|
||||
{
|
||||
public:
|
||||
enum FrameType{
|
||||
FT8 = 0, // [000]
|
||||
FT8Fox = 1, // [001]
|
||||
FT8Call = 2, // [010]
|
||||
FT8CallLast = 3, // [011] <- used to indicate last frame in transmission
|
||||
FT8CallReservedA = 4, // [100]
|
||||
FT8CallReservedB = 5, // [101]
|
||||
FT8CallReservedC = 6, // [110]
|
||||
FT8CallReservedD = 7, // [111]
|
||||
};
|
||||
|
||||
//Varicode();
|
||||
|
||||
static QStringList parseCallsigns(QString const &input);
|
||||
|
Loading…
Reference in New Issue
Block a user