Commit graph

263 commits

Author SHA1 Message Date
Mark Pizzolato
e353b910ea TMXR: Fix Coverity identified missing status check 2020-12-11 07:18:27 -08:00
Mark Pizzolato
07d37f6d9e TMXR: Clarify comments on API description and variable names
This is all around the tmxr_set_get_modem_bits() API.
This change is non operational, but this clarification would avoid the
mistake made when someone uses or thinks about changing that
API in the future.
2020-11-03 07:58:42 -08:00
Mark Pizzolato
e3572e1a9f TMXR: Fix modem status bit retrieval to also return DTR and RTS
The prior change disabled returning DTR and RTS which the documented
interface was quite specific about actively returning.

The only user of this API which actually cared about DTR and RTS was
the in the pdp11_dmc module.

As reported in #951
2020-11-02 16:42:56 -08:00
Mark Pizzolato
c8a8cca7a3 SCP: Add optional per line multiplexer log files to periodic flushing 2020-10-20 02:47:33 -07:00
Mark Pizzolato
06c878b96a TMXR: Properly report SCPE_STALL when transmit buffer is full 2020-09-27 09:38:10 -07:00
Mark Pizzolato
9a73eb9d9d TMXR: Fix attach TELNET and MESSAGE parsing validation 2020-08-21 12:14:37 -07:00
Mark Pizzolato
c00376d363 TMXR: Properly honor tmxr_set_notelnet and tmxr_set_nomessage APIs 2020-06-26 22:57:57 -07:00
Mark Pizzolato
136e16d54e TMXR: Add option to avoid connect message for incoming TCP connections
As discussed in #843
2020-06-21 14:18:03 -07:00
Mark Pizzolato
5523450d5c TMXR: Add option to disable/enable telnet mux wide 2020-06-21 13:15:33 -07:00
Mark Pizzolato
c8389a7bfd TMXR: Properly control and record modem bits on serial lines
As reported in #877 and #878
2020-06-13 08:58:38 -07:00
Mark Pizzolato
e1a6a997eb REMOTE_CONSOLE: Avoid rate limiting output to remote console sessions
As discussed in #865
2020-06-02 12:06:18 -07:00
Mark Pizzolato
52c1b5416f TMXR: Change output rate limit to 1 ms when cpu is stopped
As reported in #865

When instruction execution is stopped, forced mux output rate limiting
can't leverage instruction execution rate to time inter-character delays.
A direct sleep is used but that has a minimal granularity measured in
milliseconds.  The prior default for a non speed controlled line was 10ms
sleep between character output.  This has been changed to 1ms which
is reasonable for most situations.  Meanwhile, since the remote console
facility uses TMXR, and it has the reasonable ability to generate output
when instructions are not being executed, this is better but not perfect.
2020-06-02 11:42:51 -07:00
Mark Pizzolato
ee1c055abe TMXR: All sockets should default to non blocking 2020-04-13 17:29:42 -07:00
Mark Pizzolato
91550ec291 TMXR: Active outbound TCP connects should be non-blocking
- add testing for socket address parsing
- extend testing for various connect scenarios
2020-04-11 13:08:08 -07:00
Mark Pizzolato
3d2394a2fb SOCK: Add tmxr (and socket) library tests 2020-03-31 09:07:39 -07:00
Mark Pizzolato
89cd649c77 SOCKET: Implement missing non-blocking for TCP sockets opened with connect
Outbound connections are rare and most may have wanted explicit blocking
behavior, so no one noticed the missing non-blocking case.

Any place which did do outbound connects have explicitly added
SIM_SOCK_OPT_BLOCKING so that the prior behavior is preserved.

The SIM_SOCK_OPT_BLOCKING flag is no honored as it was originally
intended to be.
2020-03-18 00:47:48 -07:00
Mark Pizzolato
08d2bafb28 TMXR: Remove the ability to detach a serial port while the simulator is running
As discussed in #782
2020-02-18 13:55:22 -08:00
Mark Pizzolato
0fca58a6da TMXR: Add documentation for the -U switch when attaching to a listen port
As mentioned in #782
2020-02-18 13:31:20 -08:00
Mark Pizzolato
3c9efd7fdb TMXR: Accept names when establishing listen sockets as originally intended
Problem found while testing solution for the problem reported in #767
2019-11-14 13:13:46 -08:00
Mark Pizzolato
d40268d1ac TMXR: Silence GCC 8.3 warning about buffer overrun 2019-09-05 17:41:01 -07:00
Mark Pizzolato
9e71982249 SCP: Avoid potential buffer overflow using sprintf
- avoid warnings about snprintf truncation

As reported in #717
2019-07-02 09:53:56 -07:00
Mark Pizzolato
1a48c543d5 TMXR: Fix tmxr_rqln() when speeds are enabled to avoid aways ready condition. 2019-04-10 15:08:49 -07:00
Mark Pizzolato
3840765c63 TMXR: Properly test when adding debugging options only to DEV_MUX DEVICEs 2019-03-13 06:45:21 -07:00
Mark Pizzolato
cb9876ce65 SCP: Cleanup gcc compiler flagged potential issues
Compiler warnings about undeclared case fall throughs, and potential
buffer overruns,
2019-01-21 16:43:17 -08:00
Mark Pizzolato
59bfff4bfd TMXR: Make sure to only set UNIT_TM_POLL flag for active tmxr units.
The effect here is to avoid clearing the UNIT_TM_POLL flag for devices which
call tmxr_set_line_unit or tmxr_set_line_output_unit on device reset.

As reported in #646
2019-01-05 07:38:02 -08:00
Mark Pizzolato
f8bc1add59 TMXR: Avoid potential improper clearing of UNIT_TM_POLL flag.
As discussed in #646
2019-01-04 17:40:41 -08:00
Mark Pizzolato
4b5b1edea5 TMXR: Properly reference the per line packet variable when connecting sockets 2018-11-19 04:58:24 -08:00
Mark Pizzolato
b6b457a84d SCP: Fix Coverity identified issues 2018-09-28 20:47:54 -07:00
Mark Pizzolato
488b91a62c TMXR: Avoid potential divide by 0 when setting speed without a speed factor 2018-09-08 13:58:20 -07:00
Lars Brinkhoff
6dfb0111e8 TMXR: Add Morton box line speeds: 25k, 40k, 50k, and 80k BPS. 2018-09-06 11:06:36 -07:00
Mark Pizzolato
99cabebbf0 TMXR: Make sure to send the telnet mantra on outgoing telnet connects 2018-09-06 02:07:37 -07:00
Mark Pizzolato
8ac1845b30 TMXR: Fix to drop DCD and CTS when a modem connection is dropped remotely
As reported  in #609
2018-08-26 15:45:12 -07:00
Mark Pizzolato
af173b7b6e TMXR: Rework modem signaling support
- Fix ineffective setting of RNG modem bit when line with DTR isn't available
- Fix logic clearing modem signal bits
- Add API to set/clear modem control behavior fo a specific line.
- return -2 status from tmxr_poll_conn when RNG has been enabled
2018-08-24 11:54:42 -07:00
Mark Pizzolato
6070692581 SCP: Add unit to AIO_VALIDATE context message 2018-08-08 11:51:54 -07:00
Mark Pizzolato
ee45ae1a08 TMXR: Remove 8-bit characters from comments 2018-07-15 07:26:23 -07:00
Mark Pizzolato
f42db0c6ea TMXR: Add tmxr_txdone_ln() to provide precise completion speed timing
Multi line TMXR devices can simplify state maintenance and better leverage
output scheduling when they use this API
2018-07-12 10:12:49 -07:00
Mark Pizzolato
67b0f38242 TMXR: Give priority to pending transfer delays prior to considering queued data 2018-07-07 21:57:23 -07:00
Mark Pizzolato
58ccb38d7b SCP: Add ability to ECHOF output to TMXR lines 2018-07-06 17:57:05 -07:00
Mark Pizzolato
4f61cd3a11 TMXR: Properly adjust speed delays when the factor is dynamically changed 2018-06-23 14:43:39 -07:00
Mark Pizzolato
d3da865e9b TMXR: Fix MUX transmit scheduling when buffer is empty
Also:
- Enhance SHOW MUX to support "SHOW MUX <dev>"
- Fix potential null pointer dereference with unusual ATTACH combinations
- Allow BPS factor to change without specifying an explicit speed.
2018-06-23 11:30:02 -07:00
Mark Pizzolato
53792d6261 TMXR: Describe TMXR API a little better 2018-06-19 22:05:12 -07:00
Mark Pizzolato
775d9f2453 TMXR: Minor attach error path and performance enhancements 2018-06-19 16:39:47 -07:00
Mark Pizzolato
b5537796ea TMXR: Add EXPECT/SEND support for BUFFERED lines
- Provide consistent behavior for connected OR BUFFERED lines
   BUFFERED lines can be used with MUX EXPECT/SEND scripting
   without an active connection.
- Fix SHOW MUX to display useful info for BUFFERED lines.
2018-06-19 16:13:22 -07:00
Mark Pizzolato
ffb6d4b269 TMXR: Fix ATTACH <dev> SPEED= to apply speed (or factor) if it is specified 2018-06-19 16:02:26 -07:00
Mark Pizzolato
215a71d608 TMXR: Make tmxr_rqln() only return count times tmxr_getc_ln() can be called 2018-06-19 15:59:19 -07:00
Mark Pizzolato
440bbfd307 TMXR: Consider pending SEND input when scheduling MUX input polling delays
Also consider pending SEND input when returning queued data count
2018-06-17 23:02:39 -07:00
Mark Pizzolato
d35b19a8ba TMXR: purge any unprocessed EXPECT rules and SEND data on a MUX detach 2018-06-17 21:55:55 -07:00
Mark Pizzolato
4428d49b08 TMXR: Properly determine wait time when multiple lines are active 2018-06-16 20:07:38 -07:00
Mark Pizzolato
0a7c9de1e1 TMXR: Change rx and tx delta values to be usecs including the speed factor 2018-06-13 04:51:34 -07:00
Mark Pizzolato
a3d8cc6118 TMXR: Actively flush output prior to assessing wait time 2018-06-13 04:06:20 -07:00