Thanks to all who helped me with the earilier cRIO Not Working Post. I set up the Robot Project as the startup and it worked my only problem now is one joystick is controling both motors. And if i’m reading the program i made correctly it should be Right joystick controlling PWM 1 and Left controlling PWM 2 Right now it is doing only the right stick controlling both. Moving the stick forward moves 1 back and 2 forward, moving the stick back moves 1 forward and 2 back, moving it left goes both reverse, and moving it right makes them both go forward. I am trying to acheive Tank drive. If anyone has a program they could send me it would be immensly helpful.
Are you using c++?
It’s been a while since I did anything with the code, but if you post yours then I can tell you what is wrong with it.
My bad i forgot to mention i’m using LabVIEW xD
If you post a picture of the code in question, we might be able to help you out. =]
What you describe sounds like you’ve got Arcade Drive with the right motor running inverted from how it’s supposed to be. That suggests that you aren’t deploying the code that you posted pictures of.
Yeah that’s what i thought, but i went back and this is the code it deploys. idk i’m quite confused
Seems like you have the joysticks on arcade mode. Well on the joysticks there should be a little knob type thing. The manual says to move the z wheel on the joystick down to the -] on both. Move the z wheel to the +] for arcade. I had the same problem for a minute or two and then I realized you had to move the z wheel.
One thing to keep in mind is that telop.vi is called 50 times a second by robot main. Thus, 50 times a second you are opening robot drive. If it works at all, I’d expect a lot of error messages in the diagnostics window of the driver station.
If Robot Drive VIs are only going to be used in telop, you could open robot drive in the init case of telop.vi and use feedback to save the device reference. However, this becomes cumbersome if you have a lot of devices, or if you want to access them other places (such as autonomous).
The better thing to do is put your open in begin.vi, and then set the device reference. In telop.vi, you can get the device reference and then use it.
I am going to guess that the enums for the joystick are both on USB 1 (can’t tell from the posted pictures). Make make sure they are pointing to the proper USB ports…
they are on USB 1 and USB 2 still only one of them works, i tried the + wheel - and it did nothing, i tried changing the axis in the code…nothing changed, and i reversed the motor inverses and…still nothing
You might try downloading code that has no joysticks just to be sure you aren’t executing old code for some reason.
Ok, i’ll try that. Does anyone have a Tank Drive program i could use?
Try changing the controls for selecting the PWM channels and the USB channels to constants. That way we don’t need to worry about them getting reset to default values.
From my experience, Joe’s answer explains the problem. Otherwise, I don’t see anything else that is wrong.
You could open all your motors/joysticks in Teleop.vi, but it gets complicated in just setting that up.
-Tanner
I put that into my code last night, i’m going to try it today. It seemed the 2nd joystick was not in the Begin.vi that might have been the problem. and i set the open jaguar reference in the begin.vi as well.
While Im not exactly sure about your problem, but i recommend removing all connection with the right control and seeing if the left motor works (by doing what it originally was suspost to do.) if the left control still isn’t working, then the left control probably has a malfunction of some sort. In that case, you should get a new left control.
ok so i’ve definatly got a problem, i took the right motor out of the code and set it to the y axis of joystick 1. AND it’s doing the same thing and it’s running both motors, i tried Joe’s idea NOTHING IS WORKING. O.o …
Could you explain in detail how you are deploying the program?
I would try separating out those constants on the axis it shouldn’t change anything i know but thats what caused ours to do that.