dwm_cfg_tag_set

使用给定选项将节点配置为标签. BLE 选项不能与加密一起启用. 否则,配置将被视为无效,不会被使用. 如果未设置加密密钥,则无法启用加密. 此调用需要重置新配置才能生效(dwm_reset).

小心

通常,在设置新值时,此调用会写入内部闪存. 因此,它不应该被频繁使用,在最坏的情况下,可能需要数百毫秒!

void dwm_cfg_tag_set(dwm_cfg_tag_t *cfg_tag);
参数
  • input – cfg_tag

  • cfg_tag – stnry_en, low_power_en, meas_mode, loc_engine_en, led_en, ble_en, uwb_mode, fw_update_en, enc_en

  • stnry_en – ‘0’ | ‘1’ (启用静态检测,如果启用,在节点 :param 不移动的情况下,将使用静态更新率代替正常更新率)

  • meas_mode – ‘0’ | ‘1’ | ‘2’ | ‘3’ (0 - 双向测距,1,2,3 - 保留)

  • low_power_en – ‘0’ | ‘1’ (启用低功耗模式)

  • loc_engine_en – ‘0’ | ‘1’ (0 表示不使用内部定位引擎,1 表示使用内部定位引擎)

  • enc_en – ‘0’ | ‘1’ (加密启用)

  • led_en – ‘0’ | ‘1’ (启用通用 LED)

  • ble_en – ‘0’ | ‘1’ (BLE 启用)

  • uwb_mode – ‘0’ | ‘1’ | ‘2’ (0 关,1 被动,2 主动)

  • fw_update_en – ‘0’ | ‘1’ (固件更新启用)

  • output状态代码

C代码示例

dwm_cfg_tag_t cfg;
cfg.stnry_en = 1;
cfg.meas_mode = DWM_MEAS_MODE_TWR;
cfg.low_power_en = 0;
cfg.loc_engine_en = 1;
cfg.common.enc_en = 1;
cfg.common.led_en = 1;
cfg.common.ble_en = 0;
cfg.common.fw_update_en = 0;
cfg.common.uwb_mode = DWM_UWB_MODE_ACTIVE;
dwm_cfg_tag_set(&cfg);

SPI/UART 示例

TLV 请求

类型

长度

价值

0x05

0x02

BYTE 1:

  • 3-7位:保留

  • 2位:stnry_en

  • bits 0-#. meas_mode: 0 -TWR, 1-3 reserved

BYTE 0:

  • 7位: low_power_en

  • 6位: loc_engine_en

  • 5位: enc_en

  • 4位: led_en

  • 3位: ble_en

  • 2位: fw_update_en

  • 0位-#.uwb_mode

0x72 0x04

类型 0x05 表示命令 dwm_cfg_tag_set

TLV 响应

类型

长度

价值(参见错误代码)

0x40

0x01

0x00

类型0x40表示 状态代码 上一条命令的状态码