-
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
checkDataFormat() and unit test updates #54
Conversation
checkDataFormat()のwhile文でsleep(10ms)を実行していましたが、sleepがなくても正常に動作することが確認できたので削除しました。 それに伴って、概要欄に記載していた下記の文章も削除しました。
|
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データの読み込み時にASCII形式の判定に失敗する場合があったため、修正を行いました。 原因BinaryとASCIIのデータが全て揃っている状態でないとデータ形式を判定できないが、従来の実装方法だとタイミングによってデータが欠ける可能性があったため。 修正内容readFromDevice()でIMUからデータを取得する際、一度で1セット分のデータ全てを取得できないようだったので(下記参考)、取得したデータを貯められるように変更しました。 ASCIIデータ出力時のreadFromDevice()のログreadFromDevice()実行1回目↓
readFromDevice()実行2回目↓
readFromDevice()実行3回目↓
|
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.
動作OKです。細かいところにコメントしました
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.
LGTMです
* Add unit tests (#52) * Use pointer for SerialPort instance instead of inheritance * Add test using fakeit * Install git comand in indsutrial_ci * Refactoring * Update CI * Use AFTER_SETUP_TARGET_WORKSPACE * driverインスタンスのメンバ変数のテストを追加 * バイナリデータが読み込まれたことを確認するテストを追加 * ASCIIデータが読み込まれたことを確認するテストを追加 * バイナリでもASCIIでもないデータが読み込まれたことを確認するテストを追加 * テストが通る状態に修正 --------- Co-authored-by: ShotaAk <s.aoki@rt-net.jp> * checkDataFormat() and unit test updates (#54) * Binaryデータ出力時は実機とテストの両方で動作確認完了、ASCIIデータには未対応、デバッグ用出力あり * 実機とテストの両方でBinaryとASCIIの判定に成功、BinaryでもASCIIでもないデータには未対応 * タイムアウト機能を追加&hasCompletedFormatCheck()と関係する変数を削除 * 不正なデータをチェックするようにテストを修正 * readを成功させるためにwhileループにsleep処理を追加 * 必要がなかったため、while文のsleep処理を削除 * テスト用データの作成で重複している箇所を関数化 * RCLCPP_INFOをWARNに変更&不要なコメントを削除 * const autoをできる限り使用 * actions/checkoutのバージョンを3から4に更新 * 読み取ったデータをある程度貯めてからデータ形式を判定するように変更 * 貯めるデータを更新するように修正 * メンバ変数の名前を修正&256を定数化 * Add test for readSensorData() (#57) * readSensorData()実行後のhasRefreshedImuData()の応答のテストを追加 * テストにコメントを追加 * 0.0を入力として与えたテストを追加 * ASCII形式のテストデータを作成する際、引数で値を渡せるように変更 * Binary形式でもテストデータを引数で渡せるように変更 * テストケースを使い回せるように変更 * readSensorData()実行時にセンサデータが正しく変換されたか検証するテストを追加 * デバッグ用の関数を削除 * short intをint16_tに変更 * int16を8bitずつに分ける関数をhighとlowそれぞれ用意 * 既存のテストに影響を与えないようにデータ作成の関数をオーバーロード * set_data関数をprivateに変更 * 変換後の数値を直打ち * data_format_を設定する関数を削除 * 不要な箇所を削除 * Fix to get the latest data (#58) * 最新データ取得のテストを追加 * PR#50を参考に最新のデータを取得できるように変更 * 複数セットのデータ取得時に最新のデータをセットするように変更、テストは通るが挙動がおかしい * 最新データの取得方法を修正 * 取得するデータが適切な長さであることを保証する * 2.1.0リリースのためにCHANGELOG.rstとpackage.xmlを更新 (#59) * CHANGELOGを更新 * 2.1.0 --------- Co-authored-by: ShotaAk <s.aoki@rt-net.jp>
What does this implement/fix?
checkDataFormat関数を下記のように更新しました。
それ以外にも下記を修正しました。
Does this close any currently open issues?
下記のissueに対応します。
How has this been tested?
実機とテストの両方で動作確認をしました。
Any other comments?
Checklists