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は、直前のコマンドの ステータスコード を意味する