| 
| 
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