This lib allows control of VISHAY VCNL4000 distance/ambient light sensor via I2C bus.
VCNL4000 Class Reference
VCNL4000 distance/luminosity sensor controller library. More...
#include <VCNL4000.h>
Public Member Functions | |
| VCNL4000 (PinName sda, PinName scl) | |
| Create a VCNL4000 object connected to the specified I2C pins. | |
| int | getStatus (void) |
| Return status code of previos function call. | |
| int | registerRead (int reg) |
| Read VCNL4000 internal register content. | |
| void | registerWrite (int reg, unsigned char data) |
| Send data to VCNL4000 internal register. | |
| int | getProximity (void) |
| Read VCNL4000 proximity measurement. | |
| int | getAmbientLight (void) |
| Read VCNL4000 ambient light measurement. | |
| int | getProductId (void) |
| Get VCNL 4000 product id (should be 1) | |
| int | getProductRevision (void) |
| Get VCNL 4000 product revision (should be 1) | |
| bool | proximityDataReady (void) |
| Return True when a proximity data measurement completed. | |
| bool | ambientLightDataReady (void) |
| Return True when an ambient light measurement completed. | |
| void | startProximityMeasurement (void) |
| Tell VCNL4000 to start a proximity measurement. | |
| void | startAmbientLightMeasurement (void) |
| Tell VCNL4000 to start an ambient light measurement. | |
| void | setIRLedCurrent (int milliAmps) |
| Set VCNL4000 infrared led current. | |
Detailed Description
VCNL4000 distance/luminosity sensor controller library.
Example:
#include "mbed.h" #include "VCNL4000.h" Serial pc(USBTX, USBRX); // tx, rx // ----------------------------------- int main() { VCNL4000 vcnl( p9, p10 ); int status = vcnl.getStatus(); if( status != 0 ) { pc.printf( "\x1b[2J\x1b[f Something went wrong with VCNL4000 access, status = %d.\n\r", status ); exit( 1 ); } vcnl.setALAveragingFunction( 0x0f ); vcnl.setIRLedCurrent( 2000 ); vcnl.setProximityMeasurementSigFreq( 2 ); vcnl.setProxiModulatorDelayTime( 0x04 ); vcnl.setProxiModulatorDeadTime( 0x01 ); while( 1 ) { int prox = vcnl.getProximity(); int ambl = vcnl.getAmbientLight(); pc.printf("\x1b[2J\x1b[f proxy: %d\n\r amb.l: %d\n\r", prox, ambl ); wait( 0.1 ); } }
Definition at line 65 of file VCNL4000.h.
Constructor & Destructor Documentation
| VCNL4000 | ( | PinName | sda, |
| PinName | scl | ||
| ) |
Create a VCNL4000 object connected to the specified I2C pins.
- Parameters:
-
sda I2C SDA pin scl I2C SDL pin
Definition at line 17 of file VCNL4000.cpp.
Member Function Documentation
| bool ambientLightDataReady | ( | void | ) |
Return True when an ambient light measurement completed.
Definition at line 98 of file VCNL4000.cpp.
| int getAmbientLight | ( | void | ) |
Read VCNL4000 ambient light measurement.
Definition at line 70 of file VCNL4000.cpp.
| int getProductId | ( | void | ) |
Get VCNL 4000 product id (should be 1)
Definition at line 83 of file VCNL4000.cpp.
| int getProductRevision | ( | void | ) |
Get VCNL 4000 product revision (should be 1)
Definition at line 88 of file VCNL4000.cpp.
| int getProximity | ( | void | ) |
Read VCNL4000 proximity measurement.
Definition at line 56 of file VCNL4000.cpp.
| int getStatus | ( | void | ) |
Return status code of previos function call.
Definition at line 81 of file VCNL4000.h.
| bool proximityDataReady | ( | void | ) |
Return True when a proximity data measurement completed.
Definition at line 93 of file VCNL4000.cpp.
| int registerRead | ( | int | reg ) |
Read VCNL4000 internal register content.
- Parameters:
-
reg register address
Definition at line 35 of file VCNL4000.cpp.
| void registerWrite | ( | int | reg, |
| unsigned char | data | ||
| ) |
Send data to VCNL4000 internal register.
- Parameters:
-
reg register address data value to be written
Definition at line 47 of file VCNL4000.cpp.
| void setIRLedCurrent | ( | int | milliAmps ) |
Set VCNL4000 infrared led current.
- Parameters:
-
milliAmps current in mA
Definition at line 121 of file VCNL4000.cpp.
| void startAmbientLightMeasurement | ( | void | ) |
Tell VCNL4000 to start an ambient light measurement.
Definition at line 112 of file VCNL4000.cpp.
| void startProximityMeasurement | ( | void | ) |
Tell VCNL4000 to start a proximity measurement.
Definition at line 103 of file VCNL4000.cpp.
Generated on Wed Jul 13 2022 08:45:17 by
1.7.2