in libs/bead-drivers/VL53L0X.ts [19:42]
init() {
// hoccus pokus!
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x88, 0x00);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x80, 0x01);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0xFF, 0x01);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x00, 0x00);
pins.i2cReadRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x91);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x91, 0x3c);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x00, 0x01);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0xFF, 0x00);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x80, 0x00);
// abra cadabra!
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x80, 0x01);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0xFF, 0x01);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x00, 0x00);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x91, 0x3c);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x00, 0x01);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0xFF, 0x00);
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, 0x80, 0x00);
// alakazam! (continuous mode)
pins.i2cWriteRegister(VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS, VL53L0X_SYSRANGE_START, VL53L0X_REG_SYSRANGE_MODE_BACKTOBACK);
}