Skip to main content
ColonelPanic
Visitor II
January 27, 2025
Solved

VL53L8CHV0GC/1 API/Software Reset

  • January 27, 2025
  • 1 reply
  • 590 views

Hello,

 

I am wondering if there is any software reset for the VL53L8CX when using the ST provided API. When I reprogram my micro using ST-LINK but do not do a hard power reset on my device the VL53L8CX init fails. I have attached an image below showing soft reset ST-LINK operation and hard reset.

 

In UM3183 I see that a power cycling of the device is recommended for reset. Is there any ability to do this through the API? 

 

ColonelPanic_0-1738004396520.png

 

 

Point in which the VL53L8CX init fails:

vl53l8cx_api.c  --> 

_vl53l8cx_send_offset_data()

	status |=_vl53l8cx_poll_for_answer(p_dev, 4, 1,
		VL53L8CX_UI_CMD_STATUS, 0xff, 0x03);

 

 

UM3183:

 

ColonelPanic_1-1738005399379.png

 

Best answer by John E KVAM

There is no software reset register.
What you do have is:

1. Toggling the power mode to ULP_IDLE (non-retention state) will clear the RAM, meaning that when you return to LP_IDLE (retention state) you will need to reload FW, config, cal data.

2. Some have previously claimed the SPI_I2Cn is a reset pin. It is not, but has the fortunate side effect of apparently clearing the module comms buffer, and has been used in cases where the device was having initialization issues over I2C. (Bus stuck low - a very common I2C issue caused by noise on the clock line.)

3. Power cycling the device will definitely reset the device - typically handled by enabling/disabling regulators to the device, but not available on all PCB designs. ie assumes dedicated regulators for the module.

- john

1 reply

John E KVAM
John E KVAMBest answer
ST Employee
January 30, 2025

There is no software reset register.
What you do have is:

1. Toggling the power mode to ULP_IDLE (non-retention state) will clear the RAM, meaning that when you return to LP_IDLE (retention state) you will need to reload FW, config, cal data.

2. Some have previously claimed the SPI_I2Cn is a reset pin. It is not, but has the fortunate side effect of apparently clearing the module comms buffer, and has been used in cases where the device was having initialization issues over I2C. (Bus stuck low - a very common I2C issue caused by noise on the clock line.)

3. Power cycling the device will definitely reset the device - typically handled by enabling/disabling regulators to the device, but not available on all PCB designs. ie assumes dedicated regulators for the module.

- john