<tabemann>
tpbsd: yes, it's a two-color multitasking blinky
<tpbsd>
you have a blinky!
<tpbsd>
awesome!
<tpbsd>
thats pretty good progress in such a short time, you taking lessons on RAD from Elon Musk ?
<tabemann>
no I haven't been
<tpbsd>
judging from your code blow-ups I think you must be ...
<tabemann>
the blinker itself is pretty simple (and mind you I took part of the code from Mecrisp-Stellaris's demo program)
<tpbsd>
thats cool, we all stand on the shoulders of others
<tpbsd>
I've been going thru a major cockup i made of the stm32f103 systick constants way back
<tabemann>
this isn't using systick, but rather is just using a PAUSE counter
<tpbsd>
in those days I didnt realise that ARM system registers are all the same (mostly) between cortex-m models
<tabemann>
so each time it PAUSEs it increments a counter
<tpbsd>
mine does tho, I rely on my ticktime for most things now
<tpbsd>
it's just too useful, and designed for this kind of stuff
<tpbsd>
but as I jump between cortex-m0 and m3 I have to keep updating the improvements I made last time
<tpbsd>
do you have a compiler controled beep on your terminal ?
<tpbsd>
frankly I'd be lost without mine
<tabemann>
no I don't
<tpbsd>
does your compiler emit error messages ?
<tabemann>
yes
<tpbsd>
tip: make them consistent and easy to parse
<tabemann>
it has an exception mechanism, and any uncaught exception results in the exception xt being executed, which typically results in a string being printed
<tpbsd>
at first I modified the Mecrisp-Stellaris assembly to raise a gpio pin on a compiler error, but thats too much work to maintain
<tpbsd>
cool
<tabemann>
yeah, it's an idea I got a while back from rdrop--exit
<tabemann>
it's much nicer than the typical ANS Forth way of handling exceptions
<tpbsd>
now I just examine the error string and look for key words, and if found they color the text red and beep the terminal bell
<tpbsd>
it's SO easy to screw up Forth code, like any source I guess
<tpbsd>
tabemann, what terminal do you use now, e4thcom ?
<tabemann>
yes
reepca has joined #forth
<tpbsd>
that has a configurable error detector iirc
<tabemann>
the mode I'm using it with "noforth", watches for a NAK character to indicate error
<tabemann>
which I'm printing upon uncaught exceptions
<tpbsd>
oh!
<tpbsd>
not using the mecrisp mode ?
<tpbsd>
so any error is a NAK ?
<tabemann>
nah, because mecrisp mode is based on detecting "ok." and assumes LN for a newline
<tpbsd>
you dont have finer grained errors ?
<tabemann>
oh I have a number of kinds of errors
<tabemann>
NAK just tells e4thcom to stop inputting data
<tpbsd>
yeah, that Linefeed is a pain, but matthias wont be swayed!
<tabemann>
*LF
<tpbsd>
i recommend a numbered error code rather than a textual one
<tabemann>
why?
<tpbsd>
that way you can publish a table of whatthey mean
<tpbsd>
easier to parse
<tpbsd>
more consistant
<tpbsd>
Ive had a a fair few errors parsing mattias error codes
<tpbsd>
error messages I mean
<tpbsd>
sometimes there may be a "." sometimes not
<tpbsd>
it's not the most consistent method
<tpbsd>
but if one emits a 4 digit error code thats easy to parse
<tabemann>
I'm not relying on automatic parsing of error messages, and I hate looking up error codes
<tpbsd>
perhaps each type of error is given a range of 10, then they could even be finer grained later ?
<tpbsd>
ah, old school Forth huh ?
<tpbsd>
9600 baud and read every line as it slowly scrolls up the screen ?
<tabemann>
NAK to me is sufficient to stop e4thcom at the point of an error so I can see what's up
<tpbsd>
some of my apps have 1000 lines of code now, and reading them is impossible at 460800 baud anyway
<tabemann>
I should get ready for work though (I'm wondering when they'll tell us to work from home)
<tpbsd>
probably soon
<tabemann>
yeah
<tpbsd>
as the corona virus fear ramps up
<tpbsd>
Australia has banned meetings of 200 people or more I think
<tabemann>
I'll bbl
<tpbsd>
np, thanks for the chat
dddddd has joined #forth
jsoft has quit [Ping timeout: 246 seconds]
actuallybatman has joined #forth
cartwright has quit [Remote host closed the connection]