-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge binary mode and ascii mode into one node #19
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
実機にてASCII出力モードとバイナリ出力モード両方同一ノードで動作することを確認しました。
全然関係ない文字列を送ったところ以下のエラーが出てプロセスが停止しました。
[ INFO] [1592993554.204090319]: Data format is ascii.
terminate called after throwing an instance of 'std::invalid_argument'
what(): stof
#18 で取り込んだコードに問題ありました。
別PRにてエラー修正します。
再度動作確認します。 |
実機にて接続確認し、ROSノード起動中にSW1を長押ししてメニューを呼び出してもプロセス自体は停止しないことを確認しました。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
クラス名変更等のリファクタリングは別PRで実施します。
ということなのでこのPRについてはこれでOKだと思います。
Checklists
What does this implement/fix? Explain your changes.
rt_usb_9axisimu_ascii_mode.cpp の内容をrt_usb_9axisimu_binary_mode.cppに移植して、ノードを切り替えること無くバイナリモードのデータとアスキーモードのデータを受信します。
バイナリモードのモジュールを接続した状態で
rt_usb_9axisimu_driver
ノードを起動すると、バイナリデータ受信モードでノードが動きます。アスキーモードのモジュールを接続した状態でノードを起動すると、アスキーデータ受信モードでノードが動きます。
モードの判定はバイナリモードかどうかのみをチェックしているので、別のシリアルモジュールの接続は想定していません。(接続した場合は、アスキーモードで動作し、エラーを吐くと思います。)
クラス名変更等のリファクタリングは別PRで実施します。
Does this close any currently open issues?
いいえ。
How has this been tested?
roslaunch rt_usb_9axisimu_driver rt_usb_9axisimu_driver.launch
を実行し、アスキーモードのモジュールと、バイナリモードのモジュールのどちらを接続してもIMUトピックが出力されることを確認しました。