To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.pbforthOpen lugnet.robotics.rcx.pbforth in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / pbFORTH / 308
307  |  309
Subject: 
RE: Which terminal on Linux? plus random thoughts.
Newsgroups: 
lugnet.robotics.rcx.pbforth
Date: 
Thu, 4 May 2000 16:47:43 GMT
Viewed: 
1422 times
  
Also I'm currently fiddling with some simple communication
tools in Tcl but I suspect that I am covering otherwise
well travelled ground. Does anyone have example Tcl code that
they can share with me. After a hour or so of experimentation
(mostly finding documentation on setting up the serial port
in Tcl) I can send to the RCX but can't read yet.

I have beta quality Tcl code that sends an SRECORD firmware
imge up to the RCX (fast or slow) and has basic terminal
capabilities. It also strips comments and whitespace out of
files as they are uploaded to reduce the time. I'd like
to put a Tk wrapper around it real sson now...

Ernst de Ridder has provided me with the skeleton of
a line-based checksumming protocol, which is turned on
by a special leadin character and is otherwise invisible
to a dumb terminal.

The following is mostly blather and thinking out loud.

My goal is a set of Tcl procs that support simple
communication, hiding the echo, delaying where necessary
etc. that can then be used in developing PC code that talks
to forth code in the RCX. On top of that I will build a
simple command/response protocol with a null command mostly
to tickle the tower and keep it awake. What I mean by
command/response is that the RCX will remain silent unless
asked for data. If the RCX has anything to say it will be
buffered until the PC asks for it. I choose this method
because it is extremely easy to implement in a half duplex
environment. If it is not simple realistically I will never
get it done.

I hear that. Keep it simple, and if it works, then optimize
if necessary.

On top of that simple com layer I will make a simple
command interface which will allow me to invoke one of
a selection of forth words. I'll use a simple command
packet structure something like:

Let's have some discussion on an additional layer of protocol.
I'm especially interested in this for a classroom environment
where multiple RCXs can be talking at once.

I think that the likelyhood of collisions during a debug session makes
it imperative that the bot's are simply covered when talking to the tower.

Keep it simple, right :-)

The protocol you described is shockingly similar to XMODEM, which is tried
and true. Sergey Udovenko was kind enough to supply XMODEM words for the last
release of pbForth.

Cheers,

Ralph Hempel - P.Eng

--------------------------------------------------------
Check out pbFORTH for LEGO Mindstorms at:
<http://www.hempeldesigngroup.com/lego/pbFORTH>
--------------------------------------------------------
Reply to:      rhempel at bmts dot com
--------------------------------------------------------



Message has 1 Reply:
  Re: Which terminal on Linux? plus random thoughts.
 
(...) I missed that. What do you mean by simply covered. (...) No surprise there. I implemented XMODEM a long time ago on a spectrometer. I don't remember the details but obviously it stayed with me. Besides all protocols tend to look the same at (...) (25 years ago, 4-May-00, to lugnet.robotics.rcx.pbforth)

Message is in Reply To:
  Which terminal on Linux? plus random thoughts.
 
I'm interested in other people's experience with various terminal emulators on Linux. I've been using minicom with indifferent results, probably because it doesn't support delays between lines which possibly overruns pbforth's serial input. minicom (...) (25 years ago, 4-May-00, to lugnet.robotics.rcx.pbforth)

7 Messages in This Thread:


Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR