Resetting VEX Cortex

I am a new teacher to robotics and am trying to reset the VEX Cortex to factory settings. We have tryed the following steps and ports 2 through 9 are not reset. One port from 2 through 9 will work at a time. Please view the steps we are taking and help.

"To wipe old programs off your joystick and cortex:

  • Cortex is OFF, press and hold config button
  • Download firmware to Cortex
    Robot / Download Firmware / Manually Update Firmware / RobotC Firmware / Standard File (VEX_Cortex_1056.hex)
  • Download firmware to joystick
    Robot / Download Firmware / Manually Update Firmware / VEXnet Joystick Firmware / Standard File (Joy_V4_25.BIN)

Now to Link Controller to Cortex

  • Both Cortex and joystick are off
  • Connect Orange cord to Cortex and Joystick
  • Connect the 7.2V Robot Battery to Cortex
  • Turn on Cortex ONLY
    A successful tether is indicated by a Solid Green VEXnet LED on both the Joystick and the Cortex.
    The Solid Green VEXnet LED must remain ON on both units at the same time for a minimum of 5 seconds.
    Disregard the other LEDs as you are only interested in the VEXnet LED.
    Pairing may take up to one minute to complete."

Can you describe your issue with the ports further?
Do you mean that only one of motor ports 2-9 works? Is that seemingly random, or is it just one specific port? Were you having problems with those ports before you tried to reset the cortex?

Also, how are you testing the ports? If you’re using some code, make sure the ports are configured correctly (posting your code here would help)

3 Likes

After downloading the basic clawbot program, only port 6 or port 7 will function. Ports 1 and 10 are fine. We tryed coding just one port from ports 2 through 9 and each port communicated with the joystick perfectly under those conditions. When two ports are programmed (one for ARM and one for CLAW), only one (2 -9) will function with the joystick. Very puzzling.
This is our code:
configuration of motors:
port 1, motorLeft
port6, motorCLAW
port7, motorARM
port19, motorRight

task main()
{
  while (==1)
  {
    motor[port1]=vexRT[Ch3];
    motor[port10]=vexRT[Ch2];

   if(vexRT[Btn6U]==1)
     {motor[motorCLAW]=127;}

   else if (vexRT[Btn6D]==1)
      {motor[motorCLAW]=-127;}

    else
        {motor[motorCLAW]=0;}
   }

   {   if(vexRT[Btn5U]==1)
     {motor[motorARM]=127;}

   else if (vexRT[Btn5D]==1)
      {motor[motorARM]=-127;}

    else
        {motor[motorARM]=0;}
 }
}

Thank you

The issue is that control of the arm motor is outside the while loop, better formatting of the code would have helped see the error, here is the original code reformatted.

original code reformatted
task main()
{
  while (==1)
  {
    motor[port1]=vexRT[Ch3];
    motor[port10]=vexRT[Ch2];

    if(vexRT[Btn6U]==1) {
      motor[motorCLAW]=127;
    }
    else if (vexRT[Btn6D]==1) {
      motor[motorCLAW]=-127;
    }
    else {
      motor[motorCLAW]=0;
    }
  }

  {
    if(vexRT[Btn5U]==1) {
      motor[motorARM]=127;
    }
    else if (vexRT[Btn5D]==1) {
      motor[motorARM]=-127;
    }
    else {
      motor[motorARM]=0;
    }
  }
}

Here is a revised version with the unnecessary braces removed

task main()
{
  while (1)
  {
    motor[port1]=vexRT[Ch3];
    motor[port10]=vexRT[Ch2];

    if(vexRT[Btn6U]==1) {
      motor[motorCLAW]=127;
    }
    else if (vexRT[Btn6D]==1) {
      motor[motorCLAW]=-127;
    }
    else {
      motor[motorCLAW]=0;
    }


    if(vexRT[Btn5U]==1) {
      motor[motorARM]=127;
    }
    else if (vexRT[Btn5D]==1) {
      motor[motorARM]=-127;
    }
    else {
      motor[motorARM]=0;
    }

    // good to have a loop delay
    wait1Msec(25);
  }
}
3 Likes

Thank you very much. I appreciate your time and effort. This is a lesson I will not forget.