Hi, I am the lead programmer of a team that lost almost all of its programmers and programming mentors, so we have almost no experience with frc programming. I know some basic java, but don’t know too much, especially robot programming.
I have some questions about the new year:
I am aware that we are changing to Eclipse this year. Does anybody know why this change is taking place, and what we have to do to get the plugins. I have never used Eclipse before.
2.Where and when do we get the new FRC java API library? I heard somewhere that they were considering scrapping it and building a new one from scratch, is that true?
Lastly, where are some good places to learn and teach both basic java and robot programming, like autonomous, smart dashboard, ir sensors, and more that I can’t think of. I’m expecting a number of people to join with little to no java experience, and I myself am not good at robot programming.
Is it all in the API library, or do I have to learn from somewhere else.
These are all the questions that I can think of now, I may add on to this post later if I have any more.
1)They are also changing to a later version of Java. They are also moving C+ from windriver. I expect Java is mostly along for the ride.
2)First has not released the eclipse plugins & might not until kick off. Your best best is to find a Java Beta test team in you area & make arrangements to visit them for a show & tell. The next best is to search CD for Beta java teams & find their web site. The first forum where they are suppose to post doesn’t seem that active. Everything I have heard say they are not scrapping the current API library. It is getting updated & probably will not be backward compatible. (Old code should run with the new library, but you will not be able to put new code on the Crio. Hopefully one of the beta programers will give a better answer.
Sorry, I tried to respond earlier, but it looks like that didn’t work…
Thanks for the quick reply!
What does this mean for Java people though, does anything change for us other than going to Eclipse. Will this year’s plugins/library work on NetBeans?
I will see what I can do about meeting with a beta testing team, but I don’t want to have to be dependent on another team. How do I know what teams are beta testers?
When did we get the plugins/library last year? Will we get it the same time this year? Do beta testing teams already have it?
Thanks, those look like great resources, although those aren’t for the new control system. I assume there is nothing out there for them?
I am not involved in Beta this year. So take what I say for what it is worth.
For Java people. They are going to a later version of Java (8?). So you get the new features in Java. I think they are focused making the new software & hardware work. Don’t expect a lot of new features. The supported 2015 platform is Eclipse. Doesn’t mean it cannot be made to work on other platforms, but you will be on your own.
2)Here is the other Frank’s blog on beta teams. It lists the location of the teams. The 2014 plugins where released at kick off. The 2014 getting started guide tells you how to get them. First only knows when the 2015 software will be released. I expect at the earliest in Dec when the preorder Robio Rios ships. More likely kick off. One reason is First doesn’t want pre release versions floating around. Yes Beta teams have the Beta Plugins. Assuming the NDA is like last year, they can show you code. Show you the IDE complete with plugins. Let you help develop code on there system. They cannot give you the plugins. Would not be useful without the new hardware anyway.
3)No nothing out for the new control system except what the Beta teams publish. See above.
2177 is a local Beta (and Alpha) testing team. They also use java as their programming language IIRC.
My team, 4536, uses java, pm me or email me ([email protected]) if you have any specific questions now or later in the season.
I really do not know a SPECIFIC reason why they would move to Eclipse, and I dont think there is an official reason… In my opinion it is likely that it is just one of those industry standards. Eclipse is VERY widespread, I have only ever left Eclipse for a short time to try out IntelliJ and for Robotics since I was forced to use Netbeans. It MAY be easier to develop plugins for Eclipse… I have only experimented with it but I dont think that would be a reason since their Netbeans module worked fine.
Basically, don’t fret. Eclipse is a very good Java IDE that I personally prefer, and if they do it right then it will be as easy to deploy as it is in Netbeans.
They will not be scrapping the FRC API. WPILib may be eventually updated to use the new Java 7/8 features but it will definitely not be done this year. You will have ALL the features of Java 8… but WPILib will not be taking advantage of them. Most likely you won’t really notice a problem.
There is no 2015 Eclipse Plugin yet… but if you WANT to see what it is like using WPILib in Eclipse, there is still the download link from the experimental 2011 Eclipse Plugin that you could try, but realize you will have to install the 2015 plugin later anyway.
If you go into Eclipse, go to Help -> Install New Software and click where it says “type or select a site” and paste the following: FRC - http://first.wpi.edu/FRC/java/eclipse/update/
The whole thing, including the "FRC - " part
When you see an item in the list below, check it, click “Next” and follow instructions.
Note: From my experience, this version will install it in EVERY PROJECT in the workspace… so I recommend making a separate Robotics workspace.
I mean… generally I recommend looking at Source Code on GitHub. My Personal GitHub is https://github.com/Matt529 but some of my projects can be beyond the scope of FIRST. Specifically just look for FRC Bots on GitHub
Unfortunately there are no real FIRST Robotics tutorials on YouTube. The best way is to just look for Source Code that is documented and just chew through it and ask questions. A lot of the WPILib necessities can be found at Screen Steps Live for 2014 FRC Programming.
If you ever have questions relating to Java or FIRST Robotics Programming, feel free to contact me! I won’t bite! I basically teach Programming and Game Design at my school, I have patience .
You will have access to more features. Based on what I say from an older post (couldn’t find it) one of the WPILib “CodeMonkey’s” said that Java 8 is the only one that run’s fine on the RoboRIO (which is Linux) without any “funny [JVM] flags”. Java SE 8 Embedded is a HUGE upgrade. Previously we running CDLC 1.1 (might be off on the version) implementation of Java ME 1.4, even if it is actually Java 7 that still introduces Streams, NIO, Generics, and more. Java 8 just introduces a functional-like syntax via method chaining, a Lambda implementation, and more you likely wont be too interested in.
You COULD probably get a Netbeans setup but I think that is unnecessary extra work.
There is not any real documentation for the 2015 Control System yet.
FYI - Wind River’s Workbench development environment is Eclipse-based. So really we are moving from a highly-modified version of Eclipse to a bare-bones version of Eclipse. We can’t use Workbench because it requires a license which expires later this year.
All of you have been great, thanks for your help.
I think that those are all of my questions at this point, will let you guys know if I have something else to ask.
So I have taught some Java classes to the other (future) programmers, and they all know Java to a small extent (basically everything on codingbat.com they can do).
What is the next step for them, what more should they be able to do, and how can I give them practice for programming with robots?
Also, I have two programmers who are more experienced with programming with me, but have no First experience. How can I work with them, so that they are ready for the season to start
A fellow mentor, that is a very reliable source of information, told me the reason for moving to eclipse was so they had a single IDE for both Java and C/C++ developers. I’ve always used IntelliJ IDEA community (the free edition) with my students. I did that because with 11 years experience using it, I know IntelliJ IDEA very well. So I do not want to have to be learning an IDE myself as I try and teach my students. In the past the plug-in for NetBeans simply downloaded an SDK, provided a few new class templates, and gave you a run configuration to run the included Ant build. So I’ve always been able to make the equivalent templates and run configurations in IDEA. I’ve been planning to write a Plug-In for IDEA that would provide all that so I would not have to have the students copy some of the stuff over to their systems. When I heard about the change for 2015, I decided to wait so I could write the plug-in around the new changes. I suspect the Eclipse plug-in will do mostly the same things that the NetBeans plug-in did… provide a basic project template. But we’ll have to wait and see. Assuming nothing earth shattering, I can write the IDEA plug-in this year. Then I’d just need to update it each year within a day or two or the release of the new code.
About good places to learn basic Java programming I highly recommend this. Its basically a computer science textbook that is really easy to read. Just pick out certain chapters that you think would be helpful and have the new programmers read them. Its really detailed but simple to understand.
Also something super simple and probably really obvious for learning FRC robot programming (even though things may change this upcoming season; don’t fret I don’t think the changes are too major):
look at the sample programs that First provides such as GearsBot
read through the comments in the template that you choose to use
Google for some other teams’ code. Most teams have their code publically available on GitHub (our team does).