2024-07-17 05:10 AM
How can I permanently write values into the registers of the VL6180x? I tried modifying the loadSettings() in begin(), such as changing the value at 0x0041 to 0x60 and then marking it. However, after repowering, the value at 0x0041 in the VL6180x reverts to 0. Does this mean that the register is volatile memory? Or how should I modify the NVM to write the values I want?
Thanks in advance.
Solved! Go to Solution.
2024-07-22 07:22 AM
TDK is correct. There is no user accessible non-volatile memory in the sensor. Once the sensor leaves the factory everything is locked down solid.
- john
2024-07-17 06:08 AM
The NVM holds some configuration values. They are retained for the registers that the datasheet says they're retained on, which is not all registers. For example, here is one register that is retained:
The datasheet doesn't show a register at 0x0041.
Generally, you have to reconfigure the chip at startup.
2024-07-20 01:49 AM
Even if I write a value of 0x60 into a register, such as 0x040, it resets to the default value after power cycling. I can't find any software process that overwrites this address. I've tried all register addresses and they all get overwritten. I would like to ask if there is a way to permanently write to a register without it being overwritten.
Thanks in advance.
2024-07-20 03:54 AM
For register 0x040, the reset value is 0x0. There is no way to change this.
2024-07-22 07:22 AM
TDK is correct. There is no user accessible non-volatile memory in the sensor. Once the sensor leaves the factory everything is locked down solid.
- john