From d57e4ae185ddf5a1dc5971a080af8984187f2a03 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Fri, 18 Aug 2023 17:36:19 -0500 Subject: [PATCH] Improve Kenwood send_morse speed --- rigs/kenwood/kenwood.c | 5 ++++- simulators/simelecraft.c | 11 +++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index 7713de9c0..bf342a0ef 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -350,12 +350,15 @@ transaction_write: skip |= strncmp(cmdstr, "RU", 2) == 0; skip |= strncmp(cmdstr, "RD", 2) == 0; skip |= strncmp(cmdstr, "KYW", 3) == 0; + skip |= strncmp(cmdstr, "KY ", 3) == 0; skip |= strncmp(cmdstr, "PS1", 3) == 0; skip |= strncmp(cmdstr, "PS0", 3) == 0; skip |= strncmp(cmdstr, "K22", 3) == 0; if (skip) { + // most command we give them a little time -- but not KY + if (strncmp(cmdstr, "KY ", 3)!= 0) hl_usleep(200 * 1000); // give little settle time for these commands goto transaction_quit; } @@ -364,7 +367,7 @@ transaction_write: // Malachite SDR cannot send ID after FA if (!datasize && priv->no_id) { RETURNFUNC2(RIG_OK); } - if (!datasize) + if (!datasize && strncmp(cmdstr, "KY",2)!=0) { rig->state.transaction_active = 0; diff --git a/simulators/simelecraft.c b/simulators/simelecraft.c index 91c2c0478..70c8f2e38 100644 --- a/simulators/simelecraft.c +++ b/simulators/simelecraft.c @@ -440,6 +440,17 @@ int main(int argc, char *argv[]) { sscanf(buf, "RA$%d;", &rxattenuatorB); } + else if (strncmp(buf, "KY;", 3)==0) + { + int status = 0; + printf("KY query\n"); + SNPRINTF(buf, sizeof(buf), "KY%d;", status); + n = write(fd, buf, strlen(buf)); + } + else if (strncmp(buf, "KY",2)==0) + { + printf("Morse: %s\n", buf); + } else if (strlen(buf) > 0) { fprintf(stderr, "Unknown command: %s\n", buf);