leaps_mac_addr_get

MAC アドレス リストを取得します。デバイスは、ユーザーが指定したアドレスまたはデフォルトのアドレスを使用します。各インターフェイスのデフォルトの MAC アドレスは、leaps_mac_addr_set_once を呼び出すことによって 1 回だけ変更できます。この場合、アドレスは OTP メモリに書き込まれ、新しいデフォルトの MAC アドレスになります。ユーザーは、leaps_mac_addr_set を呼び出すことによってカスタム MAC アドレスを設定できます。デフォルトの MAC アドレスは、ユーザーが変更した後、工場出荷時設定にリセットすることで復元できます (leaps_factory_reset を参照)。特定のインターフェイスへの MAC アドレスのマッピングは、次のリストの順序に基づいています。

  1. UWB

  2. BLE

  3. イーサネット

  4. 无线网络

BLE アドレスは、ランダム BLE アドレスまたはパブリック BLE アドレスにすることができます。特定のインターフェースがサポートされていない場合、リスト内の対応する MAC アドレスは空になります。


入力
  • (なし)

出力
  • ステータスコード

  • type_0、type_1、type_2、type_3: 8 ビット符号なし整数 (リスト内の MAC アドレス番号 0、1、2、3 を表すタイプ)

  • mac_addr_0、mac_addr_1、mac_addr_2、mac_addr_3: 48 ビット値 (リトル エンディアンの MAC アドレス番号 0、1、2、3)


SPI/UART の例

TLV 要求

タイプ

長さ

0x83

0x00

タイプ 0x83 (131 dec) はコマンド Leaps_mac_addr_get を意味します

TLV 応答

タイプ

長さ

価値

タイプ

長さ

価値

(バイト 0 ~ 4) リトル エンディアンの MAC アドレス リストのフラグ
(バイト 5-10) リトルエンディアンの MAC アドレス 0
(バイト 11-16) リトルエンディアンの MAC アドレス 1
(バイト 17-22) リトルエンディアンの MAC アドレス 2
(バイト 23-28) リトルエンディアンの MAC アドレス 3

0x40

0x01

0x00

0x41

0x0D

...

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

タイプ 0xC1(193 dec) は MAC アドレスリストを意味します

MAC アドレス フラグのエンコーディング

MAC アドレス リストのフラグ**

バイト 0

バイト1

バイト2

バイト3

ビット 2 ~ 7

ビット0~1

ビット 11 ~ 15

ビット10

ビット 8 ~ 9

ビット 18 ~ 23

ビット 16 ~ 17

ビット 26-31

ビット 24-25

予約済み

T_0

予約済み

P_1

T_1

予約済み

T_2

予約済み

T_3

T_0、T_1、T_2、T_3 は MAC アドレスのタイプを表します。

  • 0 - 空の MAC アドレス

  • 1 - OTP メモリからのデフォルトの MAC アドレス。

  • 2 - ユーザーが指定した MAC アドレス

  • 3 - 変更可能なデフォルト MAC アドレス。leaps_mac_addr_set_once を使用して 1 回だけ書き換えることができます。

BLE アドレスがパブリック BLE アドレスの場合、P_1 が設定されます。 BLE MAC アドレスがランダムな場合、フラグはクリアされます。BLE アドレス タイプの詳細については、BLE 仕様を参照してください。