|
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.
|
|
modm::ResumableResult< bool > | ping () |
|
modm::ResumableResult< bool > | initialize () |
|
modm::ResumableResult< bool > | setDeviceAddress (uint8_t address) |
|
modm::ResumableResult< bool > | setGain (AnalogGain gain) |
| Sets a new analog gain for ALS.
|
|
modm::ResumableResult< bool > | setIntegrationTime (uint16_t time) |
|
modm::ResumableResult< bool > | readDistance () |
| Reads the distance and buffer the results (can take 10-55ms).
|
|
modm::ResumableResult< bool > | readAmbientLight () |
|
RangeErrorCode | getRangeError () |
|
ALS_ErrorCode | getALS_Error () |
|
template<typename T > |
modm::ResumableResult< bool > | updateRegister (Register reg, T setMask, T clearMask=T (0xff)) |
|
modm::ResumableResult< bool > | write (Register reg, uint8_t value) |
| write a 8bit value a register
|
|
Data & | getData () |
| the data object for this sensor.
|
|
modm::ResumableResult< bool > | read (Register reg, uint8_t *buffer, uint8_t length) |
| read multiple 8bit values from a start register
|
|
void | attachConfigurationHandler (I2c::ConfigurationHandler handler) |
|
modm::ResumableResult< bool > | read (uint8_t *buffer, std::size_t size) |
| Starts a write transaction and waits until finished.
|
|
void | setAddress (uint8_t address) |
|
modm::ResumableResult< bool > | write (const uint8_t *buffer, std::size_t size) |
| Starts a write transaction and waits until finished.
|
|
modm::ResumableResult< 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.
|
|
|
int8_t | getResumableDepth () const |
|
bool | isResumableRunning () const |
|
bool | isTransactionRunning () |
|
modm::ResumableResult< bool > | runTransaction () |
| Starts our own transaction and waits until finished.
|
|
bool | startRead (uint8_t *buffer, std::size_t size) |
| Configures the transaction with a read operation and starts it.
|
|
bool | startTransaction () |
| Starts the transaction with our own transaction object.
|
|
bool | startTransaction (modm::I2cTransaction *transaction) |
| Starts the transaction with a separate transaction object.
|
|
bool | startWrite (const uint8_t *buffer, std::size_t size) |
| Configures the transaction with a write operation and starts it.
|
|
bool | startWriteRead (const uint8_t *writeBuffer, std::size_t writeSize, uint8_t *readBuffer, std::size_t readSize) |
| Configures the transaction with a write/read operation and starts it.
|
|
void | stopResumable () |
|
bool | wasTransactionSuccessful () |
|
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