QuarkNet Java Interface


Overview

This is a temporary web page that can faciltate distribution of the executable jar file and the source code associated with the QuarkNet Cosmic Ray Detector Java Interface which was originally developed at Purdue with help from Frank Roetker, supported by the National Science Foundation under Grant No. 0847443. This web page is not a good substitute for a real software distribution system, but it will serve various short-term needs.

Executable jar file distribution

The following link can be used to download an archive containing all the files needed to install and run the interface:
CosmicRayDetector_Windows.zip

This zip file contains the CosmicRayDetector executable jar file, the jar files needed to resolve dependencies and the rxtxSerial shared library needed for serial port communications. It also contains the driver installation program needed for the USB interface. The installation instructions, contained in the "install" folder are as follows:
  1. Setup QuarkNet hardware and connect DAQ board to computer (see Setup section). Even if Windows says that it cannot find the correct driver for this hardware, disregard and continue.
  2. Unzip the CosmicRayDetector_Windows.zip archive to desired directory (Desktop is recommended, as program will be run through this folder).
  3. Run USB_to_Serial_Driver_Win.exe from the Install folder and follow installation instructions. This program will first extract the installer and then go through the installation. Note: This may require administrative privileges.
  4. Run ports.bat that is in the same folder. This will open a command prompt window that will list your active communication ports.
  5. Look for /Device/Silabser0 and note which port this is assigned to.
  6. Invoke the CosmicRayDetector executable jar file. The interface and splash screen should appear.
  7. Wait for the splash screen to go away, or click on it to make it disappear.
  8. Click in the "Port" box within the Control Panel tab and change to the port you found when you ran the ports.bat script.
  9. Press Enter. You should begin to see output in the data window, and if so, your setup is complete! Note: Once install is complete and the interface is up and running, you may delete the Install folder.
Thare are additional installation and troubleshooting instructions contained in the pdf file in the 'install' folder contained in the zip archive.

Linux installation

This software has been develoeped in a Linux environment. The following steps are needed to install rxtx and configure the permissions of user accounts that will use it:
$ cd /home/user
$ mkdir java
$ cd java
$ unzip /tmp/rxtx-2.1-7-bins-r2.zip
$ cd /home/userid/java/rxtx-2.1-7-bins-r2
$ su
# cp Linux/x86_64-unknown-linux-gnu/librxtxSerial.so /usr/java/jdk1.6.0_31/jre/lib/i386/
# cp RXTXcomm.jar /usr/java/jdk1.6.0_31/jre/lib/ext/
# /usr/sbin/usermod -aG uucp userid
# /usr/sbin/usermod -aG lock userid
# exit
$ export LD_LIBRARY_PATH=/usr/java/jdk1.6.0_31/jre/lib/i386/
$ java -classpath ./:jfreechart-1.0.14.jar:jcommon-1.0.17.jar:freehep-jminuit-1.0.jar:RXTXcomm.jar CosmicRayDetector
$ jar cvfm CosmicRayDetector.jar CosmicRayDetector.mf CosmicRayDetector*class TitlePage*class title.html images

Mac installation

It can be done! Unfortunately we have no record of the steps that were taken. If I recall correctly, rxtx does indeed work but the serial port shows up with a funny name in the /dev directory. We hope to provide a working example soon...

Source code

The source code is contained in the archive: CosmicRayDetector_source.zip
In order to build the executable, the following packages will also need to be installed:
RXTX 2.1
JFreeChart 1.0.14
JCommon 1.0.17
freehep-jminuit 1.0

Suggested embelishmens

The following is a list of additions or modifications that would enhance the software interface without significantly changing the scope of the project.
  1. The ability to 'replay' a previously recorded data file
  2. The intended functionality of the 'Air Shower' tab needs to be completed. The goal is to calcualte the direction, with uncertainty, of an incident shower from the timing of an array of scintillators. The accuracy of this would require a calibration step in which the time differences between the counters were measured while they are stacked close together.
  3. The barometer/altimeter changes that got put in prior to the balloon flight might have introduced more problems than they fixed. This feature should probably be removed until a reliable way to test it can be worked out.