Where is the Java?!?

I know this sounds impatient and I know I shouldn’t expect every deadline to be met, but WPILibJ and all the means necessary to program our robots in Java was supposed to be released to us non-beta teams in November.

Today is December 1st.

My team has trained extensively (and quite successfully, I might add) in java, and at this point being able to work with last season’s robot in java is becoming critical to maintaining our momentum.

Does anybody know what the deal is? When approximately will the java stuff be available?

Having Java released early to the teams would be a nice luxury. There is a discussion on this topic going on in the Beta community. They are trying to gage how most of the Beta testers feel about the current state of the Java code.

Obviously, releasing Java while there are still multiple problems would be very unproductive. However FIRST and the Beta test teams have been working diligently to get it ready for ‘prime time’.

Out of curiosity, can you please point me to the FIRST official that said Java would definitely be released ahead of time? Most of the people working in the Beta test have been very careful to frame everything in terms of “probably” and “hopefully”, and I’m curious where it was stated it would definitely be released in November.

That said, there has not been any hard-and-fast date discussed in the beta. They are simply trying to get it ready as quickly as possible.

There were some documents last year which stated Java would be ready for November 2009. The schedule at http://sunspotworld.com/frc/Schedule.html says so, as did a longer article by WPI which I can’t seem to find.

My understanding is that the plan was originally to have the Java libraries released by now, but that it has been deemed that there are still too many bugs with them to allow for a full public release. However, both the FIRST staff and the Beta Teams would like to have it out ASAP for everyone to work with, so hopefully the bugs will be worked out in time so a pre-build-season release will be possible.

If you’re bored or antsy, make an OI GUI that fits on the Netbook. You’ll find that it’s not as easy as it appears and will be more applicable to the places you encounter Java programming later in life. You’ll deal with user preferences, “pretty” concepts, real-time Java issues, Java comms protocols, states of the gui, and (hopefully) good OO programming practices via design patterns.

Things that you know you’ll want are battery voltage and sensor outputs. You could make the dials or meters now and drive it with arbitrary data. Then work on the comms protocols. Then put the driver in a different Java process to test the Comms with the GUI. Then, once the season hits you’ll have an understanding of how to hook the Java GUI into the cRIO once we know the protocols used. We did it for the '09 game, so we know it’s possible.

One of the things that’s bugged me about the way Java was handled this year is the beta process. I can understand that when hardware is involved you can’t have thousands of people involved in the the beta process. But this is software!

To me it would have made more sense for FIRST open Java up for everyone to work with. Maybe you only offer support to the “beta teams” but as long as everyone knows this is unfinished, unsupported code let the world work with it.

I guess the argument is you don’t want people to frustrated and confused until everything is buttoned down. I’d counter that the open source community has been working this way for years with no ill effects. You just make sure people know upfront they are on their own and everything can change.

Unfortunately, that “just software” has a lot of hardware interactions that can do bad things to the Crio. Some of the bug-hunts recently have resulted in Crio’s that were non-responsive and required being reset in safe mode and reimaged to get working again.

Some issues that have been found have resulted in very unusual robot behavior (read as motion when none was expected). ::ouch::

I hate to think about teams having something happen to their Crio that rendered it inoperable for a time, or even worse, someone getting injured because of mismatching softare versions or malfunctioning software.

Brad Miller and WPI are very interested in getting the code out there - I’m positive it will happen as soon as humanly possible.

I’m extremely glad that this thread was posted, because I had been informed that support for Java was already available and I was going to proceed on that assumption.

I guess my question at this point is… when will it be available for sure? Is there some guarantee that a working version will be available even for ship date? Or say, two weeks into build? If not, I think teams that are interested in Java may have to look elsewhere this year, because you need to know that you can program the robot when build season starts.

On a side note (and I’m sure this information is available somewhere), what does the process look like for loading Java code onto the bot? In other words, does it go from a specific IDE designed for this? Or can I just write the code in a text editor?

-Paul Dennis

Oh, I have no doubt a very working and robust version of Java will be shipped for kickoff and I hope I didn’t give an impression otherwise. My comments above were related to one issue currently going that was just an excellent example of why it hasn’t been released to all the teams yet. The beta teams have already found a way to work around it while a fix is made (usually fixes come out within a day or two - that’s how hard WPI and NI are working). The beta teams are already using it very successfully and it’s had some really enthusiastic comments on how it works.

Specific questions about Java should be posted here:

http://forums.usfirst.org/forumdisplay.php?f=1264

They have example code posted and will be happy to get you started, plus they are the ‘official’ site.

I guess it’s done when it’s not making robots turn into vehicles of injury.

That kind of sounds like Duke Nukem Forever. Let’s just hope this doesn’t suffer the same fate.

-Nick

It looks like an early version of Java is now available to the rest of us!

http://first.wpi.edu/FRC/frcjava.html

Enjoy!

Bill’s Blog just mentioned about the Java Available software in the post today.

In addition, I’m very pleased to let you know that an early version of the FRC Java software is now available for download at http://first.wpi.edu/FRC/frcjava.html . I know we promised this for November, and I apologize for being a few days late, but I think you will be very happy with the results. Our hats off to the extraordinarily dedicated Java beta test teams and the developers for all their hard work! Veteran teams, I encourage you to open your doors to rookies in your area interested in getting an early look at Java and how it works with the robot. Remember they don’t have the advantage of having last year’s control system to experiment with.

Good Luck!

Jason Law