Go to Post Step 1. Understand the game and how to win the match and the event. - Chris Fultz [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #2   Spotlight this post!  
Unread 03-02-2006, 18:06
Dave Scheck's Avatar
Dave Scheck Dave Scheck is offline
Registered User
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Feb 2003
Rookie Year: 2002
Location: Arlington Heights, IL
Posts: 574
Dave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond reputeDave Scheck has a reputation beyond repute
Re: Beginning programmer: Variable question HELP!!!

Your problem is that you set bob to 1 and then check to see if it is 1 and the button is pressed and set it back to 0.
Code:
if(bob == 2 && p1_sw_trig)
{
  bob = 0;
}
/** assuming bob == 0, bob is set to 1 ****/
if(bob == 0 && p1_sw_trig)
{
  bob = 1;
}
/** bob is now 1 and gets set to 0 ****/
if(bob == 1 && p1_sw_trig)
{
  bob = 0;
}
/*** bob is always 0 if the trigger has been pressed ***/
You can fix this with by using an else if.
Code:
static unsigned int bob = 2;

Void Default_Routine(void)
{
  if(bob == 2 && p1_sw_trig)
  {
    bob = 0;
  }
  else if(bob == 0 && p1_sw_trig)
  {
    bob = 1;
  }
  else if(bob == 1 && p1_sw_trig)
  {
    bob = 0;
  }
}
Once you do that you're going to run into the problem that the state is constantly toggling between 0 and 1 when the button is pressed.

This is because there is no way that you as a user will be able to tap the trigger for 1 loop (1/42 of a second) and the trigger will actually be pressed for multiple loops.

What I think you want to do is keep track of the previous button state and only change states if your current state is pressed and your previous is not.
 


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
VEX programming Gene F Programming 14 08-08-2006 22:21
Printf Oddity : Programming Challange DarkAlex Programming 7 21-03-2005 08:12
have a question to ask about Double Solenoids to one spike programming davelu Programming 3 22-02-2005 09:52
General programming question mikesown Programming 1 07-02-2005 16:09
'Fix It Window' and Programming.... JMac Programming 19 25-01-2005 18:57


All times are GMT -5. The time now is 20:27.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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