ROBOTC vs. PROS - right side not moving at all with PROS

Hi, so I have a really weird issue. So I can’t get my drive to run at all with PROS, but it works perfectly fine with ROBOTC.

I used this ROBOTC code:

#pragma config(Sensor, in2,    mogoPot,        sensorPotentiometer)
#pragma config(Sensor, in3,    gyroSense,      sensorGyro)
#pragma config(Sensor, in4,    liftPot,        sensorPotentiometer)
#pragma config(Sensor, in5,    chainbarPot,    sensorPotentiometer)
#pragma config(Sensor, dgtl1,  rightEncoder,   sensorQuadEncoder)
#pragma config(Sensor, dgtl11, leftEncoder,    sensorQuadEncoder)
#pragma config(Motor,  port1,           mogoMotor,     tmotorVex393_HBridge, openLoop)
#pragma config(Motor,  port2,           intakeMotor,   tmotorVex393TurboSpeed_MC29, openLoop, reversed)
#pragma config(Motor,  port3,           liftMotor,     tmotorVex393HighSpeed_MC29, openLoop)
#pragma config(Motor,  port4,           chainbarMotor, tmotorVex393_MC29, openLoop)
#pragma config(Motor,  port5,           driveBackRight, tmotorVex393HighSpeed_MC29, openLoop, reversed)
#pragma config(Motor,  port6,           driveFrontRight, tmotorVex393HighSpeed_MC29, openLoop, reversed)
#pragma config(Motor,  port7,           driveFrontLeft, tmotorVex393HighSpeed_MC29, openLoop)
#pragma config(Motor,  port8,           driveBackLeft, tmotorVex393HighSpeed_MC29, openLoop)
#pragma config(Motor,  port9,           driveMiddleLeft, tmotorVex393HighSpeed_MC29, openLoop)
#pragma config(Motor,  port10,          driveMiddleRight, tmotorVex393HighSpeed_HBridge, openLoop, reversed)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//

task main()
{

while (true) {
	motor[driveFrontRight] = 127;
	motor[driveMiddleRight] = 127;
	delay(20);
}

}

and the right side worked fine.

I do this in PROS:


 #define BACK_RIGHT 5
 #define FRONT_RIGHT 6
 #define FRONT_LEFT 7
 #define BACK_LEFT 8
 #define MIDDLE_LEFT 9
 #define MIDDLE_RIGHT 10

void setDrive(int left, int right) {
	motorSet(FRONT_RIGHT, -right);
	motorSet(MIDDLE_RIGHT, -right);
}

void operatorControl() {
	while (1) {
		setDrive(127, 127);
		delay(20);
	}
}

And then pros mu to download it, and the right side motors make a small sound like they get power, and immediately turn off. If I lift up the robot, the right side goes full power and then slowly goes down to 0. I’m using PROS v2.6.1.

Thanks!

It sounds like your right side motors are stalling (the motors will stop if they get too hot). How is the friction on that side of the drive?

The friction is fine. The back right wheel insert is circular, so I’m not using that, but there isn’t enough friction that it wouldn’t go at all. And that doesn’t explain why ROBOTC works fine.

PROS doesn’t make your motors stall. I figured that the time it takes to switch between downloading PROS code and then downloading ROBOTC code (and firmware) would be enough to get the motors recover enough so they can run again.

I understand that PROS can’t stall the motors, but I used the ROBOTC code fine for a couple of seconds. I immediately go to PROS, and they don’t move at all. The entire switch was around 5 seconds, which shouldn’t be enough time for them to immediately stall when the robot is off.

Wait a few minutes, and try your PROS code. If the PROS code is still stalling out quickly, let me know. I’d take a healthy bit of skepticism to your situation and you should, too - there haven’t been Master Firmware updates or PROS kernel updates now for a year or two and this would be something we would have noticed very quickly.

Yeah, its really weird and I doubt it’s anything on your end, I’m just confused as to why it won’t work on my end. I’m going to have access to another robot later and test with that. But I tried it again and if I lift it up the motors move, but as soon as I put it on the ground it all just stalls out. Left side works fine though.

If the left side is working, then try swapping the wiring configuration (plug BACK_LEFT into 5 and BACK_RIGHT into 8).

1 indexed.

yea, I realized that and deleted the post.

Interestingly, if I swap FRONT_RIGHT and FRONT_LEFT, then both end up working. I couldn’t switch MIDDLE_LEFT and MIDDLE_RIGHT cause its pretty tightly cable managed and I don’t have a 2 wire extension, but that still didn’t work.