dwm_status_get
システムステータスを取得します。次のフラグが使用可能です。
位置データの準備ができました
ノードが UWB ネットワークに参加しました
新しいバックホール データの準備ができました
バックホールのステータスが変更されました
バックホールルートが初期化されました
UWB スキャン結果の準備ができました
UWB 経由でユーザー データを受信しました
UWB 経由で送信されたユーザー データ
ファームウェアのアップデートが進行中です
以下を除き、フラグは呼び出し後にクリアされます。
ノードが UWB ネットワークに参加しました
バックホールルートが初期化されました
ファームウェアのアップデートが進行中です
-
int dwm_status_get(dwm_status_t*)
- パラメータ
input -- (なし)
output -- ステータスコード,ステータス
status -- loc_ready, uwbmac_joined, bh_data_ready, bh_initialized, bh_status_changed, uwb_scan_ready, usr_data_ready
loc_ready -- '0' |
1
(新しい位置データが準備できました)uwbmac_joined -- '0' |
1
(ノードは UWB ネットワークに接続されています)bh_data_ready -- '0' |
1
(UWB MAC バックホール データ準備完了)bh_status_changed -- '0' |
1
(UWB MAC ステータスが変更され、バックホールで使用されます)bh_initialized -- '0' |
1
(ノードは UWB バックホール経由でルートを初期化しました)uwb_scan_ready -- '0' |
1
(UWB スキャン結果は準備完了)usr_data_ready -- '0' |
1
(UWB 経由で受信したユーザー データ)usr_data_sent -- '0' |
1
(UWB 経由で送信されたユーザー データ)fwup_in_progress -- '0' |
1
(ファームウェアアップデート中)
Cコード例
dwm_status_t status;
int rv;
rv = dwm_status_get(&status);
if (rv == DWM_OK) {
printf("loc_data: %d\n", status.loc_dat1);
printf("uwbmac_joined: %d\n", status.uwbmac_joined);
printf("bh_data_ready: %d\n", status.bh_data_ready);
printf("bh_status_changed: %d\n", status.bh_status_changed);
printf("bh_initialized: %d\n", status.bh_initialized);
printf("uwb_scan_ready: %d\n", status.uwb_scan_ready);
printf("usr_data_ready: %d\n", status.usr_data_ready);
printf("usr_data_sent: %d\n", status.usr_data_sent);
printf("fwup_in_progress: %d\n", status.fwup_in_progress);
}
else {
printf("error\n");
}
SPI/UART 例
TLV 要求 |
|
---|---|
タイプ |
長さ |
0x32 |
0x00 |
タイプ 0x32 はコマンド dwm_status_get を意味します
TLV 応答 |
|||||
---|---|---|---|---|---|
タイプ |
長さ |
値(エラーコードを参照) |
タイプ |
長さ |
価値 |
0x40 |
0x01 |
0x00 |
0x5A |
0x02 |
loc_ready (ビット 0) uwbmac_joined (ビット 1) bh_status_changed (ビット 2) bh_data_ready (ビット 3) bh_initialized (ビット 4) uwb_scan_ready (ビット 5) usr_data_ready (ビット 6) usr_data_sent (ビット 7) fwup_in_progress(ビット 8) 予約済み (ビット 9 ~ 15) |
0x01 0x00 |