Class TMD37003

java.lang.Object
com.playingwithfusion.TMD37003
All Implemented Interfaces:
Sendable, AutoCloseable

public class TMD37003 extends Object implements Sendable, AutoCloseable
TMD37003 class
  • Constructor Summary

    Constructors
    Constructor
    Description
    TMD37003(I2C.Port i2cPort)
    Create Instance of TMD3700 color sensor driver.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
    configureColorSense(double alsIntegrationTime, int alsGain)
    Configure TMD3700 Color (Ambient Light Sensing) parameters.
    void
    configureProximitySense(double proximitySampleTime, double proximityPulseLength, int numProximityPulses, int proximityGain, int proximityLedCurrent)
    Configure TMD3700 Proximity sense parameters.
    double
    Get clear (Ambient) channel value.
    double
    Get blue channel value.
    double
    Get green channel value.
    double
    Get the measured color (hue).
    double
    Get proximity value.
    double
    Get red channel value.
    double
    Get measured color saturation.
    void
     
    void
    setGain(double r, double g, double b, double c, double gamma)
    Specifiy gains and gamma value to convert raw RGB samples to normalized RGB values to aproximate sRGB space.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • TMD37003

      public TMD37003(I2C.Port i2cPort)
      Create Instance of TMD3700 color sensor driver.
      Parameters:
      i2cPort - Internal/MXP I2C port on the roboRIO
  • Method Details

    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • initSendable

      public void initSendable(SendableBuilder builder)
      Specified by:
      initSendable in interface Sendable
    • configureColorSense

      public void configureColorSense(double alsIntegrationTime, int alsGain)
      Configure TMD3700 Color (Ambient Light Sensing) parameters.
      Parameters:
      alsIntegrationTime - Color sensing sample time in milliseconds. Value may range from 2.8 to 721ms. Longer sample times act to filtered the sampled color.
      alsGain - Color sensor gain as a value between 1 and 64.
    • configureProximitySense

      public void configureProximitySense(double proximitySampleTime, double proximityPulseLength, int numProximityPulses, int proximityGain, int proximityLedCurrent)
      Configure TMD3700 Proximity sense parameters.
      Parameters:
      proximitySampleTime - Proximity sensing sample time in milliseconds. Value may range from 0.088 to 22.528 ms.
      proximityPulseLength - Lengh of each IR LED pulse during proximity measurement in milliseconds. Value must fall between 0.004 and 0.032 ms.
      numProximityPulses - Number of proximity IR LED pulses which occur during each sample period
      proximityGain - Proximity sensor gain as a value between 1 and 8.
      proximityLedCurrent - Proximity IR LED current in milliamps. Value must fall between 6 and 192 mA
    • setGain

      public void setGain(double r, double g, double b, double c, double gamma)
      Specifiy gains and gamma value to convert raw RGB samples to normalized RGB values to aproximate sRGB space.

      The default gains are calibrated for the built in white LED. If another lighting source is used this function may be required to specify the white point.

      Channels are calculated using:

      {Normilized value} = ({Raw value} * gain) ^ (1/gamma)

      Parameters:
      r - Red channel gain
      g - Green channel gain
      b - Blue channel gain
      c - Clear (ambient) channel gain
      gamma - Gamma vaule used to convert raw (linear) samples to something that responds like a human eye
    • getHue

      public double getHue()
      Get the measured color (hue).
      Returns:
      Measured hue in degrees
    • getSaturation

      public double getSaturation()
      Get measured color saturation.
      Returns:
      Measured saturation as ratio between 0 and 1
    • getRed

      public double getRed()
      Get red channel value.
      Returns:
      Normalized red channel value as ratio between 0 and 1..
    • getGreen

      public double getGreen()
      Get green channel value.
      Returns:
      Normalized green channel value as ratio between 0 and 1..
    • getBlue

      public double getBlue()
      Get blue channel value.
      Returns:
      Normalized blue channel value as ratio between 0 and 1..
    • getAmbientLightLevel

      public double getAmbientLightLevel()
      Get clear (Ambient) channel value.
      Returns:
      Normalized clear channel value as ratio between 0 and 1.
    • getProximity

      public double getProximity()
      Get proximity value.
      Returns:
      Normalized proximity value as ratio between 0 and 1.