Hello teams!
I’m Noah Sutton-Smolin from FRC Team 3128. We’re looking for two or three teams to beta test our Java software framework for FRC. Additionally, we’d like feedback on the simplicity and clarity of our documents, so even just reading our documentation would be helpful. We would like to eventually publish this framework for all teams to use, but we would like to ensure it will work properly.
We’re actually not asking for much; what we are really looking for is feedback on clarity, speed & efficiency, and ease of use. We are more than happy to accept feature requests as well. We won’t ask you to use our framework on your actual robot in-game (though if you do, we would appreciate it!).
The framework constitutes a highly flexible event-driven system which allows for easy teleop and autonomous programs. To use an example from our introduction, this is all that’s needed to write a drive program:
public static final XControl xControl1 = new XControl(1);
public static final MotorLink mLeft = new MotorLink(new Jaguar(1,1));
public static final MotorLink mRight = new MotorLink(new Jaguar(1,2));
public static void initializeTeleop() {
ListenerManager.addListener(new Event() {
public void execute() {
Global.mLeft.setPower(Global.xControl1.y1+Global.xControl1.x1);
Global.mRight.setPower(Global.xControl1.y1-Global.xControl1.x1);
}
}, ListenerConst.UPDATE_JOY1);
}
Using buttons is as simple as:
ListenerManager.addListener(new Event(){
public void execute() {Global.motorSpin.setPower(0.7);}
}, "buttonADown");
This does require a decent amount of Java knowledge to get into and use, but those without that knowledge would likely learn much from using it. Teaching it, however, as we’ve found is rather easy. We will be more than happy to answer all questions via Skype and/or email.
Our Google Code project is here. The important and relevant documents are attached to this post, and are also in our SVN repository.
- Software Summary (read this first)
- NetBeans and FRC API setup guide
- Instructional tasks document (used for teaching)
Any and all feedback is welcome! My email is in the document, though I will also be checking this for comments. You are also welcome to add my Skype info. My Skype is “nygubea.rfgina” passed through ROT13 (to avoid spambots).
If you have questions about to implement a specific block of code, please ask! The nonlinearity can be somewhat confusing to get used to.
Thank you so much, and we hope this brings some use in the future!
++Noah Sutton-Smolin
Software Summary.pdf (259 KB)
Programming Tasks.pdf (229 KB)
Programming Intro.pdf (182 KB)
Software Summary.pdf (259 KB)
Programming Tasks.pdf (229 KB)
Programming Intro.pdf (182 KB)