関数一覧


関数は機能別にファイルに格納されている。
引数、戻り値の値の意味はprogramを参照すること
詳しくは直接programを参照すること。(./program/*.*に格納してあります)

accel.c・・・動きの制御に関係したモジュールがある。

void accel(float velocity, float radius)
移動速度と回転半径により車体の動きを制御する。
この関数だけですべての車体の動きを実現できる。

void accel2(float velocity, float target_dis, float target_dif)
目標角度変位と目標移動距離にあわせて車体の動きを制御する。
詳しくはprogramを参照。

float mv_chack_dis(float x, float y, float dis)
座標x,yと現在の座標との距離の2乗−disの2乗をかえす

float mv_chack_dif(float th, float dif)
姿勢角thと現在の姿勢角の差の絶対値とdifの差をかえす

char mv_chack(float x, float y, float th, float dis, float dif)
ある座標x,y,thと現在の座標を比較し現在の座標を越えたら1をかえす。
それ以外のときは0をかえす。
disは位置座標の変化、difは姿勢角の変化

int mv_timer(char md, int ini_time)
一定時間になると非零をかえす。

char mv_stop(char md, int time)
一定時間の間車体をとめておく。

char mv_accel(char md, float ini_speed, float ini_radius,float ini_dis, float ini_dif)
指定した速度、指定した回転半径で指定した移動距離または
指定した角度変位だけ動かす。

char mv_accel2(char md, float ini_speed, float ini_dis, float ini_dif)
指定した移動距離に指定した角度に向くように動く。

char mv_go(char md, float ini_speed, float ini_dis, float ini_fb_dis)
指定した移動距離だけ直進。

char mv_spin(char md, float ini_speed, float ini_dif)
指定した変位角度だけその場回転。

dataload.c

void dataload()
すべてのセンサ情報をセンサデータの外部変数に格納。

main.c

main()
モードの切り替え、モードの実行

mmi.c・・・マン−マシン−インタフェイス関係のモジュールが存在。

void init_mmi()
mmi用のPI/Tの初期化

void led_set(char data)
led,7seg-ledの制御

void led_lamp_set(char green, char red)
発光LEDの点灯または消灯

void seg_set(char no, char data)
7seg.LEDの指定の桁の表示

void seg_set_all(int data)
7seg.LEDのすべての桁を表示

void read_sw_data()
押しボタンスイッチの読み込み

mv.c・・・動作programのライブラリー

char mv_test_sub(char md)
動作テスト用サブモジュール

char mv_test(char md)
動作テスト用モジュール

char mv_race(char md)
競技用モジュール

mv_ss...はまだ未完成のモジュールなので説明を省略する
char mv_ss_chace(char md)
char mv_ss_going(char md)
char mv_ss_away(char md)
char mv_ss(char md)

char mv_ps(char md)
赤外線追尾動作をする

char mv_ts(char md)
タッチセンサを用いた回避動作をする

char mv_ini_ss(char md)
説明省略

char mv_ini(char md)
説明省略

char mv_search(char md, float ini_speed, float ini_dif, int ini_time)
振り向き動作をさせる

char mv_win(char md)
おまけの動作をする

other.c

char inport(char *port)
ポートからの読みだし

void outport(char *port, char data)
ポートへの書き込み

int b_to_bcd(int b)
数値をBCDコードに変換

void rtc_clr()
RTCのレジスタのクリア

void init_start()
ステータスレジスタの割り込みマスクを解く

void init_all()
全てを初期化

void init_data()
各変数の初期化

ps.c

void init_ps()
赤外線センサ用のPI/Tの初期化

void ps()
赤外線センサのデータの読み込み

void enemy_behind()
赤外線の反応により相手のいる方向を角度に換算

void ps_seg_control()
赤外線の反応箇所を7seg.LEDで確認する為のデータを作成

pwm.c

void init_pwm()
pwm信号の送信用のPI/Tの初期化

void comp_led_out(int l, int r)
void pwm_data_chage()
void pwm_roket_start()
void pwm_break()
int ajust_pwm(int pwm_data)
int feed_back(int ori, int target)
void pwm()
モータの回転を制御

re.c

void re()
ロータリエンコーダのデータの読み込み

void dataload_re()
タイマー割り込み用のロータリエンコーダデータを通常時のロータリエンコーダデータにコピー

void make_self_point_data()
自己座標を算出

void make_seg_x1_y1_th1()
自己座標を7seg.LEDで確認する為のデータを作成

seg.c・・・7seg−ledの表示ライブラリー

char seg_start(char md, int seg_data)
説明省略

char seg_start2(char md, int seg_data)
説明省略

void re_check()
タイヤの回転数を7seg.LEDで表示

void pwm_check()
pwm信号を7seg.LEDで表示

void sw_check()
dipsw.の状態と押しボタンスイッチが押された回数を7seg.LEDで表示

void x1_check()
自己座標のx座標を7seg.LEDで表示

void y1_check()
自己座標のy座標を7seg.LEDで表示

void th1_check()
自己姿勢角を7seg.LEDで表示

void x1_y1_th1_check()
自己座標と自己姿勢角を7seg.LEDで表示
タッチセンサで指定する

void ps_check()
赤外線の反応箇所または相手のいる方向を7seg.LEDで表示

void ts_check()
タッチセンサの反応箇所を7seg.LEDで表示

void ss_check()
前方または左右の障害物までの距離を7seg.LEDで表示

void mv_ss_check()
すべての超音波センサデータを7seg.LEDで表示

void tm_check()
タイマのカウントの様子を7seg.LEDで表示

void all_check_sw_dip()
すべてのセンサデータを7seg.LEDで表示
dipスイッチで項目を変更

void all_check_sw_intr()
すべてのセンサデータを7seg.LEDで表示
押しボタンスイッチで項目を変更

ss.c

void init_ss()
超音波センサ用のPI/Tの初期化

ss()
カウンタの読み込み、超音波の送信

void dataload_ss()
説明省略

tm.c

void init_rtc()
RTCの初期化

interrupt void tm()
タイマ割り込み用モジュール

void dataload_tm()
説明省略

ts.c

void ts()
タッチセンサのデータの読み込み