Sprinkler GUI/Configurator

This tool allows you to configure and experiment with a sprinkler control board.  You can tailed the board configuration items (inter-valve open delay, minimum pump cycle time, max open valve time), queue requests to the controller, remove requests and re-order them, view the status of all valves and contents of all queues and review a log of all controller activity

This tool also provides an xPL module for the xPL4Java container allowing your sprinkler controller to be controlled as part of an automation system.  You can read about it here

The tool requires Java 1.5 or later (also known as Java5). It also requires an annoying additional package to be installed. This is because it uses the serial port and serial port access is not something supplied in the normal Java install. I apologize for this, but there was no other way to do this (using Java).  The package is called Javacomm and you can learn more about it, where to download it and tips and notes on getting it working here

Once Java and the javacomm software is installed, download the sprinkler controller distribution here (including the source) (tgz format). Once downloaded and unzipped, you should be able to just double click on it to launch it. If you can't do that, you can launch it from the command like with a command like this (assuming you stored the jSprinkler.jar in your C:\temp directory):

javaw -jar C:\temp\jSprinkler.jar

For linux/solaris, replace the C:\temp with the path to where you stored the jar.

You must have the controller attached to the serial port when you do this.  The sprinkler attempts to choose the correct port, but if it doesn't, you can over-ride it by putting the serial port to use on the command line or as a parameter to the shortcut.  For Windows, you'd usually add "COM1" or "COM2" to select a port (no quotes).  For Linux, it'll look like /dev/ttyS0, /dev/ttyS1 (it'll be similar, though probably not exact for other unixy systems like Solaris, Mac OSX, etc).

When the GUI starts, look in the lower right corner of the status bar.  It should show the firmware version of the controller.  If it does not, then the controller is not hooked up, is hooked to the wrong port or is not functioning (no power, damage, etc).

You can configure the names of the valves and queues in the Edit menu.  Those names will be used when display information in the GUI.  If you use the xPL gateway, those names can als be used to identify valves and queues through it. 

If you choose to configure the controller (in the Edit menu), it'll show you the controller firmware version, the controllers up time (time since it was last rebooted or lost power).  It'll then let you choose the inter-valve open time and minimum pump cycle time (in seconds) and the maximum valve open time for the valve supervisor program (in minutes).  If you do not cancel out, the settings are sent to the controller and saved in non-volatile EEPROM.

The messages tab shows a log of all events tht occured on the controller along with the time and date.  The Valve tab shows the state of all valves.  If the valve is open, it'll show how long it has been open and how long it'll remain open.  If it was opened and is now closed, it'll show the last time the valve was opened and for how long.  Both the messages and valve tabs only contain "history" from the time the jSprinkler configuration program started running.

The queue tab shows the status of a queue (running or on hold) as well as the number of requests in the queue.  Controls at the bottom allow you to queue a request (fill in the valve and the # of minutes), reorder entries in the queue (select and entry then use the Move Up/Move Down buttons) or remove an entry from the queue (select the entry then press Remove).

When the configurator program starts, it asks the controller some information about it's configuration and then queries the contents of each
queue.  So if you make a series of requests into a queue and then leave the configurator program and later return, you'll see the actual state of that queue with all remaining entries in it.

Last Modified June 13, 2006