TCZ has joined #forth
Zarutian_HTC has quit [Read error: Connection reset by peer]
Zarutian_HTC has joined #forth
TCZ has quit [Quit: Leaving]
dave0 has joined #forth
jedb_ has joined #forth
<crest> tabemann, tp: i added file uploads to swdcom
<crest> i used ascii control chars to allow uploads to be canceled by the target mcu
<crest> that enables the forth system to abort transfers and ignore the partial transfer
<tabemann> back
<crest> those two words are enough:
<crest> : cancel ( -- ) $18 emit begin key $19 = until ;
<crest> : require ( -- ) token find drop if cancel then ;
<tabemann> use NAK for canceling
<crest> to allow files to begin with require my-word
<crest> nak is used for error handling
<crest> i patched the Fehler_Quit and Fehler_Quit_n macros to embedd NAK in all error messages
<tabemann> zeptoforth already has NAK in all error messages
<crest> which does something else
<crest> this isn't an error
<tabemann> it uses ACK to indicate readiness for input
<crest> but a polite way for the microcontroller to tell the host that the file is already loaded
<tabemann> ich verstehe es
<crest> my "protocol" is fairly simple
<crest> i begin each file upload by injecting a little bit of forth code that emits an ascii file seperator
<crest> this is required to reset the line counter on the receiving end
<crest> and i can use literal control char because the mecrisp accept word would remove it from the input
<crest> which in neatly removes it from the echo *sigh*
<tabemann> yeah, zeptoforth does the same thing - control characters it does not recognize it removes from the input buffer and does not echo
<crest> which prevents the host from using them to sync on
<crest> took a me way too long to look into the code and find my way from quit -> query -> accept
<tabemann> theres a reason why control characters need to be stripped
<crest> which one?
<tabemann> because otherwise, if you pressed up, the cursor would go up, which is really confusing to the user
<crest> wouldn't it be enough to ignore escape?
<tabemann> well that's what it does
<tabemann> this way it just outputs a bit of garbage
<crest> escape is just one of 32 chontrol characters
<crest> okay you don't want to echo the rest of the escape sequence
<tabemann> you can't strip out the rest of the escape sequence because it consists of printable characters
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<crest> so you didn't attempt to detect all common escape sequences^ ^
* tabemann wonders what's up with tp, since he's seemed to've vanished; same with rdrop-exit
<tabemann> no I didn't
<crest> tabemann: he was active in #mecrisp the last few days
<tabemann> there's too many and they're too complex to catch'em all; better to not bother
<crest> i agree
<crest> so why not just ignore escape
<crest> and echo unknown escape sequences
<crest> but treat them as spaces otherwise
<crest> or just ignore them completly
<tabemann> because other characters may have other weird effects if echoed
<tabemann> like if you echoed XON or XOFF
<crest> in that case there is no better solution than injecting code
<crest> e.g. "\n$xx emit\n"
<crest> to send a control char
<tabemann> that works
<crest> oh and i found a simple solution to download hexdumps through swdcom
<crest> it just disconnects if it reads a ascii end of transmission
<tabemann> I could add that to ihex
<crest> $4 emit
<crest> the next steps are boring
<crest> document the code, clean it up a little
<crest> and improve the upload handling
karswell has joined #forth
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
jedb_ has quit [Remote host closed the connection]
jedb_ has joined #forth
reepca has quit [Ping timeout: 258 seconds]
kamid has quit [Ping timeout: 246 seconds]
karswell_ has joined #forth
karswell has quit [Remote host closed the connection]
jsoft has quit [Ping timeout: 256 seconds]
Zarutian_HTC has quit [Quit: Bye]
Zarutian_HTC has joined #forth
karswell_ has quit [Ping timeout: 246 seconds]
jedb_ has quit [Read error: Connection reset by peer]
_whitelogger has joined #forth
dddddd has quit [Ping timeout: 265 seconds]
gravicappa has joined #forth
jedb has joined #forth
jedb_ has joined #forth
jedb has quit [Ping timeout: 260 seconds]
jsoft has joined #forth
_whitelogger has joined #forth
deesix_ has joined #forth
deesix has quit [Ping timeout: 258 seconds]
deesix_ has quit [Ping timeout: 256 seconds]
deesix has joined #forth
dys has quit [Ping timeout: 240 seconds]
rann has quit [Ping timeout: 240 seconds]
rann has joined #forth
dddddd has joined #forth
dys has joined #forth
jsoft has quit [Ping timeout: 240 seconds]
dave0 has quit [Quit: dave's not here]
X-Scale` has joined #forth
TCZ has joined #forth
X-Scale has quit [Ping timeout: 264 seconds]
X-Scale` is now known as X-Scale
X-Scale` has joined #forth
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` is now known as X-Scale
jedb_ has quit [Ping timeout: 264 seconds]
TCZ has quit [Quit: Leaving]
gravicappa has quit [Ping timeout: 265 seconds]
Zarutian_HTC has quit [Ping timeout: 246 seconds]
Zarutian_HTC has joined #forth
foobared has joined #forth
cmtptr has quit [Read error: Connection reset by peer]
gravicappa has joined #forth
foobared has left #forth [#forth]
cmtptr has joined #forth
gravicappa has quit [Ping timeout: 256 seconds]
cmtptr_ has joined #forth
cmtptr has quit [Ping timeout: 256 seconds]
dave0 has joined #forth
jsoft has joined #forth