dwm_mac_addr_set

BLE、UWB、イーサネット、Wi-FiインターフェースのMACアドレスを設定し、有効にするにはリセットが必要です。内部の不揮発性メモリを書き込むため、頻繁に使用するべきではありません。デフォルトのMACアドレスを使用するには、工場出荷時のリセット(dwm_factory_reset)が必要です。UWB MAC アドレスの最下位 2 バイトが 0x0000 または 0xFFFF であってはならない。BLEアドレスには、ランダムBLEアドレスまたはパブリックBLEアドレスを使用できます。イーサネットおよびWi-FiアドレスはEUI-48形式を尊重し、U/Iビットはそれに応じて設定する必要があります。

void dwm_mac_addr_set(dwm_mac_addr_type_t type, dwm_mac_addr_t *addr)
パラメータ
  • input -- addr_type, addr_value

  • addr_type -- 8ビット整数(0=UWBアドレス、1=BLEランダムアドレス、2=BLEパブリックアドレス、3=ETHアドレス、4=WIFIアドレス。

  • addr_value -- 6バイト(6バイト長のMACアドレス)

  • output: -- ステータスコード

Cコード例

dwm_mac_addr_t addr;
addr.bytes[0]: 0xAA;
addr.bytes[1]: 0xBB;
addr.bytes[2]: 0xCC;
addr.bytes[3]: 0xDD;
addr.bytes[4]: 0xEE;
addr.bytes[5]: 0xFF;
int rv: dwm_mac_addr_set(NODE_ADDR_TYPE_UWB, &addr);
if (rv != DWM_OK) {
  printf("can't set node address, error %d\n", rv);
}

SPI/UART 例

TLV 要求

タイプ

長さ

価値

0x2D

0x07

バイト0:MACアドレスタイプ
バイト1-6: リトルエンディアンのMACアドレス

0x00 0xEF 0xCD 0xAB 0x56 0x34 0x12

タイプ 0x2D (45 dec) はコマンド dwm_mac_addr_set を意味する

TLV 応答

タイプ

長さ

値(エラーコードを参照)

0x40

0x01

0x00

タイプ0x40は、直前のコマンドの ステータスコード を意味する