|  | 
| typedef modm::Flags8< InterruptConfig > | InterruptConfig_t | 
|  | 
| typedef modm::Configuration< InterruptConfig_t, InterruptSource, 0x7 > | RangeInterruptSource_t | 
|  | 
| typedef modm::Configuration< InterruptConfig_t, InterruptSource, 0x7, 3 > | ALS_InterruptSource_t | 
|  | 
| typedef modm::Configuration< RangeStatus_t, RangeErrorCode, 0xF0 > | RangeErrorCode_t | 
|  | 
| typedef modm::Configuration< ALS_Status_t, ALS_ErrorCode, 0xF0 > | ALS_ErrorCode_t | 
|  | 
| typedef modm::Flags8< InterruptStatus > | InterruptStatus_t | 
|  | 
| typedef modm::Configuration< InterruptStatus_t, InterruptSource, 0x7 > | RangeInterruptStatus_t | 
|  | 
| typedef modm::Configuration< InterruptStatus_t, InterruptSource, 0x7, 3 > | ALS_InterruptStatus_t | 
|  | 
| typedef modm::Configuration< InterruptStatus_t, InterruptError,(3<< 6)> | InterruptError_t | 
|  | 
| using | Control_t = modm::FlagsGroup< GpioMode_t, HistoryControl_t, InterruptConfig_t, InterruptClear_t, Start_t, RangeCheck_t, VhvRecalibrate_t, RangeStatus_t, ALS_Status_t, InterruptStatus_t > | 
|  | 
|  | 
|  | MODM_FLAGS8 (GpioMode) | 
|  | 
|  | MODM_FLAGS8 (HistoryControl) | 
|  | 
|  | MODM_FLAGS8 (InterruptClear) | 
|  | 
|  | MODM_FLAGS8 (Start) | 
|  | 
|  | MODM_FLAGS8 (RangeCheck) | 
|  | 
|  | MODM_FLAGS8 (VhvRecalibrate) | 
|  | 
|  | MODM_FLAGS8 (RangeStatus) | 
|  | 
|  | MODM_FLAGS8 (ALS_Status) | 
|  | 
|  | Vl6180 (Data &data, uint8_t address=0x29) | 
|  | Constructor, requires an vl6180::Data object, sets address to default of 0x29. 
 | 
|  | 
| bool | ping () | 
|  | 
| bool | initialize () | 
|  | 
| bool | setDeviceAddress (uint8_t address) | 
|  | 
| bool | setGain (AnalogGain gain) | 
|  | Sets a new analog gain for ALS. 
 | 
|  | 
| bool | setIntegrationTime (uint16_t time) | 
|  | 
| bool | readDistance () | 
|  | Reads the distance and buffer the results (can take 10-55ms). 
 | 
|  | 
| bool | readAmbientLight () | 
|  | 
| RangeErrorCode | getRangeError () | 
|  | 
| ALS_ErrorCode | getALS_Error () | 
|  | 
| template<typename T > | 
| bool | updateRegister (Register reg, T setMask, T clearMask=T (0xff)) | 
|  | 
| bool | write (Register reg, uint8_t value) | 
|  | write a 8bit value a register 
 | 
|  | 
| Data & | getData () | 
|  | the data object for this sensor. 
 | 
|  | 
| bool | read (Register reg, uint8_t *buffer, uint8_t length) | 
|  | read multiple 8bit values from a start register 
 | 
|  | 
| void | attachConfigurationHandler (I2c::ConfigurationHandler handler) | 
|  | 
| bool | read (uint8_t *buffer, std::size_t size) | 
|  | Starts a write transaction and waits until finished. 
 | 
|  | 
| void | setAddress (uint8_t address) | 
|  | 
| bool | write (const uint8_t *buffer, std::size_t size) | 
|  | Starts a write transaction and waits until finished. 
 | 
|  | 
| bool | writeRead (const uint8_t *writeBuffer, std::size_t writeSize, uint8_t *readBuffer, std::size_t readSize) | 
|  | Starts a write-read transaction and waits until finished. 
 | 
|  | 
template<typename I2cMaster>
class modm::Vl6180< I2cMaster >
VL6180X: Proximity and ambient light sensing (ALS) module
This implementation loads the configuration as recommended by the application note AN2424. The class is build for single-shot measurements.
For custom settings use the updateRegister() function.
- Author
- Niklas Hauser