Online Window Diagnostic in RobotC?

In EasyC v2 (for PIC) and v4 (for Cortex), the Online Window is a wonderful interface that allows you to efficiently test motor and I/O ports. Is there anything similar in RobotC (for Cortex)? I’ve never seen RobotC users make reference to it, so I’m assuming it doesn’t exist.

I know that you can program the cortex to show the status of sensors on the LCD display, but the Online window is so efficient – you can see the status of every sensor port simultaneously and use slider bars to test every motor port in a matter of seconds.

I’ll soon be working with a new generation of students who have never worked with a robot system, and I’d like to “play catchup” as quickly as possible.

1 Like

If you’re talking about something similar to the devices screen of the V5 brain, then no, that doesn’t exist in robotC. RobotC does have a live debugger though, where you can see the values of all configured sensors and global variables. When I used RobotC I just made a program that bound each motor to a specific button on the controller so that I could test the orientation and workingness of each motor.

Edit: looking at RMS (robot mesh studio), it appears to have some kind of slider thing to do just this. I
don’t have a cortex to test, so @Rick_TYler is the functionality that OP described possible in RMS?

1 Like

Ya the ROBOTC debugger let’s you do this always, you can read all sensors and motors as well as set all sensors and motors. Plus it runs along side your user code so you can have variables say called “drive time” and change them on the fly without reloading, it’s significantly more powerful than the EasyC window.

7 Likes

I used RobotC for three years.
I did not know this.
sigh

1 Like

The nice thing you can do is change the set point global variables so your program moves to new location or flip the pnuematics. Changing a motor by hand is difficult, just like it is in EasyC, driving straight is annoying and controlling a 4 motor arm is pretty terrible. Triggering your own program to control systems is better.

2 Likes

Thank you, thank you! This is exactly what I was looking for! I don’t suppose it would be too much to ask if there are any tutorials that show the nifty subtle tricks that you might not discover if you were a n00b and didn’t know all the right questions to ask or places to look?

2 Likes

There isn’t a resource I know of, but I have a few minutes so here it goes.

Just so I have a robot to talk about, I will use this one I worked on 3 years ago. I remember using a lot of ROBOTC debugger tricks when working on it so its the perfect example.

So obviously there are the easy stuff,

  1. Read pot sensor value on arm, lift to desired height and copy the value into the software
  2. Start and stop program as needed
  3. Read values being sent to motors to debug them.

Then there are things people dont think about as much

  1. Set a motor to full power for a second to see what direction it makes the lift move, do this for each motor to ensure they all point the same direction.
  2. Read variables to debug

And the cooler stuff.

  1. Change values of “sensors”. For a piston this means you can toggle a piston on and off. For an encoder you can reset it back to 0 or any other value you wish. (doesn’t really do anything with other sensors)
  2. Change variables live, so for this robot I had variables for the current target arm pot value. In combination with 6 I was able to from the debugger, set target height location up until I got to correct location, flip the pistons to move the swing arm and flip the pistons to grab things.
  3. Or say your are playing with a flywheel and find while driving that the button that sets your flywheel to X speed sets it to be a little too fast, just change the variable to be a little lower.

All without redownloading or writing any new code.

5 Likes

Somehow you are making me miss RobotC. That’s a big accomplishment

1 Like