There needs to be a logging option for the Debug and Terminal (S_OUT) windows in both the Basic Atom and Atom PRO IDEs.
For instance, I need to see what is going on inside W.A.L.T.E.R.'s little brain, so I use serout commands to print variables at various places in his code. However, the text goes by so quick, and it clears out part of what I need to see. I want to see a continuous stream of what is going on within W.A.L.T.E.R., but that is not possible the way things work now. I can’t trigger sensors and watch the information scroll at the same time.
It’s unfortunate that using serout commands slows everything down so much. Using these does not get the same results as when the robot is running without them enabled. I always have a switch called sendoutput that controls whether my serout debugging commands are executed or not.
I’d like to be able to log the same info sent of a wireless like, such as Bluetooth, so would need to be able to somehow select which serial stream is being logged. I want to be able to see what is actually happening when I put my robot down on the floor and let it run around. I just can’t get the same results when the robot is up on the bench - I want to see the responses to real world environments. I can then relate this to video I shoot of each run.
I think the more complex a program is, the more a logging facility is needed. I am in the process of debugging and tweaking behaviors called by a subsumption behavior engine now, and I need all the tools I can get to help see what is happening.
I want to be able to capture the output and then scroll through it to see what happened during a run. This would be an valuable aid in debugging.
I do use serouts a lot to S_OUT and use terminal1 a lot to watch the output. If there are only a few things to watch I prefer using the LCDs that I have attached to the robots, but 2x16 does not give you much.
If continuous output of text is difficult to implement, it would be nice if you could have a configuration option that allowed you to configure the size of the terminal buffers. For example if you could keep 500 lines of text for each of the terminals.
I know we could use other terminal programs to record the text, such as hyperterminal or maybe even lynxterm, but it would be nice to keep all of this in the IDE if possible.
I also wish debug serout commands to S_OUT did not take so much of the processor (all of it during the ouput). I have reworked my brat to free up P14 and P15 and will try to hook up the bluetooth to the HSERIAL pins and see how well that works.
Also a side point. It would be nice at times to be able to select multiple lines of text in the build window. If you need to ask for help on a compiler output, It is nice to be able to copy the error text so you can paste it into an email or message.
I wonder how many more we need to get this looked into.
I would be happy to just be able to log the output to the debug or selected terminal window to a text file.
Yes, it would be VERY nice to keep it all in the IDE. I need to get a replacement for Hyperterminal that has more features and works better. The only programming I need Windows for now though is for the Basic Atom running WALTER and for working with PICs/dsPICs.
I am switching everything else over to Linux (including ARM and AVR stuff). I just found an interesting IDE too - it’s called Code::Blocks and it’s Open Source and available for both Windows and Linux. Hmmm, it would be interesting if the Basic Atom/Atom PRO compilers could be connected into Code::Blocks… I don’t know if this is possible, but I am going to check into it.
This is a major problem, as you know, when trying to debug a mobile robot. I need to investigate possibly using HSERIAL, since the Basic Atom also has that. The only problem, is I don’t yet have a Bluetooth link for WALTER, but everything else is in place.
I have asked for this before. We need to be able to copy and paste the build output for inclusion in e-mails and posts.