Package core

Class Spectrometer

java.lang.Object
core.Spectrometer

public class Spectrometer extends Object
Main controller class for spectrometer hardware communication. Handles serial port connection, configuration, and data acquisition for the AS726x spectrometer sensor connected via Arduino.
Version:
1.0
Author:
Spectrometer Control Software
  • Constructor Details

    • Spectrometer

      public Spectrometer(Spectrometer.ConnectionListener listener) throws Exception
      Constructor - establishes connection with Arduino/spectrometer.
      Parameters:
      listener - listener for disconnection events
      Throws:
      Exception - if connection fails (port not found or cannot open)
  • Method Details

    • configure

      public void configure(int integrationTime, int gain, int avg, String mode, int numberOfMeasurements, int lightInt)
      Configure measurement parameters.
      Parameters:
      integrationTime - integration time in milliseconds
      gain - gain value (1, 4, 16, or 64)
      avg - number of samples to average
      mode - measurement mode ("raw" or "cal")
      numberOfMeasurements - number of spectra to record
      lightInt - LED intensity (0-100)
    • measure

      public void measure(String baseName) throws Exception
      Perform measurement with current configuration.
      Parameters:
      baseName - base name for the measurement set (timestamp will be appended)
      Throws:
      Exception - if measurement fails or times out
    • getMeasurementSet

      public MeasurementSet getMeasurementSet()
      Gets the current measurement set.
      Returns:
      the MeasurementSet containing all recorded data
    • getPortName

      public String getPortName()
      Gets the serial port name.
      Returns:
      the system port name (e.g., "COM3" or "/dev/ttyACM0")
    • close

      public void close()
      Close serial port connection.