I was not able to detect VCNL4010 ambient light and proximity sensor as it will not ACK a write to an invalid internal address (address 0x00 is not valid). It will ACK to a read of an invalid address. As micropython does not have a I2C quick command, a proper I2C scan is not possible to implement... so as a compromise a single byte read should be attempted instead of a multi-byte write. As most i2c device reads will use a repeated start after the address is written, a single byte read will most likely be ACK-ed by the majority of devices.
I was not able to detect VCNL4010 ambient light and proximity sensor as it will not ACK a write to an invalid internal address (address 0x00 is not valid). It will ACK to a read of an invalid address. As micropython does not have a I2C quick command, a proper I2C scan is not possible to implement... so as a compromise a single byte read should be attempted instead of a multi-byte write. As most i2c device reads will use a repeated start after the address is written, a single byte read will most likely be ACK-ed by the majority of devices.