cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L8CHV0GC/1 API/Software Reset

ColonelPanic
Associate

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

 

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

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


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

View solution in original post

1 REPLY 1
John E KVAM
ST Employee

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


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.