|
I wrote a simple addition to pbforth that allows it to receive text with a
checksum across every line. Every line is ACK/NAK-ed and if necessary
resent. Timeouts are not implemented.
Now, the main word looks like this:
: PBX-RECEIVE ( -- )
BEGIN pbx.buf DUP size-of-pad pbx.ACCEPT EVALUATE AGAIN ;
and my questions are:
1) This is an endless loop. The protocol terminates by throwing a user
interrupt when it receives an ETX (^C). This is easy to implement and has
the advantage that the interpreter returns to a known state when the
transmission is cancelled by the user. OTOH, this is abusing the exception
mechanism a bit. Any thoughts on the necessity of using a different
termination mechanism?
2) PBX (=PBforth Xfer) uses its own buffer, pbx.buf. I would like to use the
TIB instead to conserve memory. This feels allowable because both ACCEPT and
pbx.ACCEPT use the same communication channel; just a different protocol.
Any thoughts?
As a marginal note: Using PBX, I uploaded quite large files without a single
line needing retransmission, whereas ascii-xfer uploads failed miserably
10 out of 10 times. The most important difference between the two (apart
from the checksum) seems to be that when using PBX, the RCX doesn't talk
back ('ok', 'redefine ...', etc.). Does anybody know for sure whether a more
silent RCX results in a better transmission?
Ernst
P.S. If anybody is interested in PBX, I can mail it or post it here. It's
not much.
|
|
Message has 1 Reply: | | RE: Checksum download of text to RCX
|
| (...) This is a neat idea, Ernst. I think it would be a good addition to the pbForth system if we can allow the user to use it for text uploads and then switch to normal mode for interactive use. (...) I'll have to think about this a bit.. (...) (...) (25 years ago, 2-Apr-00, to lugnet.robotics.rcx.pbforth)
|
3 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|