FRC Java Control System Simulation

Hey all, I don’t want to spam the boards with this because one of Team 11’s mentors posted about this in another thread. However, I do think the project should have an official thread.

The project is frcjcss, otherwise known as FRC Java Control System Simulation. At the moment, we have Joystick, Victor, Jaguar, and Robot classes. Here’s an overview of each:

  • Joystick
    X,Y control using mouse position on a Cartesian coordinate system. You can lock the X,Y values by left-clicking. You can activate the trigger by right-clicking (it acts as if you held the trigger down, not just quickly tapping it, but that can be changed). You can also change the Z-axis by scrolling up to increase the value, and down to decrease the value.
  • Victor
    Basically a frame that has a percent value from -100% to +100%. Has the set and get methods from the FRC class, but does not have pidWrite (yet?).
  • Jaguar
    Same as Victor.
  • Robot
    This emulates the main robot class that is executed by the cRIO. It is basically a Java main method with an infinite loop, which acts as an endless teleop or autonomous mode. This class may be changed to simulate the syntax used in the main robot file.

I just uploaded a source snapshot, which can be found under Downloads. The project is under a GPL at the moment. As of right now, there are only members from Team 11 working on it, but I would like to open it up to other teams. I am not sure how I am going to implement that yet, but feel free to leave a comment here and let me know if you’re interested or send me a PM.

Just an update…

We now have a Graph for speed controllers, which draws a line representing the value of the speed controller (-1.0 to +1.0) on the Y-axis and the time on the X-axis. The graph is part of the Victor or Jaguar frame.

I am writing a DigitalSidecar class which will simulate the Digital Sidecar, so only one channel can be occupied at one time.

I need to write documentation as well.

Let me know what you think. :slight_smile:

Looks like a cool project. I think this could be real useful for our team, especially the new programmers. Just downloaded it and will be playing over the holidays. :slight_smile: