Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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