How to control DWM1000 of DWM1001

HI, all

Now I am using DWM1001-DEV.And I want to change the DW1000 module register value using the internal SPI command.Are there any APIs?If not,could you give me some advice?
(I am using the sample project “dwm-simple.c”.)

Thank you

Hi Robin,

You are developing over the PANS software which is a RTLS stack provided with DWM1001 products.

Please refer to the document below for the list of API that can be used. The configuration with the DW1000 is constrained as customizing it could break the RTLS scheme.

If you wish to develop a full custom software, you can have a look at the SS-TWR examples available on the GIT repository… Within those example, you have can configure and customize the application as you wish.

Let me know if you have any other questions,
Best regards
Yves

Thanks for your reply,Yves!

Hi,Yves,
I am working with the sample project “dwm-simple.c”.Now I want to disable the UWB function first,and then enable the UWB function.But I find that I can just disable the UWB function,I cannot enable it.Here is my code,Could you give me some suggestions?

[code] APP_ERR_CHECK(dwm_cfg_get(&cfg));

if ((cfg.mode != DWM_MODE_TAG) ||
		(cfg.accel_en != true) ||
		(cfg.loc_engine_en != true) ||
		(cfg.meas_mode != DWM_MEAS_MODE_TWR) ||
		(cfg.low_power_en != false) ||
		(cfg.common.fw_update_en != false) ||
		(cfg.common.uwb_mode != DWM_UWB_MODE_OFF) ||
		(cfg.common.ble_en != true) ||
		(cfg.common.led_en != true)) {

			/* Configure device as TAG */
			cfg_tag.accel_en = true;
			cfg_tag.loc_engine_en = true;
			cfg_tag.low_power_en = false;
			cfg_tag.meas_mode = DWM_MEAS_MODE_TWR;
			cfg_tag.common.fw_update_en = false;
			cfg_tag.common.uwb_mode = DWM_UWB_MODE_OFF;
			cfg_tag.common.ble_en = true;
			cfg_tag.common.led_en = true;
			APP_ERR_CHECK(dwm_cfg_tag_set(&cfg_tag));

			dwm_reset();
	}

dwm_thread_delay(10);
/*****************Here I want to add some code**********/

APP_ERR_CHECK(dwm_cfg_get(&cfg));

	if ((cfg.mode != DWM_MODE_TAG) ||
			(cfg.accel_en != true) ||
			(cfg.loc_engine_en != true) ||
			(cfg.meas_mode != DWM_MEAS_MODE_TWR) ||
			(cfg.low_power_en != false) ||
			(cfg.common.fw_update_en != false) ||
			(cfg.common.uwb_mode != DWM_UWB_MODE_ACTIVE) ||
			(cfg.common.ble_en != true) ||
			(cfg.common.led_en != true)) {

				/* Configure device as TAG */
				cfg_tag.accel_en = true;
				cfg_tag.loc_engine_en = true;
				cfg_tag.low_power_en = false;
				cfg_tag.meas_mode = DWM_MEAS_MODE_TWR;
				cfg_tag.common.fw_update_en = false;
				cfg_tag.common.uwb_mode = DWM_UWB_MODE_ACTIVE;
				cfg_tag.common.ble_en = true;
				cfg_tag.common.led_en = true;
				APP_ERR_CHECK(dwm_cfg_tag_set(&cfg_tag));

				dwm_reset();
		}[/code]

And I have no idea about the function “dwm_reset()”.Which parameters does this funtion modify ?
Thanks!