Added idle ellipsis during band fades
This commit is contained in:
parent
03b2b11938
commit
478a909b90
102
mainwindow.cpp
102
mainwindow.cpp
@ -4852,8 +4852,8 @@ void MainWindow::guiUpdate()
|
|||||||
// update repeat button text once per second..
|
// update repeat button text once per second..
|
||||||
updateRepeatButtonDisplay();
|
updateRepeatButtonDisplay();
|
||||||
|
|
||||||
// once per second...but not when we're transmitting
|
// once per second...but not when we're transmitting, unless it's in the first second...
|
||||||
if(!m_transmitting){
|
if(!m_transmitting || (m_sec0 % (m_TRperiod))){
|
||||||
// process all received activity...
|
// process all received activity...
|
||||||
processActivity(forceDirty);
|
processActivity(forceDirty);
|
||||||
|
|
||||||
@ -8934,6 +8934,9 @@ void MainWindow::processActivity(bool force) {
|
|||||||
// Recent Rx Activity
|
// Recent Rx Activity
|
||||||
processRxActivity();
|
processRxActivity();
|
||||||
|
|
||||||
|
// Process Idle Activity
|
||||||
|
processIdleActivity();
|
||||||
|
|
||||||
// Grouped Compound Activity
|
// Grouped Compound Activity
|
||||||
processCompoundActivity();
|
processCompoundActivity();
|
||||||
|
|
||||||
@ -8974,6 +8977,47 @@ void MainWindow::resetTimeDeltaAverage(){
|
|||||||
observeTimeDeltaForAverage(0);
|
observeTimeDeltaForAverage(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MainWindow::processIdleActivity() {
|
||||||
|
auto now = DriftingDateTime::currentDateTimeUtc();
|
||||||
|
|
||||||
|
// if we detect an idle offset, insert an ellipsis into the activity queue and band activity
|
||||||
|
foreach(auto offset, m_bandActivity.keys()){
|
||||||
|
auto details = m_bandActivity[offset];
|
||||||
|
if(details.isEmpty()){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto last = details.last();
|
||||||
|
if((last.bits & Varicode::JS8CallLast) == Varicode::JS8CallLast){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(last.utcTimestamp.secsTo(now) < m_TRperiod){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(last.text == " . . . "){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
ActivityDetail d = {};
|
||||||
|
d.text = " . . . ";
|
||||||
|
d.isFree = true;
|
||||||
|
d.utcTimestamp = last.utcTimestamp;
|
||||||
|
d.snr = last.snr;
|
||||||
|
d.tdrift = last.tdrift;
|
||||||
|
d.freq = last.freq;
|
||||||
|
|
||||||
|
if(hasExistingMessageBuffer(offset, false, nullptr)){
|
||||||
|
m_messageBuffer[offset].msgs.append(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_rxActivityQueue.append(d);
|
||||||
|
m_bandActivity[offset].append(d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::processRxActivity() {
|
void MainWindow::processRxActivity() {
|
||||||
if(m_rxActivityQueue.isEmpty()){
|
if(m_rxActivityQueue.isEmpty()){
|
||||||
return;
|
return;
|
||||||
@ -9026,24 +9070,6 @@ void MainWindow::processRxActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
// if this is a recent non-directed offset, bump the cache and display...
|
|
||||||
if(isRecentOffset(d.freq)){
|
|
||||||
markOffsetRecent(d.freq);
|
|
||||||
shouldDisplay = true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
// if this is a (recent) directed offset, bump the cache, and display...
|
|
||||||
// this will allow a directed free text command followed by non-buffered data frames.
|
|
||||||
bool isDirectedAllCall = false;
|
|
||||||
if(isDirectedOffset(d.freq, &isDirectedAllCall)){
|
|
||||||
markOffsetDirected(d.freq, isDirectedAllCall);
|
|
||||||
shouldDisplay = shouldDisplay || !isDirectedAllCall;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// TODO: incremental printing of directed messages
|
// TODO: incremental printing of directed messages
|
||||||
// Display if:
|
// Display if:
|
||||||
// 1) this is a directed message header "to" us and should be buffered...
|
// 1) this is a directed message header "to" us and should be buffered...
|
||||||
@ -9053,11 +9079,6 @@ void MainWindow::processRxActivity() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
// ok, we're good to display...let's cache that fact and then display!
|
|
||||||
markOffsetRecent(d.freq);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool isFirst = (d.bits & Varicode::JS8CallFirst) == Varicode::JS8CallFirst;
|
bool isFirst = (d.bits & Varicode::JS8CallFirst) == Varicode::JS8CallFirst;
|
||||||
bool isLast = (d.bits & Varicode::JS8CallLast) == Varicode::JS8CallLast;
|
bool isLast = (d.bits & Varicode::JS8CallLast) == Varicode::JS8CallLast;
|
||||||
|
|
||||||
@ -9083,6 +9104,37 @@ void MainWindow::processRxActivity() {
|
|||||||
m_rxFrameBlockNumbers.remove(d.freq);
|
m_rxFrameBlockNumbers.remove(d.freq);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// TODO: this works but should also print in the rx window.
|
||||||
|
foreach(auto offset, m_bandActivity.keys()){
|
||||||
|
if(seen.contains(offset)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(m_bandActivity[offset].isEmpty()){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto last = m_bandActivity[offset].last();
|
||||||
|
if((last.bits & Varicode::JS8CallLast) == Varicode::JS8CallLast){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto now = DriftingDateTime::currentDateTimeUtc();
|
||||||
|
if(last.utcTimestamp.secsTo(now) < m_TRperiod){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
ActivityDetail d = {};
|
||||||
|
d.text = " . . . ";
|
||||||
|
d.isFree = true;
|
||||||
|
d.utcTimestamp = now;
|
||||||
|
d.snr = -99;
|
||||||
|
|
||||||
|
m_bandActivity[offset].append(d);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::processCompoundActivity() {
|
void MainWindow::processCompoundActivity() {
|
||||||
|
@ -935,6 +935,7 @@ private:
|
|||||||
void observeTimeDeltaForAverage(float delta);
|
void observeTimeDeltaForAverage(float delta);
|
||||||
void resetTimeDeltaAverage();
|
void resetTimeDeltaAverage();
|
||||||
void processRxActivity();
|
void processRxActivity();
|
||||||
|
void processIdleActivity();
|
||||||
void processCompoundActivity();
|
void processCompoundActivity();
|
||||||
void processBufferedActivity();
|
void processBufferedActivity();
|
||||||
void processCommandActivity();
|
void processCommandActivity();
|
||||||
|
Loading…
Reference in New Issue
Block a user