VeXPro - Problems with motor ports [4-15]

Good Day Staff and others,

I have done some extensive searching and testing on this issue but to the best of my ability have been unable to resolve on my own.

The motors that I am connecting are BAG motors and follow the standard wiring that the regular vexpro motors use.

Forgive my code’s length, this was the easiest and simplest way I came up with to test all motor ports:

#include "qemotortraj.h"

int main(int argc, char **argv)
{
	const int axis = 1;
	const int axis1 = 2;
	const int axis2 = 3;
	const int axis3 = 4;
	const int axis4 = 5;
	const int axis5 = 6;
	const int axis6 = 7;
	const int axis7 = 8;
	const int axis8 = 9;
	const int axis9 = 10;
	const int axis10 = 11;
	const int axis11 = 12;
	const int axis12 = 13;
	const int axis13 = 14;
	const int axis14 = 15;
	const int axis15 = 16;

  CQEMotorTraj &motor = CQEMotorTraj::GetRef();

  motor.SetPIDVGains(axis, 100, 0, 500, 0);
  motor.SetPIDVGains(axis1, 100, 0, 500, 0);
  motor.SetPIDVGains(axis2, 100, 0, 500, 0);
  motor.SetPIDVGains(axis3, 100, 0, 500, 0);
  motor.SetPIDVGains(axis4, 100, 0, 500, 0);
  motor.SetPIDVGains(axis5, 100, 0, 500, 0);
  motor.SetPIDVGains(axis6, 100, 0, 500, 0);
  motor.SetPIDVGains(axis7, 100, 0, 500, 0);
  motor.SetPIDVGains(axis8, 100, 0, 500, 0);
  motor.SetPIDVGains(axis9, 100, 0, 500, 0);
  motor.SetPIDVGains(axis10, 100, 0, 500, 0);
  motor.SetPIDVGains(axis11, 100, 0, 500, 0);
  motor.SetPIDVGains(axis12, 100, 0, 500, 0);
  motor.SetPIDVGains(axis13, 100, 0, 500, 0);
  motor.SetPIDVGains(axis14, 100, 0, 500, 0);
  motor.SetPIDVGains(axis15, 100, 0, 500, 0);

  printf("Begin Program. \n");

  while(1)
    {
	  motor.Move(axis, 40000, 20000, 8000);
	  motor.Move(axis1, 40000, 20000, 8000);
	  motor.Move(axis2, 40000, 20000, 8000);
	  motor.Move(axis3, 40000, 20000, 8000);
	  motor.Move(axis4, 40000, 20000, 8000);
	  motor.Move(axis5, 40000, 20000, 8000);
	  motor.Move(axis6, 40000, 20000, 8000);
	  motor.Move(axis7, 40000, 20000, 8000);
	  motor.Move(axis8, 40000, 20000, 8000);
	  motor.Move(axis9, 40000, 20000, 8000);
	  motor.Move(axis10, 40000, 20000, 8000);
	  motor.Move(axis11, 40000, 20000, 8000);
	  motor.Move(axis12, 40000, 20000, 8000);
	  motor.Move(axis13, 40000, 20000, 8000);
	  motor.Move(axis14, 40000, 20000, 8000);
	  motor.Move(axis15, 40000, 20000, 8000);

      while(!motor.Done(axis));
    }
}

There are two VeXPro 393 motors on ports 1 and 2 which run fine. The BAG motors are located on upper ports (12,13) and don’t run at all. I’ve tried various configurations like ports 10,11 with no success. This is a brand new VeXPro controller so the chances of a port being burned up is unlikely. I believe it is a problem with my code or maybe configuration as I am able to run all of these motors on ports 0-3, but I require access to more ports for more motors.

If you could be of assistance with this issue it would greatly decrease my amount of headaches :slight_smile:

Thanks!

SE7EN

This has been resolved by VeX community. The solution was to use Servo classes instead as the first four ports (13,14,15,16) are assigned as motors only. The rest must be controlled with servo classes.

Thanks to jpearman for providing insight.