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