Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Encoder help (http://www.chiefdelphi.com/forums/showthread.php?t=40664)

Kevin Watson 13-12-2005 21:46

Re: Encoder help
 
Quote:

Originally Posted by Joe Johnson
The USB to Serial is good enough to download code but not to talk to the printf?

If that wasn't enough, he also says that his terminal program shows a "IFI>" on the screen.

Why the "IFI>" but not the stuff from the printf?

What does printf() have to do with this? You should go back and read the entire thread. In my mind, these are the salient quotes:

Windward: "Update: We think it might be a problem with the computer. Whenever we program it the yellow program state is constantly orange."

Windward: "Could this be compiler/cable related (we are using a USB to Serial converter)"

Kevin: "Does it do this with the .hex file that's included in the .zip archive?"
Windward: "Yes it still remains yellow, and still doesn't print."

If the RC never comes out of programming mode, of course it's not going to send anything to the terminal because the code isn't executing. Mark at IFI says that he's seen this many times with USB to serial converters that tend to buffer large amounts of data and then send it all at once in a continuous burst, which screws-up the proper timing between the loader and bootloader.

Quote:

Originally Posted by Joe Johnson
I have no clue what it is, but I will bet a case a Mt. Dew (at even odds) against it being the USB to Serial device's fault.

Um, no. Maybe you should consider cutting down on the stuff (it has lots of caffeine in it, you know).

Quote:

Originally Posted by Joe Johnson
How about this? Is it possible that the printf is sending data to a different serial port on the controller than the one that the "IFI>" message is being sent?

No.

Joe Johnson 13-12-2005 22:27

Re: Encoder help
 
Kevin, you are right, I am obviously an wrong.

Even so, this is what I read:

Quote:

Originally Posted by Windward
I am pretty sure there is a problem with the printfs. When I basically added the same statement (minus the ++counter and just while 1==1) into User_initialization it worked properly; I believe when I added the ++counter part of the original printf in User_initialization it didn't work.

I assume I'm having printf problems. Could this be compiler/cable related (we are using a USB to Serial converter)

Quote:

Originally Posted by Windward
After I hit restart on the CPU, "IFI>" comes up in the COM4 Terminal but no encoder output using the precompiled .hex file.

Something doesn't add up. I am trying to square the circle. Based on the above, it seems to me that moving a printf statement made the problem go away or reappear. I hope I can be forgiven for thinking that the printf statement may have been involved.

I defer to Kevin's greater knowledge, but again, it seems strange to me that the USB-Serial is the problem. From above, they are able to download code using the same USB-Serial cable. I don't see an obvious reason for the code size to be very differnent in the two cases. Yet one code runs and another does not. It is obvious to others that the reason one runs and the other does not is because one downloads and another does not. I missed that but I still don't understand it.

There is the additional data that the "IFI>" is getting back to through the USB-Serial link with the precompiled .hex code. Is the .hex downloading? Is it running? I am not sure, again, something is not adding up, in my mind at least. I made some suggestions and asked questions.

I am sorry if my thoughts on the process caused more confusion. Even with Kevin's assurances, the USB argument seems sketchy to me. But again I defer to his greater knowledge.

As to the case of Mt. Dew, I may send you one gratis, Kevin, even if you don't take me up on the bet. According to a number of books including this one caffeine often has a civilizing affect on humans.


Joe J.

Gdeaver 13-12-2005 22:28

Re: Encoder help
 
Never underestimate the ability of a USB to Serial converter to screw things up. Any server software like apache or SQL server can also interfere with the timing.

Kevin Watson 13-12-2005 23:10

Re: Encoder help
 
Joe,

Quote:

Originally Posted by Joe Johnson
Based on the above, it seems to me that moving a printf statement made the problem go away or reappear.

It's a red herring.

Quote:

Originally Posted by Joe Johnson
I differ to Kevin's greater knowledge, but again, it seems strange to me that the USB-Serial is the problem.

It's Mark's greater knowledge and I suspect he's dealt with issues like this no more than a few hundred times over the past few years.

Quote:

Originally Posted by Joe Johnson
From above, they are able to download code using the same USB-Serial cable.

I'm not sure I understand what this is about. It may well be a different problem entirely.

Quote:

Originally Posted by Joe Johnson
There is the additional data that the "IFI>" is getting back to through the USB-Serial link with the precompiled .hex code.

The serial comm channel may very well work with ACSII text that's sent to the terminal screen. The terminal doesn't care about packet timing, but the bootloader does. BTW, the "IFI>" is generated by the bootloader, not a printf() in the user's code.

Quote:

Originally Posted by Joe Johnson
Is the .hex downloading?

Yes.

Quote:

Originally Posted by Joe Johnson
Is it running?

No, it isn't. The bootloader has missed the "all done" message because the USB converter messed-up the serial packet timing by sending it too soon after the last data packet. The bootloader is just sitting there waiting for a new command, which is why the program LED stays orange.

-Kevin

devicenull 14-12-2005 20:42

Re: Encoder help
 
Quote:

Originally Posted by Gdeaver
Never underestimate the ability of a USB to Serial converter to screw things up. Any server software like apache or SQL server can also interfere with the timing.

Really? I would think that unless the server software was getting a lot of hits, it wouldn't matter.. I ran apache and mysql on my laptop for a long time and never had problems downloading code.

Windward 07-01-2006 16:45

Re: Encoder help
 
Thank you all for the great debate over the problem. I am very sorry about not replying for 3 weeks, as I was on break and unable to apply.

I don't currently have a serial computer to test out, and with the new compitition starting I can't put my resources into making it work right now because the '06 competition just started. We hope it will work with the new cpu etc, and if there is a problem I will find a serial computer somewhere on campus to test.

Thank you all very much again.

Windward 14-01-2006 15:10

Re: Encoder help
 
sorry we haven't replied lately. We have our hands full now with a lot of things. We were able to get the printf to work and haven't gotten to check the encoders yet.


All times are GMT -5. The time now is 00:10.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi