- リンクを取得
- ×
- メール
- 他のアプリ
- リンクを取得
- ×
- メール
- 他のアプリ
こんにちはドルフィンシステム福島です。
前回は「NI-USRPとUHDの共存には注意が必要」と題してNI-USRPとUHDは共存してインストールは出来るが環境変数を共有しているため、正常に動作しないことがあることをお伝えしました。
今回は前回の続きです、UHDの環境変数を設定してログの取り方を解説します。
UHDのツール
UHDのツールというと一番身近なのは、- uhd_find_devices : 接続されているUSRPを検出する
- uhd_usrp_probe : 接続されているUSRPのデバイス情報を取得する。
uhd_find_devices
イーサネットでもUSBでもPCI Expressでもインターフェイスは問わず、接続されているUSRPの情報を出力します。uhd_usrp_probe
接続されているUSRPの詳しい情報を表示します。シリアル番号やファームウェアのバージョン、搭載されているRFドーターボードや対応周波数帯など細かく見ることが出来ます。
UHDのログ出力先ファイルを指定する
UHDのログをファイルに出力するには、出力先のパスを環境変数 UHD_LOG_FILEに設定します。システムのプロパティ→詳細設定→環境変数、と進んで、
PC全体で環境変数を有効にする場合は「システム環境変数」の「新規」を、
ログインしているユーザだけで有効にするには「ユーザー環境変数」の「新規」を、
クリックして下図のように環境変数UHD_LOG_FILEにパスを設定します。
存在しないフォルダのパスを設定すると、自動的にフォルダを作成しログを出力する、というような器用なことはなくログファイルが出力されません。
存在しているフォルダパスを設定して下さい。
出力するログレベルを設定する
環境変数UHD_LOG_LEVELで出力するログレベルを指定します。fatal,error,waring,info,debug,traceの5段階で指定し、デフォルトはinfoです。
今回はtrace, debug, infoの違いが表れていませんが、実行内容によっては出力に差が出ると思われます。
ログを取るときは、最初はtraceで出来るだけ細かいログを出力してみて、徐々に調整していけば良いでしょう。
Trace
2019-Jun-17 13:29:27.197966,0x573c,log.cpp:460,2,UHD,Win32; Microsoft Visual C++ version 14.0; Boost_105900; UHD_3.12.0.0-release2019-Jun-17 13:29:31.850859,0x573c,rpc_client.hpp:58,2,NIRIO,rpc_client stopping...
2019-Jun-17 13:29:31.850859,0x573c,rpc_client.hpp:62,2,NIRIO,rpc_client stopped.
2019-Jun-17 13:29:31.850859,0x573c,device.cpp:110,4,UHD,Device discovery error: input stream error
Debug
2019-Jun-17 13:30:12.197522,0x5c50,log.cpp:460,2,UHD,Win32; Microsoft Visual C++ version 14.0; Boost_105900; UHD_3.12.0.0-release2019-Jun-17 13:30:16.860119,0x5c50,rpc_client.hpp:58,2,NIRIO,rpc_client stopping...
2019-Jun-17 13:30:16.860119,0x5c50,rpc_client.hpp:62,2,NIRIO,rpc_client stopped.
2019-Jun-17 13:30:16.860119,0x5c50,device.cpp:110,4,UHD,Device discovery error: input stream error
Info
2019-Jun-17 13:30:34.200065,0x41bc,log.cpp:460,2,UHD,Win32; Microsoft Visual C++ version 14.0; Boost_105900; UHD_3.12.0.0-release2019-Jun-17 13:30:38.836196,0x41bc,rpc_client.hpp:58,2,NIRIO,rpc_client stopping...
2019-Jun-17 13:30:38.836196,0x41bc,rpc_client.hpp:62,2,NIRIO,rpc_client stopped.
2019-Jun-17 13:30:38.836196,0x41bc,device.cpp:110,4,UHD,Device discovery error: input stream error
Warning
2019-Jun-17 13:31:14.189279,0x4ba4,log.cpp:460,2,UHD,Win32; Microsoft Visual C++ version 14.0; Boost_105900; UHD_3.12.0.0-release2019-Jun-17 13:31:18.837694,0x4ba4,device.cpp:110,4,UHD,Device discovery error: input stream error
Error
2019-Jun-17 13:31:44.665086,0x2280,log.cpp:460,2,UHD,Win32; Microsoft Visual C++ version 14.0; Boost_105900; UHD_3.12.0.0-release2019-Jun-17 13:31:49.328093,0x2280,device.cpp:110,4,UHD,Device discovery error: input stream error
Fatal
出力なし参考
出力するログのフォーマットも変更することが出来ます。詳細は以下のURLを参考にして下さい。UHDロギング機能
https://files.ettus.com/manual/log_8hpp.html
まとめ
- 環境変数UHD_LOG_FILEを指定することでログファイルを出力できる。
- 環境変数UHD_LOG_LEVELで出力するログのレベルを制御することが出来る。
uhd_find_deviceやuhd_usrp_probe以外のコマンドもログ出力に対応しているものはあると思います。
またUHDのプログラムを作る際にはこの環境変数に対応してログ出力をしてみると良いと思います。
私たちドルフィンシステムは、お客様の様々な要望に答えられるような知見の蓄積・環境の構築を行い、最適な無線システムを提案していけるよう努力しております。
SDRを用いた無線システムのご要望はドルフィンシステムへ。
ドルフィンシステムでは、一緒に働いてくれるエンジニアを募集しています!
ご興味のある方はお気軽にご連絡ください!
件名に「採用情報」と書いたメールをinfo@dolphinsystem.jpにお送りください。
お待ちしています。
以上、ドルフィンシステム福島でした。
コメント
コメントを投稿