From 67845e430119caa06532fcebd156d4215762f53a Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 25 Jan 2022 16:41:57 -0800 Subject: [PATCH] TMXR: Add debug output reporting line configuration changes --- sim_tmxr.c | 14 ++++++++++++++ sim_tmxr.h | 9 +++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/sim_tmxr.c b/sim_tmxr.c index e2eebc95..05d74865 100644 --- a/sim_tmxr.c +++ b/sim_tmxr.c @@ -1654,6 +1654,7 @@ if (!mp->port_speed_control && mp->uptr && !(mp->uptr->flags & UNIT_ATT)) mp->port_speed_control = TRUE; for (i=0; ilines; ++i) mp->ldsc[i].port_speed_control = mp->port_speed_control; +sim_debug (TMXR_DBG_CFG, mp->dptr, "Speed Mode: Enabled\n"); return SCPE_OK; } @@ -1672,6 +1673,7 @@ if (mp->port_speed_control && mp->uptr && !(mp->uptr->flags & UNIT_ATT)) mp->port_speed_control = FALSE; for (i=0; ilines; ++i) mp->ldsc[i].port_speed_control = mp->port_speed_control; +sim_debug (TMXR_DBG_CFG, mp->dptr, "Speed Mode: Disabled\n"); return SCPE_OK; } @@ -1690,6 +1692,7 @@ if (mp->uptr && !(mp->uptr->flags & UNIT_ATT)) if (line >= mp->lines) return sim_messagef (SCPE_ARG, "Invalid line for multiplexer: %d\n", line); mp->ldsc[line].port_speed_control = TRUE; +sim_debug (TMXR_DBG_CFG, mp->dptr, "Speed Mode: Enabled for line %d\n", line); return SCPE_OK; } @@ -1706,6 +1709,7 @@ if (mp->uptr && !(mp->uptr->flags & UNIT_ATT)) if (line >= mp->lines) return sim_messagef (SCPE_ARG, "Invalid line for multiplexer: %d\n", line); mp->ldsc[line].port_speed_control = FALSE; +sim_debug (TMXR_DBG_CFG, mp->dptr, "Speed Mode: Disabled for line %d\n", line); return SCPE_OK; } @@ -1913,6 +1917,8 @@ return SCPE_INCOMP; */ t_stat tmxr_set_line_loopback (TMLN *lp, t_bool enable_loopback) { +DEVICE *dptr = (lp->dptr ? lp->dptr : (lp->mp ? lp->mp->dptr : NULL)); + if (lp->loopback == (enable_loopback != FALSE)) return SCPE_OK; /* Nothing to do */ lp->loopback = (enable_loopback != FALSE); @@ -1928,6 +1934,7 @@ else { lp->lpb = NULL; lp->lpbsz = 0; } +sim_debug (TMXR_DBG_CFG, dptr, "Loopback %s for line %d\n", enable_loopback ? "Enabled" : "Disabled", (int)(lp - lp->mp->ldsc)); return SCPE_OK; } @@ -1952,9 +1959,12 @@ return (lp->loopback != FALSE); */ t_stat tmxr_set_line_halfduplex (TMLN *lp, t_bool enable_halfduplex) { +DEVICE *dptr = (lp->dptr ? lp->dptr : (lp->mp ? lp->mp->dptr : NULL)); + if (lp->halfduplex == (enable_halfduplex != FALSE)) return SCPE_OK; /* Nothing to do */ lp->halfduplex = (enable_halfduplex != FALSE); +sim_debug (TMXR_DBG_CFG, dptr, "Half Duplex %s for line %d\n", enable_halfduplex ? "Enabled" : "Disabled", (int)(lp - lp->mp->ldsc)); return SCPE_OK; } @@ -1966,6 +1976,8 @@ return (lp->halfduplex != FALSE); t_stat tmxr_set_config_line (TMLN *lp, CONST char *config) { t_stat r; +DEVICE *dptr = (lp->dptr ? lp->dptr : (lp->mp ? lp->mp->dptr : NULL)); +char *prior = lp->serconfig ? strdup (lp->serconfig) : NULL; tmxr_debug_trace_line (lp, "tmxr_set_config_line()"); if (lp->serport) { @@ -1982,6 +1994,8 @@ else { lp->serconfig = NULL; } } +sim_debug (TMXR_DBG_CFG, dptr, "Line %d changed from %s to %s\n", (int)(lp - lp->mp->ldsc), prior ? prior : "", lp->serconfig); +free (prior); if ((r == SCPE_OK) && (lp->mp) && (lp->mp->uptr)) /* Record port state for proper restore */ lp->mp->uptr->filename = tmxr_mux_attach_string (lp->mp->uptr->filename, lp->mp); return r; diff --git a/sim_tmxr.h b/sim_tmxr.h index 00933e16..35c8c08a 100644 --- a/sim_tmxr.h +++ b/sim_tmxr.h @@ -66,10 +66,11 @@ typedef struct SERPORT *SERHANDLE; #define TMXR_MODEM_RING_TIME 3 /* seconds to wait for DTR for incoming connections */ #define TMXR_DEFAULT_CONNECT_POLL_INTERVAL 1 /* seconds between connection polls */ -#define TMXR_DBG_XMT 0x00200000 /* Debug Transmit Data */ -#define TMXR_DBG_RCV 0x00400000 /* Debug Received Data */ -#define TMXR_DBG_RET 0x00800000 /* Debug Returned Received Data */ -#define TMXR_DBG_MDM 0x01000000 /* Debug Modem Signals */ +#define TMXR_DBG_XMT 0x00100000 /* Debug Transmit Data */ +#define TMXR_DBG_RCV 0x00200000 /* Debug Received Data */ +#define TMXR_DBG_RET 0x00400000 /* Debug Returned Received Data */ +#define TMXR_DBG_MDM 0x00800000 /* Debug Modem Signals */ +#define TMXR_DBG_CFG 0x01000000 /* Debug Line Configuration Activities */ #define TMXR_DBG_CON 0x02000000 /* Debug Connection Activities */ #define TMXR_DBG_ASY 0x04000000 /* Debug Asynchronous Activities */ #define TMXR_DBG_TRC 0x08000000 /* Debug trace routine calls */