View Full Version : FRC Java 2010 Documentation
alivemyst
05-09-2009, 14:09
Javadocs for the FRC 2010 Java libraries and framework:
http://livemyst.comli.com/
Hopefully teams will find this useful in learning how to work with the new system :)
RyanCahoon
06-09-2009, 09:13
Thanks!
Jared Russell
06-09-2009, 10:42
Have you made sure that the appropriate parties are okay with you posting this information publicly? For example, the beta testing teams must sign an NDA indicating that we will not share certain information before FIRST okays it.
The fact that no official FRC resource (Chief Delphi is not an official source) has posted this documentation makes me a bit suspicious that posting this is their intent.
alivemyst
06-09-2009, 14:30
A good, cautious thought. That said,
Because I am not a Beta tester and have not signed any non-disclosure agreements with FRC or Sun, I am under no obligation to withhold anything I have in the way of code or documentation--further, it licensed under the GPL and therefore can be shared. I have found no other licenses in the codebase...
On another note, if anyone sees anything interesting or curious, please share, as I would be happy to look through the underlying code base to find out more :)
DonRotolo
06-09-2009, 15:00
Because I am not a Beta tester and have not signed any non-disclosure agreements with FRC or Sun, I am under no obligation to withhold anything I have in the way of code or documentation--further, it licensed under the GPL and therefore can be shared.
Before anyone decides to roast this contributor alive - for posting public documents ! - please look at the links provided. This is NOT a "how to" manual for programming in Java, but a reference for the flavor of Java we can expect to see in FRC. Nobody will get ANY value from this without a decent amount of effort - and FRC is an effort-driven organization.
The caveat is that it's not final. So, treat it as a useful resource to get started on understanding. Why didn't FIRST post this instead? Hello, it's not final...
Please, no ranting or raving on whether this is legal/GP/etc - this and related info (http://www.sunspotworld.com/frc/Sun_SPOT.html) is publicly available elsewhere. What we have here is a convenient link, and that's all.
Thank you for thinking before posting
.
Jared Russell
06-09-2009, 17:37
Before anyone decides to roast this contributor alive - for posting public documents ! - please look at the links provided.
Don,
It was not my intent to "roast this contributor alive", nor do I believe that my prior post conveyed that message at all (evidently the original poster agreed, as he responded to my challenge in a professional manner).
I did look at the links before posting. Although Squawk's documentation is indeed available now, this is the first of WPIlibJ that I have seen. My comments were exclusively directed at WPIlibJ; I apologize for any confusion in this regard. Likewise, I apologize if WPIlibJ was publicly available right now and I had just missed its release.
The caveat is that it's not final. So, treat it as a useful resource to get started on understanding. Why didn't FIRST post this instead? Hello, it's not final...
FIRST's NDA with beta test teams explicitly instructs us NOT to post documentation or code of development versions of the libraries, for various reasons (eg. they are moving targets, so we don't want to give out bad info). I am sure that FIRST's development partners are under a similar agreement. The utility of the information posted is irrelevant for the purposes of an NDA. I am neither agreeing with or disagreeing with this policy; I am merely stating it.
Of course, this is all moot because we now know that the OP has no NDA. He is therefore legally free to post what he did.
Please, no ranting or raving on whether this is legal/GP/etc
I never said anything about this being illegal or un-GP. I merely said that I was not sure that it was FIRST's intent to post this (WPIlibJ) information at this time. Considering that FIRST and WPI have not said anything on the topic, I stand by that conviction.
Thank you for thinking before posting
.
I come from a field where things like NDAs, proprietary/classified information, etc., are taken VERY seriously. I understand that posting Javadocs for a robotics competition is not even close to the same thing as leaking government secrets, but I have been conditioned to treat these sorts of things EXTREMELY cautiously. At times overly so.
I really didn't mean to de-rail this thread, I just felt obligated to make sure that the OP had fulfilled any obligations to FIRST before posting. He believes that he has, so let's move on.
Joe Ross
06-09-2009, 19:51
I hope you'll consider posting this on the FIRST Forums (http://forums.usfirst.org/forumdisplay.php?f=1260) also. While chiefdelphi is the most active FIRST forum, it serves only a tiny microcosm of the FIRST society. Since FIRST just sent out an email blast telling everyone to look at the FIRST forums for more information, presumably you'd get many more eyes there.
alivemyst
07-09-2009, 11:48
Ok so...
Re: going to the FIRST forums... I'll see if I can post something there for other people to use--it feels like their forums are little less open than Chief Delphi and they really don't have a section for this yet, but I'll figure it out.
Oh, and FYI: None of the FRC stuff I have posted is available as yet anywhere else. Squawk VM has its own, SunSPOT focused, documentation at SPOTWorld...but WPILib has none.
Additionally, I have posted first bits of sample code found in the latest code base, which is in fact the code used at the 2009 Java Demos. It demonstrates basic robot operation as well as some interesting work with camera tracking as well as solenoids. I'll post my own analysis on it along with Templates shortly after.
Link (http://livemyst.comli.com/files/dd5227718872e1cb2f0da02967e09612-4.html)
Note that if anyone does download this source code, it IS under a special BSD-derived License that MUST be downloaded along with it. Its one more mouse click that keeps us all legal. Thanks.
Finally,
I'm actually glad people are thinking a bit about the legal status of the stuff I'm posting--it goes to show a bit the strong character of FRC competitors. As a professional developer I myself am under NDAs for various projects, and I am familiar with these sorts of arrangements. Fortunately I think I'm in the clear here. A correction however..I state above that the code is under the GPL...While Squawk is under the GPL, WPILibJ is in fact under the BSD license, which is MORE permissive than the GPL.
DonRotolo
07-09-2009, 13:12
It was not my intent to "roast this contributor alive", nor do I believe that my prior post conveyed that message at all
<snip>
I never said anything about this being illegal or un-GP. I merely said that I was not sure that it was FIRST's intent to post this (WPIlibJ) information at this time. Considering that FIRST and WPI have not said anything on the topic, I stand by that conviction.
<snip>
I really didn't mean to de-rail this thread, I just felt obligated to make sure that the OP had fulfilled any obligations to FIRST before posting. He believes that he has, so let's move on.
Hi Jared,
I apologize that my post wasn't as clear as I should have made it. I was not attacking or even commenting on what you wrote (which, BTW, was spot on), instead trying in my own clumsy way to head off the perceived-as-inevitable firestorm of squawking. Thus my comments about "roast", "un-GP" and so on were not directed at you, but at the community in general.
As for the WPlibJ stuff, it only goes to show how far over my head this stuff is - only now do I see the difference between the two and find that, as stated above, that doesn't seem to be available anywhere else.
RyanCahoon
07-09-2009, 14:33
For people who are able to talk about it...
Anyone know whether there's any other API layers than the Squawk API and WPIlibJ? For example, the java.util package looks kinda sparse. Not saying teams couldn't code their own ArrayList, etc, but it's much nicer to have these features available OOTB.
--Ryan
alivemyst
07-09-2009, 14:44
@ryancahoon: there are no additional layers, sorry...Remember that Squawk is a J2ME VM and hence will have a slightly different library set. I've been using squawk for years and also noticed the apparent sparsity, but in fact theres not much missing...It just named differently/less redundant.
For example, for arraylist, use Vector instead. In fact on J2SE you are much better off using Vector anyway because it has synchronized methods. Now...Squawk is not exactly jdk1.5 compatible yet(ie no parameterized classes) and some of the implementations of stuff are a bit old..Vector is from 1.2 because of J2ME compliance stuff. That means you might not get some of the methods you are used to with Vector, but you'll get along fine--elementAt() instead of get(), for example.
There is a way to use 1.5 code on squawk and its not too difficult...I'll dig it up and share it as i can...
Thomas4019
07-09-2009, 19:03
These Javadocs make me really excited to start programming FRC in Java. What about image acquisition and processing. I noticed that in the source code you provided, classes were being used such as ColorImage that are not in the WPIlibJ Javadoc you posted.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.