CMUCam TTL problems

We’re having trouble with our camera. We are unable to get it to track properly. We have followed the Tutorial 7 in easyC, and have an understanding of how it works. We have tried using both the 3 pin RS-232 to TTL converter, and a TTL to TTL cable. We can initialize the camera (which is extremely slow ~20 seconds), but we can’t GetTrackingData. The function just hangs in the terminal window.

Are there more settings? Is there a way to tell if the data is even coming off the camera board?

You can view the data coming from the camera by setting an internal variable to 1. To do this you need two blocks:

  1. User code block with an extern declaration: extern unsigned char _camera_debug;
  2. Then add an assignment block before the camera is initialized that has: _camera_debug = 1;

This will cause the stream of initialization commands that are sent to the camera to be displayed in the terminal window. You won’t see the actual tracking data being returned since that is in binary.
If you don’t see the initialization data being sent, then look for problems with the camera connections.

I did what you suggested but I don’t know how to interpret the results.

I created the code from Tutorial 7, added comments, and added the two code blocks you suggested (code attached).

It appears that the camera is never capturing a frame. This is the terminal output (also in attached zip file).

->
<-
->
<-
-> RM 1
<-
-> DM 20
<-
-> CR 41 128
<-
-> CR 19 32
<-
-> CR 42 128
<-
-> CR 43 32
<-
-> CR 45 132
<-
-> CR 18 32
<-
-> CR 0 0
<-
-> CR 1 128
<-
-> CR 2 128
<-
-> CR 3 128
<-
-> CR 6 1
<-
-> CR 16 1
<-
-> ST 85 115 15 17 10 145
<-
-> NF 1
<-
-> SM 12
<-
-> SP 16 8 5 30 15 5
<-
camera initialized
two wheel drive selected, left motor = PWM 1, right motor = PWM 2
Autonomous Mode commencing
-> TC
<-
camera started

No matter how long I wait I never get a message that the camera captured a frame.

I also noticed that the red light on the camera board (DS3) is always on. Should it be on?

camera test.zip (524 Bytes)


camera test.zip (524 Bytes)

There are no ACKs coming back from the camera. Can you try either cycling the power or holding down the reset on the robot controller for about 5 seconds and see if it starts working. You should see an ACK after each of those commands in your terminal window output.

Sometimes the camea seems to get into a state where it won’t respond next time it is run. Give that a try and see if it starts working.

Thanks for the help. Team 007 came over with their camera. Our camera board was broken. We had to get a new one.