2024-08-12 02:52 AM - last edited on 2024-08-12 08:16 AM by Peter BENSCH
Hi,
I have implemented the VL53L5CX driver for a Nordic controller, and it works fine.
Now, I want to implement the VL53L7CX driver for the same Nordic controller.
Can I use the VL53L5CX driver as is, or will I need to make changes?
Additionally, are there any hardware modifications required, or can I use the same hardware as with the VL53L5CX?
Solved! Go to Solution.
2024-08-12 03:03 AM
2024-08-12 03:03 AM
2024-08-12 04:20 AM - edited 2024-08-12 05:57 AM
Hi,
so where i want to write
uint8_t fw_flags[8];
status |= vl53l5cx_dci_read_data(&Dev, fw_flags, 0xE0C4, sizeof(fw_flags));
printf("Module type = %u (0 for vl53l5cx, 1 for vl53l7cx)\n", fw_flags[1]);
after init or before init of vl53l7cx?
using hardware it is possible to change the vl53l7cx address?
2024-08-12 07:35 AM
The L5 and the L7 are identical bits of silicon. They only differ in the Field of View - which is a diffuser and lens change.
Prior to boot, only the I2C interface is active, so issuing a complex DCI read is not going to work. One should do the Init first. Then issue your DCI read.
As for changing the I2C address, use this procedure:
Put all sensors in LPn =0.
Bring the first one to LPn=1.
Do the init.
issue the address change command.
Update your address structure to access that chip at the new address.
Bring up the next sensor and repeat the process of LPN=1, init, address change, update structure.
Technically you don't have to change the address on your last sensor, but I do it anyway.
That way i can access the default address. If any of the chips have rebooted (due to lost power or something) they will again respond on the default address.