View Single Post
  #12   Spotlight this post!  
Unread 08-02-2006, 11:39
Greg Ross's Avatar
Greg Ross Greg Ross is offline
Grammar Curmudgeon
AKA: gwross
FRC #0330 (Beach 'Bots)
Team Role: Mentor
 
Join Date: Jun 2001
Rookie Year: 1998
Location: Hermosa Beach, CA
Posts: 2,245
Greg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond reputeGreg Ross has a reputation beyond repute
Send a message via AIM to Greg Ross Send a message via Yahoo to Greg Ross
Re: Will camera keep running if i have a while statement going

I think you should be able to make your "locked" variable a static and change your "while" to an "if". As long as the trigger is being held, this code will be executed every time through the main loop. (I think this is approximately what DHoizner was suggesting.)
Code:
static int locked = 0;
static int prev_trig = 0;

  if (p1_sw_trig == 1)
  {  
    if (prev_trig == 0) locked = 0; // Clear flag if trigger just pulled.

    Switch1_LED = 1        // aiming light turns on when aiming
    if (locked == 0)
    {
      if (PAN_SERVO > PAN_CENTER_PWM_DEFAULT + 20)
      {
         pwm01 = 127 + aim_gain
         pwm02 = 127 + aim_gain
      } 
      else if (PAN_SERVO < PAN_CENTER_PWM_DEFAULT - 20)
      {
         pwm01 = 127 - aim_gain
         pwm02 = 127 - aim_gain
      } 
	  else if (PAN_SERVO < PAN_CENTER_PWM_DEFAULT + 21 & PAN_SERVO > PAN_CENTER_PWM_DEFAULT)
      {
        pwm01 = 127 + aim_soft_gain
        pwm02 = 127 + aim_soft_gain
      } 
	  else if (PAN_SERVO > PAN_CENTER_PWM_DEFAULT - 21 & PAN_SERVO < PAN_CENTER_PWM_DEFAULT)
      {
        pwm01 = 127 - aim_soft_gain
        pwm02 = 127 - aim_soft_gain
      } 
      else 
      {
        Switch1_LED = 0  // really cool light scrolling that i had to put somewhere in the code
        Switch2_LED = 0
        Switch3_LED = 0
        Switch1_LED = 1
        Switch1_LED = 0
        Switch2_LED = 1
        Switch2_LED = 0
        Switch3_LED = 1
        Switch3_LED = 0
        Switch2_LED = 1
        Switch2_LED = 0
        Switch1_LED = 1
        Switch1_LED = 0
		printf("TARGET ACQUIRED");
        locked = 1
      }
    }
  }
  prev_trig = p1_sw_trig;
__________________
Greg Ross (The Grammar Curmudgeon formerly known as gwross)
S/W Engineer, Team 330, the Beach 'Bots
<--The Grammar Curmudgeon loves this cartoon.
“Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" Hunter S. Thompson
"Playing a practical joke means doing something mean and calling it funny." Me

Last edited by Greg Ross : 08-02-2006 at 13:30. Reason: Moved "prev_trig = p1_sw_trig;" outside of "if (p1_sw_trig == 1)"