- 調査目的
MIRS標準プログラムを理解し、動作試験に必要なプログラムを作成できるようにするため。また、プログラムをコーディングする練習とするため。
- 調査内容とソフトウェア概要
- 調査内容
- モーターボード等のテスト用プログラム(motor_test.c)について、各行がどのような働きをするかを理解した。
- pthread関係の関数は動作が不明だった。
- motor()は内部でmotor_*()を呼び出して処理をしており、さらにその内部ではmotor_send*_packetの命令でPICに命令を送っていることが分かった。
- 変数errnoにはエラーの理由を示した戻り値が入っていることが分かった。
- web上のソースファイルのmoter_test.cは、回転等を行う機能が削除されていたが、実際にMIRSにダウンロードされているものには、それが利用できるようになっている。
- ソフトウェア構成
今回、理解を深める・標準機のテストを行うために作成したプログラムの概要を説明する。なお、大半が他のヘッダファイルやCファイルからの引用となるため、詳細はそのドキュメントを参照すること。
- include等が並んでいる部分は引用したファイルの先頭部から引用。
- motor動作用のデバイスファイルのオープン部分はmotor_test.cから引用。
- motor_send*_packetなどの関数はmotor_func.cから引用。
- 問題点等
ハードウェアの故障のため、実際のテストが行えなかった。そのため、ハードウェアが回復しだいテストを行いたい。
pthread関係の関数の理解、他のセンサー等の関数の理解。
- ソースファイル
以下に今回作成したプログラムを添付する。
モーター制御用プログラムstart.c
変更したヘッダファイルmg3.h
関連文書
- MIRSMG3D-FMOD-0001---MIRSMG3D 走行制御モジュール
- MIRSMG3D-FREF-0001---MIRSMG3D 関数レファレンス
- MIRSMG3D-FTST-0001---MIRSMG3D 走行制御試験プログラム
沼津工業高等専門学校 電子制御工学科