C/C++ Compilers Available?

Which C/C++ compilers can we use with the new control systems? We are not getting very far with LabView.

From what I’ve read, we’ll be able to use the Wind River Workbench, which is a modified version of eclipse (I like eclipse a lot). You should be able to download a trial version, and I believe a licensed version will be in the KOP (I might be wrong).

There is also going to be a new version of WPILib that we can use with the new hardware. So far, this looks good to me.

Will windriver work with windows? it keeps talking about linux.

Yep, Wind River Workbench works with Windows. I’ve been testing it for a while on Vista. No problems.

The compiler that it uses is based off of GCC. It used Eclipse as the IDE.

If you want to brush up on your C/C++ before you get the new system, you can download versions of GCC and Eclipse that will compile C/C++ programs so they will run on your computer.

Having played around with Wind River a bit, it doesn’t seem terribly user-friendly just for getting ramped up with C/C++. For Windows XP/Vista, I would recommend Microsoft Visual C++ Express. I’m no fan of Microsoft, in general, but I find this tool easier to use than Eclipse/Cygwin/gcc/MinGW or some combination thereof. Go to www.microsoft.com/express for free download.

I’ve been a long time user of Microsoft products for software development and I just started using Eclipse a year or so ago. It takes a little “getting used to”, but I’ve grown to like it.

The only issue using Microsoft tools for FIRST is getting it to compile a binary that will run on the hardware.

Wind River Work Bench comes with the necessary pieces to compile to the NI cRIO.

I think this is the Tool Chain that will work the new FRC cRIO.

Developing Shared Libraries for the cRIO-901x and Other VxWorks Targets

If anyone has better information, please post it…

Roger is correct. The Wind River Workbench is being used in combination with a new object-oriented version of WPILib. In the new system, you declare objects for inputs and outputs (there are specialized classes for different sensors, motors, joysticks, etc.) and manage these devices through their objects. There are initialization, autonomous, and teleoperated functions to place your code in which are automatically called by WPILib at the appropriate time (teams that used WPILib last year will find this familiar).

If you’re a bit rusty in C++ and OOP, I would suggest playing around in Microsoft Visual C++ Express Edition. While you can’t use it to compile code for the robot, it is useful as a learning and teaching tool for C++. Tutorials such as www.learncpp.com are also useful.

Anyone know of a good open source compiler that will work? I don’t have enough disk space for Visual C++ and from what I can tell WindRiver is not free. Will bloodshead or something similar work since it is gcc based?

A quick google search yielded this.

Eclipse C++ development tutorial

You can use Eclipse and gcc together for free, and it will be very similar to what WindRiver is. My personal preference is to use my favorite text editor and then just use GCC directly with makefiles, but I doubt that is what you should start out doing.

Disclaimer: I haven’t tested this tutorial, but it looks about right. There are probably other tutorials out there too, but this was the first one I found that looked good.

@dpeterson3: Bloodshed Software’s Dev-C++ will work great for just learning C++ if that’s what you want to do. It might be possible to compile code for the cRIO with Dev-C++, but it would take a bit of work to get everything set up correctly (changing gcc’s target, linking with the vxworks OS libs, etc).

Dev-C++ comes with an IDE and the mingw gcc compiler. You can download it here – http://www.bloodshed.net/dev/devcpp.html

I’d recommend getting Eclipse and gcc and playing with that until your team gets its controller. Once you get the controller, you will get Wind River’s development environment. I think they said that you get 25 licenses. I’d use Wind Rivers environment over any other. Eclipse is pretty good and well worth learning but the main reason is that it comes with all of the stuff you need to build with VxWorks built in. VxWorks is the underlying operating system for the cRio and you’ll probably have to use that.

If you don’t have enough disk to install Visual C++, than you should get another disk. They’re very cheap and you could probably pay for it by collecting the lunch money of your team.