Go to Post I might be singing a different tune if I get a water jet for Christmas. :) - FrankJ [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

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #16   Spotlight this post!  
Unread 11-02-2004, 16:15
Erico Erico is offline
Registered User
AKA: yoshi
#0618 (E.A.R.T.H squad)
Team Role: Engineer
 
Join Date: Jan 2004
Location: philadelphia
Posts: 1
Erico is an unknown quantity at this point
Re: Programming joysticks

If u can make me a favor, can u teach me how to program the joysticks. I will appreciated. thank u

GOOD LUCK THIS YEAR
  #17   Spotlight this post!  
Unread 11-02-2004, 17:02
deltacoder1020's Avatar
deltacoder1020 deltacoder1020 is offline
Computer Guy
AKA: Dav
#1020 (The Indiana Prank Monkeys)
Team Role: Programmer
 
Join Date: Jan 2004
Location: Muncie, Indiana
Posts: 340
deltacoder1020 has a spectacular aura aboutdeltacoder1020 has a spectacular aura about
Send a message via AIM to deltacoder1020
Re: Programming joysticks

the inputs from the joysticks are held in a range of variables (actually aliases), set up in ifi_aliases.h:

for instance, the x-axis of joystick one is p1_x

if you want direct joystick-to-pwm control, just use something like the following line:

pwm01 = p1_x;
__________________
Team 1020, the Indiana Prank Monkeys (www.team1020.org)
  #18   Spotlight this post!  
Unread 11-02-2004, 17:15
Ryan M. Ryan M. is offline
Programming User
FRC #1317 (Digital Fusion)
Team Role: Programmer
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Ohio
Posts: 1,508
Ryan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud of
Re: Programming joysticks

Quote:
Originally Posted by Erico
If u can make me a favor, can u teach me how to program the joysticks. I will appreciated. thank u

GOOD LUCK THIS YEAR
Just to expanded on what DeltaCoder said, the joysticks are refered to by pX_x and pX_y, where X is the port number the joystick is attched to. For example to access the x and y axises of the port one joystick you would use p1_x and p1_y.

The value that comes in on these pins is between 0 and 255 (an unsigned char). 0 is full to one side, 127 is center, and 255 is full to the other side. For instance, if you have the joystick all the way forward, p1_x would be 255 and p1_y would be 127. If you had it all the way to the right, p1_y would be 127 and p1_y would be 255.

You could also have a combination of the two, of course. For instance, if you where in the forward, right corner, you would get p1_x and p1_y both reading 255.

You can use these values in any way in your program. Just don't try to change their value in code; it won't work!

Hope that helps. Good luck.
__________________

  #19   Spotlight this post!  
Unread 11-02-2004, 18:27
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: Programming joysticks

Quote:
Originally Posted by Joe_Ross
Why not #define them, instead of taking up memory?
I don't like using #define for constants. Besides, we've got memory to kill.
  #20   Spotlight this post!  
Unread 11-02-2004, 21:19
deltacoder1020's Avatar
deltacoder1020 deltacoder1020 is offline
Computer Guy
AKA: Dav
#1020 (The Indiana Prank Monkeys)
Team Role: Programmer
 
Join Date: Jan 2004
Location: Muncie, Indiana
Posts: 340
deltacoder1020 has a spectacular aura aboutdeltacoder1020 has a spectacular aura about
Send a message via AIM to deltacoder1020
Re: Programming joysticks

Quote:
Originally Posted by Astronouth7303
I don't like using #define for constants. Besides, we've got memory to kill.
hmm... apparently the forum system managed to place a reply in a different thread... right.
__________________
Team 1020, the Indiana Prank Monkeys (www.team1020.org)
  #21   Spotlight this post!  
Unread 12-02-2004, 17:54
Tridelvior Tridelvior is offline
Windbringer
#0348
Team Role: Programmer
 
Join Date: Jan 2004
Location: Norwell, Massachusetts
Posts: 13
Tridelvior is an unknown quantity at this point
Question Re: Programming joysticks

Do you know the non-binary values of the pX_wheel in their up- and down positions?

I am trying to use their values with a pwm and do not know what to use.

Quote:
temp = p1_wheel;

if (temp==WHAT VALUE?[UP]){
pwm02=200;
}
else[DOWN]{
pwm02=55;
}
__________________
Team 348 Programmer/Animator/Slacker

Minion #341
  #22   Spotlight this post!  
Unread 14-02-2004, 23:50
Ryan Cumings's Avatar
Ryan Cumings Ryan Cumings is offline
Programmer and University Rejected
#0134 (Team Discovery)
Team Role: Programmer
 
Join Date: Jan 2004
Rookie Year: 2000
Location: Pembroke, NH
Posts: 65
Ryan Cumings is an unknown quantity at this point
Send a message via AIM to Ryan Cumings
Re: Programming joysticks

Quote:
Originally Posted by deltacoder1020
example:
Code:
if( (p1_wheel & 0xC0) == 0xC0 )
{
     //hat control is pushed right
}
else if( (p1_wheel & 0xA4) == 0xA4 )
{
     //hat control is pushed down-left
}
...
et cetera
...
just use the bitwise AND function (&) to determine if the correct bits are set.
Haven't been on for a while, but here goes (Sorry delta!)
If you push the hat up by your code then it will default to the first conditional statement you put in.

A more correct way might be to do it this way (using constants provided courtesy of Astronouth7303)
Code:
switch (px_wheel & 0xFC) {
	case Hat_Up_Left: {
		// ... Code here
		break;
	}
	case Hat_Up_Right: {
		// ... Code here
		break;
	}
	// etc...
	default: {
		break;
	}
}
  #23   Spotlight this post!  
Unread 15-02-2004, 23:35
Robert Hafner's Avatar
Robert Hafner Robert Hafner is offline
FIRST Alumni
no team
 
Join Date: Mar 2003
Rookie Year: 2000
Location: Springfield. MA
Posts: 34
Robert Hafner is on a distinguished road
Send a message via AIM to Robert Hafner Send a message via MSN to Robert Hafner Send a message via Yahoo to Robert Hafner
Re: Programming joysticks

Could someone help me out?

What I need is for someone to do out the etc. part of the

if( (p1_wheel & 0xC0) == 0xC0 )
{
//hat control is pushed right
}
else if( (p1_wheel & 0xA4) == 0xA4 )
{
//hat control is pushed down-left
}
...
et cetera
...


thing so I can do this right. I'm a tad but slow when it comes to binary and hex
  #24   Spotlight this post!  
Unread 16-02-2004, 00:05
deltacoder1020's Avatar
deltacoder1020 deltacoder1020 is offline
Computer Guy
AKA: Dav
#1020 (The Indiana Prank Monkeys)
Team Role: Programmer
 
Join Date: Jan 2004
Location: Muncie, Indiana
Posts: 340
deltacoder1020 has a spectacular aura aboutdeltacoder1020 has a spectacular aura about
Send a message via AIM to deltacoder1020
Re: Programming joysticks

here they are in binary, decimal, and hex forms...

Neutral: 001011xx 44 0x2C
Up Left: 111111xx 252 0xFC
Up: 111111xx 252 0xFC
Up Right: 111111xx 252 0xFC
Left: 011000xx 96 0x60
Right: 110010xx 200 0xCB
Down Left: 101001xx 164 0xA4
Down: 100101xx 148 0x94
Down Right: 110101xx 212 0xD4
__________________
Team 1020, the Indiana Prank Monkeys (www.team1020.org)

Last edited by deltacoder1020 : 16-02-2004 at 00:08.
  #25   Spotlight this post!  
Unread 16-02-2004, 00:17
Guest
 
Posts: n/a
Re: Programming joysticks

Here's a diagram that gives the full range of values and the value to test with AND is bold.

252-255*252-255*252-255
*96-99***44-47**200-203
164-167*148-151*212-215
  #26   Spotlight this post!  
Unread 16-02-2004, 00:20
Robert Hafner's Avatar
Robert Hafner Robert Hafner is offline
FIRST Alumni
no team
 
Join Date: Mar 2003
Rookie Year: 2000
Location: Springfield. MA
Posts: 34
Robert Hafner is on a distinguished road
Send a message via AIM to Robert Hafner Send a message via MSN to Robert Hafner Send a message via Yahoo to Robert Hafner
Re: Programming joysticks

Because the last bits are unreliable (from what i've read), how will this affect the program? Should I stick with a general area? example:

Code:
if (p1_wheel >= 42 && p1_wheel <= 46)
    // I am neutral
if (p1_wheel >= 250 && p1_wheel <= 254)
     // I am upperleft;
  #27   Spotlight this post!  
Unread 16-02-2004, 00:30
deltacoder1020's Avatar
deltacoder1020 deltacoder1020 is offline
Computer Guy
AKA: Dav
#1020 (The Indiana Prank Monkeys)
Team Role: Programmer
 
Join Date: Jan 2004
Location: Muncie, Indiana
Posts: 340
deltacoder1020 has a spectacular aura aboutdeltacoder1020 has a spectacular aura about
Send a message via AIM to deltacoder1020
Re: Programming joysticks

your previous code with the bitwise AND (&) should work fine - just use the hex or decimal codes I posted above (because you AND it with the original constant, the lower bits don't matter, and thus it will be true for the entire range).
__________________
Team 1020, the Indiana Prank Monkeys (www.team1020.org)
  #28   Spotlight this post!  
Unread 16-02-2004, 22:39
Robert Hafner's Avatar
Robert Hafner Robert Hafner is offline
FIRST Alumni
no team
 
Join Date: Mar 2003
Rookie Year: 2000
Location: Springfield. MA
Posts: 34
Robert Hafner is on a distinguished road
Send a message via AIM to Robert Hafner Send a message via MSN to Robert Hafner Send a message via Yahoo to Robert Hafner
Re: Programming joysticks

at the risk of sounding dumb, how does the AND thing work, and what do I need to do with it?
  #29   Spotlight this post!  
Unread 17-02-2004, 00:06
deltacoder1020's Avatar
deltacoder1020 deltacoder1020 is offline
Computer Guy
AKA: Dav
#1020 (The Indiana Prank Monkeys)
Team Role: Programmer
 
Join Date: Jan 2004
Location: Muncie, Indiana
Posts: 340
deltacoder1020 has a spectacular aura aboutdeltacoder1020 has a spectacular aura about
Send a message via AIM to deltacoder1020
Re: Programming joysticks

Code:
if( (p1_wheel & 0xC0) == 0xC0 )
"&" is the "bitwise AND" operator. that means that it looks at individual bits of a value, and does an AND operation. AND is defined as follows: true if both inputs are true, otherwise false. a logic table:

0, 0 = 0
1, 0 = 0
0, 1 = 0
1, 1 = 1

so as you can see, it will only return 1's in the places where both numbers have ones. thus, it will only return all of the bits of one value if the same bits are 1's in the other value. the if statement essentially checks to see that all of the bits that are 1 in 0xC0 are also 1 in p1_wheel. replace 0xC0 with whatever "bitmask" (set of bits) you want to test as being 1.
__________________
Team 1020, the Indiana Prank Monkeys (www.team1020.org)
  #30   Spotlight this post!  
Unread 24-02-2004, 20:26
iamjarret iamjarret is offline
Registered User
#1257
 
Join Date: Feb 2004
Location: New Jersey
Posts: 1
iamjarret is an unknown quantity at this point
Re: Programming joysticks

hey, i have a question
we plugged a motor to the pwn port that corresponds to p1_wheel(the wheel)
and teh operator interface shows that when we move the wheel, the values are changing (input), but it is not moving the motor. It is correctly mapped (pwm09 = p1_wheel

how can i get it to work



also, i would like to make code the made a pwm got to speen 255 when p4_sw_trig (trigger) is pushed(equal to 1).

my code so far is
if (p4_sw_trig == 1)
{
pwm12 = 255; (for this i commented out pwm12 = p4_wheel

i also tried p4_wheel = 255;

and i tried p4_wheel = 0xFC;


}

lastly, the y axis dose'nt work on ports 3 and 4 on any joystick i try



please help me fix my code, wheels, and y-axes

thanx
Closed Thread


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
Programming Compatition Angela06 Programming 30 08-04-2005 23:12
Could use some help with joysticks . . . archiver 2001 5 23-06-2002 23:36
Pneumatics electrical wiring and programming archiver 2001 1 23-06-2002 23:10
Calibrating speed controllers and joysticks thedillybar Technical Discussion 4 11-02-2002 13:24
pbasic programming punarhero Programming 4 21-01-2002 23:32


All times are GMT -5. The time now is 01:26.

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