[ECOS] Serial buffer overrun

Shannon Holland holland@loser.net
Sat Jan 18 02:11:00 GMT 2003


On Friday, January 17, 2003, at 03:27 PM, Jonathan Larmour wrote:

> Have you enabled the serial driver for that serial port as well?
>
> It occurred to me belatedly that if you're looking for the output in 
> GDB you wouldn't see it - you'd have to connect direct to the serial 
> port with a terminal program. Should have said that before :-|.
>

I thought I did enable the driver, but I may have not done so correctly. 
I did at one point check with a terminal app, but I didn't do so with 
the final change I had made. What is different such that the output 
won't appear on gdb? Does the haldiag driver understand when it's 
connected to gdb and send console messages in a gdb happy form? (I do 
regularly download and run the code from a terminal app and then I get 
console output as well, so I presume it understands the two modes?).

I did finally get some more time to work on this today - toggled a bunch 
of PIO lines in my code and then looked at it on the logic analyzer. 
Found some things I knew were bad (just wanted to verify them before I 
fixed them) and some others I didn't know about. Net result of an hours 
work was going from being able to process 20 samples/second to 1,800 so 
things are much better now.

Mostly I moved a bunch of lcd update code to a different thread - saving 
tons of time in the main loop and making the display scroll much more 
smoothly.

I'll probably move all of my packet code to a separate thread as well - 
this will enable me to handle hiccups in data rate/gui update much 
better. And, I can bump up my serial IO rate since 19,200 baud gives me 
a max packet rate (12 bytes/packet) of 160 samples/second!

Thanks again everyone for your help!

Shannon


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list