Package com.playingwithfusion
Class TMD37003
java.lang.Object
com.playingwithfusion.TMD37003
- All Implemented Interfaces:
Sendable,AutoCloseable
TMD37003 class
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidconfigureColorSense(double alsIntegrationTime, int alsGain) Configure TMD3700 Color (Ambient Light Sensing) parameters.voidconfigureProximitySense(double proximitySampleTime, double proximityPulseLength, int numProximityPulses, int proximityGain, int proximityLedCurrent) Configure TMD3700 Proximity sense parameters.doubleGet clear (Ambient) channel value.doublegetBlue()Get blue channel value.doublegetGreen()Get green channel value.doublegetHue()Get the measured color (hue).doubleGet proximity value.doublegetRed()Get red channel value.doubleGet measured color saturation.voidinitSendable(SendableBuilder builder) voidsetGain(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.
-
Constructor Details
-
TMD37003
Create Instance of TMD3700 color sensor driver.- Parameters:
i2cPort- Internal/MXP I2C port on the roboRIO
-
-
Method Details
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
initSendable
- Specified by:
initSendablein interfaceSendable
-
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 periodproximityGain- 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 gaing- Green channel gainb- Blue channel gainc- Clear (ambient) channel gaingamma- 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.
-