Added spotting of callsign when sending forced identify data prefix

This commit is contained in:
Jordan Sherer 2019-05-27 18:14:34 -04:00
parent b94f93780f
commit 219d434006
2 changed files with 27 additions and 13 deletions

View File

@ -36,7 +36,7 @@
<item>
<widget class="QTabWidget" name="tabWidget_2">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="stationTab">
<attribute name="title">
@ -367,9 +367,9 @@
</widget>
</item>
<item>
<widget class="QCheckBox" name="transmit_directed_check_box">
<widget class="QCheckBox" name="avoid_forced_identify_check_box">
<property name="text">
<string>Immediately transmit CQ, Reply, Info, Saved, and Directed messages from the menu</string>
<string>Allow sending standard messages without callsign</string>
</property>
</widget>
</item>
@ -388,9 +388,9 @@
</widget>
</item>
<item>
<widget class="QCheckBox" name="avoid_forced_identify_check_box">
<widget class="QCheckBox" name="transmit_directed_check_box">
<property name="text">
<string>Allow sending standard messages without callsign</string>
<string>Immediately transmit CQ, Reply, Info, Saved, and Directed messages from the menu</string>
</property>
</widget>
</item>
@ -4075,8 +4075,6 @@ soundcard changes</string>
<tabstop>monitor_off_check_box</tabstop>
<tabstop>tx_qsy_check_box</tabstop>
<tabstop>transmit_directed_check_box</tabstop>
<tabstop>heartbeat_anywhere_check_box</tabstop>
<tabstop>heartbeat_qso_pause_check_box</tabstop>
<tabstop>spellcheck_check_box</tabstop>
<tabstop>autoreply_off_check_box</tabstop>
<tabstop>relay_disabled_check_box</tabstop>

View File

@ -9783,17 +9783,33 @@ void MainWindow::processRxActivity() {
}
} else {
} else if(d.isDirected && d.text.contains("<....>")){
// if this is a _partial_ directed message, skip until the complete call comes through.
if(d.isDirected && d.text.contains("<....>")){
continue;
}
continue;
} else if(d.isDirected && d.text.contains(": HB ")){ // TODO: HEARTBEAT
// if this is a heartbeat, process elsewhere...
continue;
}
if(d.isDirected && d.text.contains(": HB ")){ // TODO: HEARTBEAT
continue;
// if this is the first data frame of a standard message, parse the first word callsigns and spot them :)
if((d.bits & Varicode::JS8CallFirst) == Varicode::JS8CallFirst && !d.isDirected && !d.isCompound){
auto calls = Varicode::parseCallsigns(d.text);
if(!calls.isEmpty()){
auto theirCall = calls.first();
if(d.text.startsWith(theirCall) && d.text.mid(theirCall.length(), 1) == ":"){
CallDetail cd = {};
cd.call = theirCall;
cd.freq = d.freq;
cd.snr = d.snr;
cd.bits = d.bits;
cd.tdrift = d.tdrift;
cd.utcTimestamp = d.utcTimestamp;
logCallActivity(cd, true);
}
}
}
// TODO: incremental printing of directed messages
// Display if:
// 1) this is a directed message header "to" us and should be buffered...