kopia lustrzana https://github.com/jamescoxon/dl-fldigi
psk reporter mode
Added mode specifier to spot_recv and viewaddchr Allows continued correct psk31 reporting from pskviewer when a mode such as QPSK or PSKR is being used in the primary decoder channel.pull/2/head
rodzic
6c15ddde0e
commit
ab092a6f1e
|
@ -385,12 +385,12 @@ void viewer_redraw()
|
|||
brwsViewer->column_widths(cols);
|
||||
}
|
||||
|
||||
void viewaddchr(int ch, int freq, char c)
|
||||
void viewaddchr(int ch, int freq, char c, int md)
|
||||
{
|
||||
if (!dlgViewer) return;
|
||||
|
||||
if (progStatus.spot_recv)
|
||||
spot_recv(c, ch, freq);
|
||||
spot_recv(c, ch, freq, md);
|
||||
|
||||
if (rfc != wf->rfcarrier() || usb != wf->USB()) viewer_redraw();
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ extern Fl_Double_Window *dlgViewer;
|
|||
extern Fl_Double_Window* createViewer();
|
||||
|
||||
extern void openViewer();
|
||||
extern void viewaddchr(int ch, int freq, char c);
|
||||
extern void viewaddchr(int ch, int freq, char c, int md);
|
||||
extern void initViewer();
|
||||
extern void viewclearchannel(int ch);
|
||||
extern void viewer_paste_freq(int freq);
|
||||
|
|
|
@ -35,7 +35,7 @@ typedef void (*spot_recv_cb_t)(trx_mode mode, int afreq, const char* str, const
|
|||
typedef void (*spot_log_cb_t)(const char* call, const char* loc, long long freq,
|
||||
trx_mode mode, time_t rtime, void* data);
|
||||
|
||||
void spot_recv(char c, int decoder = -1, int afreq = 0);
|
||||
void spot_recv(char c, int decoder = -1, int afreq = 0, int md = 0);
|
||||
void spot_log(const char* callsign, const char* locator = "", long long freq = 0LL,
|
||||
trx_mode mode = NUM_MODES, time_t rtime = -1L);
|
||||
void spot_manual(const char* callsign, const char* locator = "",
|
||||
|
|
|
@ -151,7 +151,7 @@ void viewpsk::rx_bit(int ch, int bit)
|
|||
shreg[ch] = 0;
|
||||
if (c == '\n' || c == '\r') c = ' ';
|
||||
if (isprint(c)) {
|
||||
REQ(&viewaddchr, ch, (int)frequency[ch], c);
|
||||
REQ(&viewaddchr, ch, (int)frequency[ch], c, viewmode);
|
||||
timeout[ch] = now + progdefaults.VIEWERtimeout;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,15 +66,19 @@ static tr1::unordered_map<int, string> buffers;
|
|||
static cblist_t cblist;
|
||||
static rcblist_t rcblist;
|
||||
|
||||
void spot_recv(char c, int decoder, int afreq)
|
||||
void spot_recv(char c, int decoder, int afreq, int md)
|
||||
{
|
||||
static trx_mode last_mode = NUM_MODES + 1;
|
||||
|
||||
if (decoder == -1) // mode without multiple decoders
|
||||
if (decoder == -1) { // mode without multiple decoders
|
||||
decoder = active_modem->get_mode();
|
||||
if (last_mode != active_modem->get_mode()) {
|
||||
if (last_mode != active_modem->get_mode()) {
|
||||
buffers.clear();
|
||||
last_mode = active_modem->get_mode();
|
||||
}
|
||||
} else if (last_mode != md) {
|
||||
buffers.clear();
|
||||
last_mode = active_modem->get_mode();
|
||||
last_mode = md;
|
||||
}
|
||||
if (afreq == 0)
|
||||
afreq = active_modem->get_freq();
|
||||
|
|
Ładowanie…
Reference in New Issue