dwm_cfg_anchor_set
指定されたオプションでノードをアンカーとして設定する。BLEオプションは暗号化とともに有効にすることはできない。そうでない場合、設定は無効とみなされ、使用されません。暗号化キーが設定されていない場合、暗号化は有効にできない。このコールは、新しいコンフィギュレーションを有効にするためにリセットを必要とする(dwm_reset)。イニシエータで暗号化を有効にすると、同じ暗号化キーが設定されたすべてのノードの暗号化が自動的に有効になります()。これにより、同じパンID(ネットワークID)と暗号化キーを持つネットワーク全体の暗号化が1箇所からリモートで可能になります。
注意
通常、この呼び出しは新しい値を設定するときに内部フラッシュに書き込む。したがって、頻繁に使うべきものではなく、最悪の場合数百ミリ秒かかることもある!
-
int dwm_cfg_anchor_set(dwm_cfg_anchor_t *cfg_anchor);
- パラメータ
input -- cfg_anchor
cfg_anchor -- initiator, bridge, led_en, ble_en, uwb_mode, fw_update_en, enc_en
initiator -- '0' | '1' (イニシエーターの役割を有効にする)
bridge -- '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_anchor_t cfg;
int rv;
cfg.initiator = 1;
cfg.bridge = 0;
/* [Available only when the firmware is compiled with UWB routing backhaul: cfg.uwb_bh_routing: DWM_UWB_BH_ROUTING_AUTO;] */
cfg.common.enc_en = 1;
cfg.common.led_en = 1;
cfg.common.ble_en = 1;
cfg.common.fw_update_en = 1;
cfg.common.uwb_mode = DWM_UWB_MODE_OFF;
rv = dwm_cfg_anchor_set(&cfg);
if (rv == DWM_ERR_PERM)
{
printf("Error: either encryption or BLE can be enabled, encryption can be enabled only if encryption key is set\n”);
}
dwm_reset();
SPI/UART 例
TLV 要求 |
||
---|---|---|
0x07 |
0x02 |
|
0x9C 0x02 |
タイプ 0x07 は、コマンド dwm_cfg_anchor_set を意味する
TLV 応答 |
||
---|---|---|
タイプ |
長さ |
値(エラーコードを参照) |
0x40 |
0x01 |
0x00 |