So you suspect that the time it takes to process the escape sequence is long
enough to receive more than 24 characters before sending an XOFF? I assume this
is at 19,200bd?
I'm certainly not questioning it, but you'd think that this would have come up
in normal use when it scrolls the screen; maybe clearing the screen takes long
enough to cause problems.
Anyway, sounds like the delay solves the problem.
m
----- Original Message -----
From: Kurt McCullum
To: Model 100 Discussion
Sent: Sunday, July 19, 2015 1:04 AM
Subject: Re: [M100] Telnet Success
It's not that the escape sequence is long, it's that the M10x acts upon the
escape sequence as soon as it is received and fails to send an XOFF while it is
responding to that escape sequence. It's almost as if the machine has to wait
until the screen is done with the command. In that brief moment, the buffer can
overload. I don't know for certain that this is true, but when I was working on
sending escape sequences to the M10x and 200 with mComm, I found that all the
overflow problems cleared up when I added a slight delay after sending an
escape sequence. On the flip side, when sending a 15k document to the m100
through TEXT, I don't have to have any delays since the screen is out of the
loop.
Kurt
On 7/18/2015 8:34 PM, MikeS wrote:
Hmm, interesting; that would be the case in a 'normal' comm session as well
though, wouldn't it?
Assuming you're checking for an XOFF after every character sent you should
be able to handle an 'overload' of 24 characters, no? That would be an
unusually long escape sequence...
Steve spent some time a while back trying to expand the M100's receive
buffer but it turned out to be more complicated than it seemed at first and not
worth spending more time on; since you need some kind of external hardware
anyway to connect to the net it makes more sense to handle as much of the
'protocol' as possible externally as you're doing.
I use a couple of Lantronix servers ('modems'):
http://www.lantronix.com/device-networking/external-device-servers/uds-10.html
The size of the packets sent to the RS-232 port can be set as low as 1
character and I've never had any overflow issues, but then again I haven't sent
any long escape sequences.
Definitely something to investigate, but if it works, hey...
Thanks; I'll try to find time ASAP for a bit of testing.
m
----- Original Message ----- From: "Kurt McCullum" <[email protected]>
To: "Model 100 Discussion" <[email protected]>
Sent: Saturday, July 18, 2015 6:27 PM
Subject: Re: [M100] Telnet Success
Mike,
The overload happens when you send an escape sequence to the ModelT. When
I was writing mComm, I found that a sequence of escape sequences for say, clear
screen, move to home, reverse video ect would be executed before sending and
XOFF. So if you are sending data rapidly during that time, it overloads the
serial buffer. So a slight delay after every escape sequence keeps the ModelT
happy.
Alpha version.... let me see what I can put together. It's just a stand
alone bridge right now. I'll put some controls on the page so you can enter a
web site and pick a com port. right now that's all hard coded.
Kurt
On 7/18/2015 3:12 PM, MikeS wrote:
Sounds very interesting!
Not sure what you mean by "overloading ... when escape sequences are
encountered"; are there issues specific to escape sequences or are you talking
about buffer overflow when XOFF is not acted on quickly enough?
Care to send me an alpha version to play with?
m
----- Original Message ----- From: "Kurt McCullum"
<[email protected]>
To: "Model 100 Discussion" <[email protected]>
Sent: Saturday, July 18, 2015 5:40 PM
Subject: [M100] Telnet Success
I finally have some prototype code working that bridges a serial
connection to telnet and handles the overloading of the ModelT com port when
escape sequences are encountered. I've used it to log into some BBS systems but
unfortunately the 40 character screen is an issue even on the T200. It's still
a work in progress and very rough at this point but I will keep everyone posted
on the progress. At some point I hope to add this code to mComm to give users
access to some of the Telnet systems out there.
Kurt