I’m having difficulty using the terminal to display debugging information from the robot. I send a line of data every 26 milliseconds. I’ll typically see anywhere from 30 to 50 lines on the terminal, then the screen will stop updating. Occasionally, it appears to freeze before anything is displayed. HyperTerminal shows that the robot is still sending data as expected (though it has formatting issues with the lack of carriage returns).
It’s worse when I try to use the graphical display. I’m sending a dozen or so separate bits of data to various places on the screen. Usually, the first two or three will show up, and then nothing. HyperTerminal again shows that data is still coming in from the robot.
Does this sound like a known issue? Is it something I can fix?
Can you send me a screen shot so I can attempt to recreate the situation?
Also, can you check your CPU usage when the data freezes please.
Also specs on the laptop and if you have real serial port or USB.
Here’s a look at the frozen terminal window. The code was outputting a line every 26 milliseconds. The display would sometimes continue updating for several seconds, and sometimes it would stop before it filled the window. I think it had gone for almost two seconds this time.
I checked the CPU usage, and EasyC was alternating between zero and one percent. This is on a laptop running Windows XP. I’m not sure how fast it is, but I’m reasonably certain it’s between 1.5 and 2 GHz. It has a true nine-pin serial port, not a USB-to-serial converter.
The double-spaced output is because I put an explicit \r at the end of the line to make HyperTerminal happy. And HyperTerminal is indeed happy, showing line after line for as long as I want to look, so I know it’s not a hardware issue.
I am having a similar problem with my terminal window. Sometimes it freezes showing nothing at all, sometimes it freezes showing only a few lines. Sometimes words are chopped off and carriage returns are missing.
Indeed, I wrote a PrintToScreen("hello world
") program and even that didn’t print. :ahh:
I am using the VEX USB to serial connection and I also am not using more than 1% of my processor.
I originally had Easy C for Vex on the computer before I loaded Easy C Pro. Could this be an issue?
Also, what are you using to view the output (hyper terminal)? Can you tell me if it is worth my time investigating that?
Hyperterminal is a Windows utility. Normally you would launch it using Start | Programs | Accessories | Communications | Hyperterminal. On my computer it is found in “C:\Program Files\Windows NT\hypertrm.exe”
This link will get you started on how to use it to talk to a COM port http://www.modemsite.com/56k/x2-hyperterm.asp.
Make sure you select 115200 baud, to talk to the Robot Controller.
Thanks for the info… seems we had a different problem.
Hyperterminal showed no data on that either, so I updated Easy C and the USB to serial driver. This cleared up some of the problems, but now the output (from the accelerometer and gyro) appears to be freezing. Monitoring the output on the hyperterminal showed that there was nothing coming into the COM port. It does work as long as we only try to listen to the accelerometer or only the gyro, but not both. Weird…
We’ll keep messing with it.
I tested the terminal window scrolling 5 data streams from a timer for 1 hour using a real RS-232 port and it worked with no issue. On my MacBook with a USB to Serial adapter (VEX) I was unable to stream data as well as it would drop out occasionally. The driver we use is provided by IFI but I will look into seeing about updated drivers from Prolific.