Our joysticks on any program my teams use will not work except for one wheel
on the channel 2
Can you gives us a bit more information so we can better help you? What programming environment (EasyC, ROBOTC, PROS, ConVEX) are you using? What code are you using to use a joystick channel to control the motor(s)?
We use ROBOTC and this is our program.
#pragma config(Motor, port1, MiddleLeft, tmotorVex393, openLoop)
#pragma config(Motor, port2, BackLeft, tmotorVex393, openLoop)
#pragma config(Motor, port3, MiddleRight, tmotorVex393, openLoop)
#pragma config(Motor, port4, BackRight, tmotorVex393, openLoop)
#pragma config(Motor, port5, Arm, tmotorVex393HighSpeed, openLoop)
#pragma config(Motor, port6, Arm2, tmotorVex393HighSpeed, openLoop)
#pragma config(Motor, port7, Claw, tmotorVex393, openLoop)
#pragma config(Motor, port8, Claw2, tmotorVex393, openLoop)
//!!Code automatically generated by ‘ROBOTC’ configuration wizard !!//
task main()
{
while(true)
motor[port1] = vexRT[Ch2];
motor[port2] = vexRT[Ch2];
motor[port3] = vexRT[Ch3];
motor[port4] = vexRT[Ch3];
if(vexRT[Btn5UXmtr2] == 1)
{
motor[port5] = 75;
}
else
{
}
if(vexRT[Btn5DXmtr2] == 1)
{
motor[port5] = -75;
}
if(vexRT[Btn5UXmtr2] == 1)
{
motor[port6] = 75;
}
else
{
}
if(vexRT[Btn5DXmtr2] == 1)
{
motor[port6] = -75;
}
if(vexRT[Btn6UXmtr2] == 1)
{
motor[port7] = 75;
}
else
{
}
if(vexRT[Btn6DXmtr2] == 1)
{
motor[port7] = -75;
}
if(vexRT[Btn6UXmtr2] == 1)
{
motor[port8] = 75;
}
else
{
}
if(vexRT[Btn6DXmtr2] == 1)
{
motor[port8] = -75;
}
}
Wrapping code in (CODE) … (/CODE) tags replacing () with ] makes it easier to read code.
You forgot to add curly brackets for the while(true) loop. I’ve fixed it below:
task main()
{
while(true)
{
// Drive Control
motor[port1] = vexRT[Ch2];
motor[port2] = vexRT[Ch2];
motor[port3] = vexRT[Ch3];
motor[port4] = vexRT[Ch3];
// Arm Control
if(vexRT[Btn5UXmtr2] == 1) {
motor[port5] = 75;
motor[port6] = 75;
}
else if(vexRT[Btn5DXmtr2] == 1) {
motor[port5] = -75;
motor[port6] = -75;
}
// Claw Control
if(vexRT[Btn6UXmtr2] == 1) {
motor[port7] = 75;
motor[port8] = 75;
}
else if(vexRT[Btn6DXmtr2] == 1) {
motor[port7] = -75;
motor[port8] = -75;
}
}
}
It also looked like you were trying to create else if conditions, I fixed those as well along with a little redundancy cleaning.