upm  0.4.1
Sensor/Actuator repository for libmraa (v0.8.0)
Public Member Functions | List of all members
ADC121C021 Class Reference

API for the ADC121C021 I2C Analog-to-Digital Converter. More...

Detailed Description

UPM module for the ADC121C021 12-bit analog-to-digital converter (ADC). By constantly providing a reference voltage, this sensor helps increase the accuracy of a value collected from an analog sensor.

adc121c021.jpg
// Instantiate an ADC121C021 on I2C bus 0
// An analog sensor, such as a Grove light sensor,
// must be attached to the adc·
// Prints the value and corresponding voltage every 50 milliseconds
while (true) {
int val = adc.value();
System.out.println("ADC value: " + val + "Volts = " + adc.valueToVolts(val));
Thread.sleep(1000);
}

Public Member Functions

synchronized void delete ()
 
 ADC121C021 (int bus, short address, float vref)
 
 ADC121C021 (int bus, short address)
 
 ADC121C021 (int bus)
 
int writeByte (short reg, short arg1)
 
int writeWord (short reg, int word)
 
short readByte (short reg)
 
int readWord (short reg)
 
int value ()
 
float valueToVolts (int val)
 
boolean getAlertStatus ()
 
boolean alertLowTriggered ()
 
boolean alertHighTriggered ()
 
void clearAlertStatus ()
 
void enableAlertFlag (boolean enable)
 
void enableAlertPin (boolean enable)
 
void enableAlertHold (boolean enable)
 
void enableAlertPinPolarityHigh (boolean enable)
 
void setAutomaticConversion (ADC121C021_CYCLE_TIME_T cycleTime)
 
int setAlertLowLimit (int limit)
 
int setAlertHighLimit (int limit)
 
int setHysteresis (int limit)
 
int getHighestConversion ()
 
int getLowestConversion ()
 
int clearHighestConversion ()
 
int clearLowestConversion ()
 

Constructor & Destructor Documentation

ADC121C021 ( int  bus,
short  address,
float  vref 
)

ADC121C021 ADC constructor

Parameters
busI2C bus to use
addressAddress for this sensor; default is 0x55
vrefReference voltage for this sensor; default is 3.0v

Member Function Documentation

boolean alertHighTriggered ( )

Returns the current value of m_alertHigh. You must call getAlertStatus() to update this value.

Returns
Current status of the alert high flag
boolean alertLowTriggered ( )

Returns the current value of m_alertLow. You must call getAlertStatus() to update this value.

Returns
Current status of the alert low flag
void clearAlertStatus ( )

Clears the alert low and alert high flags. This also clears the last stored alert values.

int clearHighestConversion ( )

Clears the highest conversion value recorded so far.

Returns
0 (MRAA_SUCCESS) if successful; non-zero otherwise
int clearLowestConversion ( )

Clears the lowest conversion value recorded so far.

Returns
0 (MRAA_SUCCESS) if successful; non-zero otherwise
void enableAlertFlag ( boolean  enable)

Enables or disables the alert flag functionality. If enabled, when the measured value exceeds the low or high limits configured, the alert flag is set. Use getAlertStatus() to access these values.

Parameters
enableIf true, enables the alert flag; otherwise, disables the alert flag
void enableAlertHold ( boolean  enable)

Enables or disables the alert hold functionality. When the alert hold is enabled, the alert status remains until manually cleared via clearAlertStatus(). Otherwise, the alert self-clears when the value moves into the defined limits if alerts are enabled via enableAlertFlag().

Parameters
enableIf true, enables the alert hold; otherwise, disables the alert hold
void enableAlertPin ( boolean  enable)

Enables or disables the alert pin functionality.

Parameters
enableIf true, enables the alert pin; otherwise, disables the alert pin
void enableAlertPinPolarityHigh ( boolean  enable)

If the alert pin is enabled, defines the active polarity of the pin in an alert condition. Enabling this sets the pin to active high in an alert condition; otherwise, active low is used.

Parameters
enableIf true, the alert pin is active high; otherwise, active low
boolean getAlertStatus ( )

Reads the current status of the alert flag. If the flag is set, the low or high alert indicators are set as appropriate, and you can access these values with alertLowTriggered() or alertHighTriggered().

Returns
True if the alert flag is set
int getHighestConversion ( )

Returns the highest conversion value recorded so far. This value is only updated by the converter when the automatic conversion mode is enabled.

Returns
Highest conversion value
int getLowestConversion ( )

Returns the lowest conversion value recorded so far. This value is only updated by the converter when the automatic conversion mode is enabled.

Returns
Lowest conversion value
short readByte ( short  reg)

Reads the byte value from the register

Parameters
regRegister location to read from
Returns
Value in the specified register
int readWord ( short  reg)

Reads the word value from the register

Parameters
regRegister location to read from
Returns
Value in the specified register
int setAlertHighLimit ( int  limit)

Sets the alert high limit. If alerts are enabled and the measured conversion value is higher than the high limit, an alert is triggered.

Parameters
limitAlert high limit
Returns
0 (MRAA_SUCCESS) if successful; non-zero otherwise
int setAlertLowLimit ( int  limit)

Sets the alert low limit. If alerts are enabled and the measured conversion value is lower than the low limit, an alert is triggered.

Parameters
limitAlert low limit
Returns
0 (MRAA_SUCCESS) if successful; non-zero otherwise
void setAutomaticConversion ( ADC121C021_CYCLE_TIME_T  cycleTime)

Enables or disables the automatic conversion mode. When enabled, the ADC samples and updates the conversion value independently. It is disabled by default, so conversion is only done by calling value().

Parameters
cycleTimeSets the cycle time for automatic conversion
int setHysteresis ( int  limit)

Sets the hysteresis value. If a high or low alert condition is triggered, the conversion result must move within the high or low limit by more than this value to clear the alert condition. If the alert hold is set, the alert doesn't self-clear regardless of this value.

Parameters
limitHysteresis limit
Returns
0 (MRAA_SUCCESS) if successful; non-zero otherwise
int value ( )

Reads the current value of conversion

Returns
Current value of conversion
float valueToVolts ( int  val)

Converts a supplied value to voltage based on the set vref

Parameters
valValue of conversion (from value())
Returns
Value of conversion in volts
int writeByte ( short  reg,
short  arg1 
)

Writes a byte value into the register

Parameters
regRegister location to write into
byteByte to write
Returns
0 (MRAA_SUCCESS) if successful; non-zero otherwise
int writeWord ( short  reg,
int  word 
)

Writes a word value into the register

Parameters
regRegister location to write into
wordWord to write
Returns
0 (MRAA_SUCCESS) if successful; non-zero otherwise

The documentation for this class was generated from the following file: