| 沼津高専 電子制御工学科 | ||||||
| ||||||
| 改訂記録 | ||||||
|---|---|---|---|---|---|---|
| 版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||
| A01 | 2004.2.15 | 齋藤 | 齋藤 |
初版 | ||
RTタスクとデバイスドライバではFPGAとPICに信号を送受信し、受け取ったデータを加工することによって
FPGAと各モードプログラムの橋渡しを行う。それぞれの役割は一覧以下に記述する。
ヘッダファイルでは主に関数、特殊な定数の宣言とプログラムの省略の為の文章の定義を行っている。
def_itw.h ⇒ センサ関連の定義ファイル
def_lcd.h ⇒ LCD関連の定義ファイル
def_psd.h ⇒ PSD関連の定義ファイル
def_pwm.h ⇒ 走行系関連の定義ファイル
def_val.h ⇒ 電磁弁関連の定義ファイル
def_etc.h ⇒ 上記以外の定義ファイル
def_cut.h ⇒ 省略文章のの定義ファイル
モードプログラムではMIRSの行動を分割して考え、各モードの目的を達成するためのプログラムを記述している。
このプログラムは何度も仕様を変更しているので、詳細設計書とは大分異なっている可能性がある。各プログラムのソースを参考にし、注意すること。
| ファイル名 | 分類 | 関連ヘッダファイル | 詳細 |
| move4.c | メインプログラム | func_0205.h | メインプログラム。 戻り値から次に使用されるモードを記述してある。 |
| cdown.c | モードプログラム | def_lcd.h | 開始前のカウントダウンを行うモード。 |
| cen_post.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
ポストをMIRSの正面に捉えるモード。 |
| clear_wl.c | モードプログラム |
def_itw.h def_lcd.h def_etc.h def_cut.h |
MIRSが白線上に乗った時に、 どの白線が検知したのかを調べるモード。 |
| distance.c | モードプログラム |
def_itw.h def_pwm.h def_lcd.h def_etc.h def_cut.h |
MIRSを指定距離前進させるモード。 TSのみ調べている。 |
| get.c | モードプログラム |
def_itw.h def_lcd.h def_etc.h def_cut.h def_val.h |
ポストをアームで獲得するモード。 |
| get_charge.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
ポストを体当たりで獲得するモード。 |
| lead.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
自転してポストを探査するモード。 |
| left_post.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
ポストをMIRSの左側正面に捉えるモード。 |
| move.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
ポストを探査しながらMIRSを指定距離前進させるモード。 |
| orbit.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
ポストを周回しながらポスト番号を確認するモード。 |
| remain_orbit.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
ポストを見つけた地点から5/4周するモード。 |
| s_orbit.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
ポストを周回しながら他のポストを探査するモード。 |
| set10cm.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
ポストから10cm離れた位置にMIRSを移動させるモード。 |
| side_post.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
MIRSの横にあるポストを探査しながら前進するモード。
メインには使用せず。 |
| surround_post.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
ポストを1/2周するモード。 メインには使用せず。 |
| trace.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
白線をMIRS右側に検知しながら前進するモード。
メインには使用せず。 |
| turn.c | モードプログラム |
def_itw.h def_pwm.h def_lcd.h def_etc.h def_cut.h |
指定角度自転するモード。 |
| victory.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h def_val.h |
ポストを全て獲得した時のモード。
残念ながら使用条件が難しく使用できず。。 |
| wlsearch.c | モードプログラム |
def_itw.h def_pwm.h def_psd.h def_lcd.h def_etc.h def_cut.h |
白線に対してMIRSが垂直方向を向くように補正するモード。
メインでは基本的に使用せず。 |
| pwm_enc_module.c | RTタスクモジュール | pwm_enc.h | ATLMIRSのpwm_enc_module.cとほぼ同じ。 |
| psd.c | デバイスドライバ | psd.h | PSDの測定した電圧を距離に変換する。 |
| valve.c | デバイスドライバ | def_val.h | 電磁弁の開閉してアームを動かすドライバ。 |
| itw.c | デバイスドライバ | itw.h | 赤外線センサ、タッチセンサ、パワーオン信号、
白線検知センサからのデータ取得。 |
| lcd.c | デバイスドライバ | lcd_nr.h | ATLMIRSのlcd.cとほぼ同じ。 |
| duty2.c | 開発用プログラム | --- | DUTY比と距離を指定して走行させるテストプログラム。 |
| stop2.c | 開発用プログラム | --- | モーターの回転を止めるだけのプログラム |
| itw_test.c | 試験用プログラム | --- | センサ系試験用プログラム。 |
| lcd_test.c | 試験用プログラム | --- | LCD試験用プログラム。 |
| psd_test.c | 試験用プログラム | --- | PSD試験用プログラム。 |
| vtest.c | 試験用プログラム | --- | 電磁弁試験用プログラム。 |
| Makefile | Makefile | --- | メインとモードのMakefile。 |
| 関連文書 |
|---|