ROBOTC 4.06 Issues

I went ahead and updated ROBOTC from 4.05 to 4.06. I open up my program to edit the autonomous and I get all sorts of errors. The code compiled fine before updating. Has anyone else had these issues?

i had the same issue. What spaciffic errors were you getting? and make sure you have cortex selected. It defaults to vex iq.

I’ll just post the code and errors:

#pragma config(Sensor, dgtl1,  redmiddle,      sensorDigitalIn)
#pragma config(Sensor, dgtl2,  bluemiddle,     sensorDigitalIn)
#pragma config(Sensor, dgtl3,  redhang,        sensorDigitalIn)
#pragma config(Sensor, dgtl4,  bluehang,       sensorDigitalIn)
#pragma config(Motor,  port1,           armMotor,      tmotorVex393_HBridge, openLoop)
#pragma config(Motor,  port2,           leftfront,     tmotorVex393_MC29, openLoop)
#pragma config(Motor,  port3,           leftmidfront,  tmotorVex393_MC29, openLoop)
#pragma config(Motor,  port4,           leftmidback,   tmotorVex393_MC29, openLoop)
#pragma config(Motor,  port5,           leftback,      tmotorVex393_MC29, openLoop)
#pragma config(Motor,  port6,           rightfront,    tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor,  port7,           rightmidfront, tmotorVex393_MC29, openLoop)
#pragma config(Motor,  port8,           rightmidback,  tmotorVex393_MC29, openLoop)
#pragma config(Motor,  port9,           rightback,     tmotorVex393_MC29, openLoop, reversed)
//*!!Code automatically generated by 'ROBOTC' configuration wizard               !!*//

#pragma platform(VEX)

//Competition Control and Duration Settings
#pragma competitionControl(Competition)
#pragma autonomousDuration(20)
#pragma userControlDuration(120)

#include "Vex_Competition_Includes.c"   //Main competition background code...do not modify!

/////////////////////////////////////////////////////////////////////////////////////////
//
//                          Pre-Autonomous Functions
//
// You may want to perform some actions before the competition starts. Do them in the
// following function.
//
/////////////////////////////////////////////////////////////////////////////////////////

void pre_auton()
{
  // Set bStopTasksBetweenModes to false if you want to keep user created tasks running between
  // Autonomous and Tele-Op modes. You will need to manage all user created tasks if set to false.
  bStopTasksBetweenModes = true;

	// All activities that occur before the competition starts
	// Example: clearing encoders, setting servo positions, ...
}

/////////////////////////////////////////////////////////////////////////////////////////
//
//                                 Autonomous Task
//
// This task is used to control your robot during the autonomous phase of a VEX Competition.
// You must modify the code to add your own robot specific commands here.
//
/////////////////////////////////////////////////////////////////////////////////////////

task autonomous()
{
if (SensorBoolean[redmiddle] /* = true */) // jumper port is plugged in
{
// Autonomous code below to run if in the Middle Zone, red alliance

		motor[armMotor] = 127;
		wait1Msec(100);

		motor[leftfront] = -127;
		motor[leftmidfront] = -127;
		motor[leftmidback] = -127;
		motor[leftback] = -127;
		motor[rightfront] = -127;
		motor[rightmidfront] = -127;
		motor[rightmidback] = -127;
		motor[rightback] = -127;
		wait1Msec(1500);

//backup then reposition

		motor[leftfront] = 127;
		motor[leftmidfront] = 127;
		motor[leftmidback] = 127;
		motor[leftback] =127;
		motor[rightfront] =127;
		motor[rightmidfront] = 127;
		motor[rightmidback] = 127;
		motor[rightback] = 127;

		wait1Msec(1500);//reposition (face red ball in middle)

		motor[leftfront] = 127;
		motor[leftmidfront] = 127;
		motor[leftmidback] = 127;
		motor[leftback] =127;
		motor[rightfront] =127;
		motor[rightmidfront] = 127;
		motor[rightmidback] = 127;
		motor[rightback] = 127;
}
else if (SensorBoolean[bluemiddle])
{
// Autonomous code below to run if in the Middle Zone, blue alliance

		motor[leftfront] = 127;
		motor[leftmidfront] = 127;
		motor[leftmidback] = 127;
		motor[leftback] =127;
		motor[rightfront] =127;
		motor[rightmidfront] = 127;
		motor[rightmidback] = 127;
		motor[rightback] = 127;
		wait1Msec(1500);
}
else if (SensorBoolean[redhang])
{
// Autonomous code below to run if in the Hanging Zone, red alliance
		motor[leftfront] = 127;
		motor[leftmidfront] = 127;
		motor[leftmidback] = 127;
		motor[leftback] =127;
		motor[rightfront] =127;
		motor[rightmidfront] = 127;
		motor[rightmidback] = 127;
		motor[rightback] = 127;
		wait1Msec(1000);
		//turn left
		motor[leftfront] = -127;
		motor[leftmidfront] =- -127;
		motor[leftmidback] = -127;
		motor[leftback] = -127;
		wait1Msec(750);
		//go straight
		motor[leftfront] = 127;
		motor[leftmidfront] = 127;
		motor[leftmidback] = 127;
		motor[leftback] =127;
		motor[rightfront] =127;
		motor[rightmidfront] = 127;
		motor[rightmidback] = 127;
		motor[rightback] = 127;
		wait1Msec(2000);
}

else if (SensorBoolean[bluehang])
{
// Autonomous code below to run if in the Hanging Zone, blue alliance
motor[leftfront] = 127;
motor[leftmidfront] = 127;
motor[leftmidback] = 127;
motor[leftback] = 127;
motor[rightfront] = 127;
motor[rightmidfront] = 127;
motor[rightmidback] = 127;
motor[rightback] = 127;
}
}

/////////////////////////////////////////////////////////////////////////////////////////
//
//                                 User Control Task
//
// This task is used to control your robot during the user control phase of a VEX Competition.
// You must modify the code to add your own robot specific commands here.
//
/////////////////////////////////////////////////////////////////////////////////////////

task usercontrol()
{
	// User control code here, inside the loop

	while (true)
	{
		motor[leftfront] = vexRT[Ch3];
		motor[leftback] = vexRT[Ch3];
		motor[leftmidfront] = vexRT[Ch3];
		motor[leftmidback] = vexRT[Ch3];
		motor[rightfront] = vexRT[Ch2];
		motor[rightback] = vexRT[Ch2];
		motor[rightmidback] = vexRT[Ch2];
		motor[rightmidfront] = vexRT[Ch2];
		if(vexRT[Btn5U] == 1)
    {
      motor[armMotor] = 40;
    }
    else if(vexRT[Btn5D] == 1)
    {
      motor[armMotor] = -40;
    }
    else
    {
      motor[armMotor] = 0;
    }

    if(vexRT[Btn8U] == 1)
    	motor[rightfront] = 127;
   		motor[rightmidfront] = 127;
   		motor[rightmidback] = 127;
   		motor[rightback] = 127;
   		motor[leftfront] = -127;
   		motor[leftmidfront] = -127;
   		motor[leftmidback] = -127;
   		motor[leftback] = -127;
   		wait1Msec(2500);
		)
)

Errors:
Warning:Unreferenced function ‘UserControlCodePlaceholderForTesting’
Warning:Unreferenced function ‘AutonomousCodePlaceholderForTesting’
Error:Ummatched left brace ‘{’
Error:Ummatched left brace ‘{’
Error:Unexpected ‘)’ during parsing
Error:Unexpected ‘)’ during parsing
Error:Expected->’}’. Found ‘EOF’
This is all after changing to Cortex, I had no errors before.

can you post the line numbers of the errors as well?

Never mind, I figured it out… Also, if any ROBOTC developers read this, there is a typo with unmatched brace. It reads “ummached brace.”

Can you post how you fixed the problem?

It would help if you posted what your solution was, even if you just made a silly error and accidentally put a curly bracket in where it wasn’t supposed to be.

I’d be interested in knowing if it was actually a problem with RobotC, so I know whether I should be worried about this or not.

syntax error in usercontrol, second to last line.

It was a curly bracket error, but I did find a typo in the errors.

I have made our dev team aware of the typo in the error message, thank you for pointing that out to us. Just to clarify, the error report was generated correctly, correct?

The error report was generated correctly - take a look at the end of the posted program.

Yes, the error report was generated correctly. I simply copy-pasted the errors in.