TMXR: Add speed factor validation check and display in SHOW MUX

This commit is contained in:
Mark Pizzolato 2018-05-17 13:32:37 -07:00
parent d7f1942998
commit 3671ef1d87

View file

@ -2411,7 +2411,7 @@ return SCPE_OK;
static int32 _tmln_speed_delta (CONST char *cptr) static int32 _tmln_speed_delta (CONST char *cptr)
{ {
struct { static struct {
const char *bps; const char *bps;
int32 delta; int32 delta;
} *spd, speeds[] = { } *spd, speeds[] = {
@ -2438,10 +2438,16 @@ struct {
{"0", 0}}; /* End of List, last valid value */ {"0", 0}}; /* End of List, last valid value */
int nspeed; int nspeed;
char speed[24]; char speed[24];
int nfactor = 1;
nspeed = (uint32)strtotv (cptr, &cptr, 10); nspeed = (uint32)strtotv (cptr, &cptr, 10);
if ((*cptr != '\0') && (*cptr != '-') && (*cptr != '*')) if ((*cptr != '\0') && (*cptr != '-') && (*cptr != '*'))
return -1; return -1;
if (*cptr == '*') {
nfactor = (uint32)strtotv (cptr+1, NULL, 10);
if ((nfactor < 1) || (nfactor > 32))
return -1;
}
sprintf (speed, "%d", nspeed); sprintf (speed, "%d", nspeed);
spd = speeds; spd = speeds;
@ -3941,6 +3947,10 @@ else {
fprintf(st, "*%.0f", lp->rxbpsfactor/TMXR_RX_BPS_UNIT_SCALE); fprintf(st, "*%.0f", lp->rxbpsfactor/TMXR_RX_BPS_UNIT_SCALE);
fprintf(st, " bps"); fprintf(st, " bps");
} }
else {
if (lp->rxbpsfactor != TMXR_RX_BPS_UNIT_SCALE)
fprintf(st, ", Speed=*%.0f bps", lp->rxbpsfactor/TMXR_RX_BPS_UNIT_SCALE);
}
fprintf (st, "\n"); fprintf (st, "\n");
} }
if ((!lp->sock) && (!lp->connecting) && (!lp->serport) && (!lp->master)) { if ((!lp->sock) && (!lp->connecting) && (!lp->serport) && (!lp->master)) {