|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
I'm having trouble with this camera stuff
Ok, I want to make a button turn off the camera and then the same button turn on the camera. THis is what I have. (This is in the Default_Routine())
Code:
int now4; //for mapping p3_sw_aux2 to ON or OFF (reset CAMERA) int last4; //for mapping p3_sw_aux2 to ON or OFF (reset CAMERA) last4 = now4; now3 = p3_sw_aux2; Code:
if((Get_Camera_State() == 0) && (now4 == 1) && (last4 == 0))
{
Restart_Camera(); //Sets Camera in Recieving Mode so it can be used.
}
if((Get_Camera_State() == 1) && (now4 == 1) && (last4 == 0))
{
Camera_Idle(); //Sets Camera in OFF Mode in case we need to stop chasing the light and go into manual mode to go back to home base or something
}
p.s. The camera works fine (sorta, thats another story though), it just doesn't stop searching when I press the button. I want it to stop searching when I press the button. |
|
#2
|
|||||
|
|||||
|
Re: I'm having trouble with this camera stuff
If you want the camera to stop searching, just stop calling Servo_Track().
|
|
#3
|
|||||
|
|||||
|
Re: I'm having trouble with this camera stuff
How exactly do you stop calling a function? Unless you use an if code to define that once something happens, move on with the code, not going over Servo_Track() again, how can you stop calling it?
|
|
#4
|
|||||
|
|||||
|
Re: I'm having trouble with this camera stuff
Quote:
Code:
if(I_want_to_search)
Servo_Track();
|
|
#5
|
|||
|
|||
|
Re: I'm having trouble with this camera stuff
Quote:
Servo_track() looks to see if there are new t packets in the input buffer. If there are, the RC knows that the camera sees a color blob and locks on to it. If there are no new t packets, the camera will go into its search routine (as it does not see any color blobs..) Camera_Idle() writes a "\r" to the camera serial port. This tells the camera to stop what its doing, and to stop sending t packets. Restart_camera() simply sets an initialization flag to 0, so when the Initialize_Camera() function is called, it will return all of the internal workings of the camera back to their default (this is probably for users who want to mess around with polling mode, virtual windows, gains, etc..) The problem you are having is you are Initializing the camera (default in user_routines.c from the camera workspace), stopping the camera from sending t packets, and then clearing the init flag. You are never telling the camera to turn back on. You can do this in one of two ways. A) Call Initialize_Camera() again. B) Call Track_Color() with the default stuff as arguments. I would do the latter as re-initializing the camera will cause it to go through a bunch of code that isnt going to do anything. Also, you don't need to call Reset_Camera() ever. |
|
#6
|
|||||
|
|||||
|
Re: I'm having trouble with this camera stuff
Code:
if(p3_sw_top)
{
Servo_Track();
}
else
{
(Whatever, set servos to 127 or something)
}
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Having trouble with your camera mount? | Chriszuma | Programming | 7 | 01-02-2005 22:12 |
| Anyone else having trouble keeping up with work? | D. Gregory | General Forum | 36 | 28-03-2004 16:55 |
| Having trouble with TTL port | Gene F | Programming | 12 | 10-02-2004 15:23 |
| Im am having trouble with the MPLAB | hedgehogger | Programming | 7 | 19-01-2004 17:37 |
| I'm having trouble sleeping!! | archiver | 1999 | 5 | 23-06-2002 22:38 |