FRC FMS Questions

Does anyone, by any chance, know very much about the FRC’s FMS hardware/software setup? I was going to work with some other local teams to try to build a practice field with a FMS-like interface. I can’t seem to find the Driver Station source code (I have found dashboard code but no DS code, Did I just forget to install it?)

The FMS white paper is probably your best place to start.

http://www.usfirst.org/sites/default/files/uploadedFiles/Robotics_Programs/FRC/Game_and_Season__Info/2013/FMSWhitePaper_RevA.pdf

Also this page has a download for FMS Lite, it hasn’t been updated since 2009 but it’s the best that has been released as far as I know.

http://www.usfirst.org/roboticsprograms/frc/2009-frc-control-system

There is also FMS Delta - something I’m not familiar with, but I heard that it was used at MadTown Throwdown last fall.

The Driver Station source code is not published.

If you want something FMS-ish, search for “FMS Lite” (or “FMS Light”). It was released for the 2009 season, and updated slightly for 2010.

The FMSLight download appears not to work, I get a 404 with it, but the diagram helps make some sense of it. Any other resources anyone else knows of?

I know you can rent the field http://www.andymark.com/product-p/offseasonfield.htm, but, it’s in Indiana, which, at the $2/mile, getting it to the San Diego area could be a bit expensive. so the idea is to build a FMS-like system for local events that could be loaned out to teams in the area for use.

There is no published source code for the DS that is public, and I doubt it would be since it is IP. FMS also will not be released to the public. FMS Lite is the closest you will get to run a field without renting one (with an FTA) from FIRST or AndyMark for each event.

There also used to be FMS Delta, which in my mind was much more useful than FMS Light.

It was the Full FMS, minus some of the VLANing features that the real FMS uses to keep my robot from doing things to yours.

I found an old word document Mark posted on team358.org, but the links to download FMS Delta in it (from port 81 on an IP address starting with 208), no longer work.

I’m working on a project called OpenFMS which will be similar to the real FMS including VLANing. It’s currently in beta and very buggy. https://github.com/itguy51/FRC-OpenFMS

For the networking side of the FMS, you might find this interesting: http://www.chiefdelphi.com/media/papers/2266

Last year, I used that white paper to build a simple Java app that sends FMS packets to a 2012 driver station. I didn’t really pursue it that much after I got basic control working. I got it to the point where the DS would go “FMS Connected” and be able to have the robot state + alliance station set.

Here is my implementation: https://github.com/4ndr3w/Java-FRC-FMS

4ndr3w - your code is actually what I’m using for main library functions. It was the only current FMS library I could find. The idea is to have a java service communicate with a c# UI to gain access to Windows screen functions.

I’ve just updated OpenFMS to have a non-blocking GUI, disable checkboxes, and a timer along with a progress bar. I hope to add a Display Screen that shows scores and match time, and eventually add a layer for communication with Arduino devices for E-Stop buttons. Those whitepapers are very descriptive, and they helped me better understand the packets themselves.

If either of you guys want a hand with development, I’d love to join in.

Id be willing to help too if needed. I have a decent knowledge of C#, so if you want to get it working in C# id be willing to help.

The Java code is on Github, and is open for development by anyone that wants to poke around with it. https://github.com/itguy51/FRC-OpenFMS

As a side project, I’m going to see if I can make a version that creates a hotspot on my phone and can act as a lightweight FMS in my back pocket.

Too soon?

It wouldn’t be a full suite, maybe a 1:1 FMS that can manage 2 connected Driver Stations. Or maybe not even an FMS at all, and be more like the touchscreen controllers that the Field Referees have.

My team has been working on a FMS for off season events.
It can be found here: https;//github.com/Team537/fms

The field control is all working.