審判プログラムの使い方 ---------------------- cserver.ccをcygwinのgcc等でコンパイルすれば実行ファイルができる。 使い方は、ソース中の static const char usage[] を参照。 初期化データファイル、SLDファイル、PPM出力ファイルについては後述。 審判プログラムの通信パターンと、時間測定の流れ ---------------------------------------------- PC側審判プログラム 基板(自作CPU)側 |時 CPUの回路がImpactにより ↓間 転送され動作開始 審判プログラム起動 レイトレのための初期化 データをUSB経由で基板に (初期化データ) 送る −−−−−−−→ 審判プログラムから初期化 データを受信、初期化処理を 行う 初期化が終ったら、SLDデータ 転送開始の合図として1バイト (0xaa) データ0xaaを送る ←−−−−−−− 0xaaを受信したら、現在 の時刻を測定開始時間と して記録。続いてSLD データをバイナリ形式で 送る (SLDデータ) −−−−−−−→ 画像を計算し、PPM形式で送り 返す。P3(text形式)、P6 (PPM画像) (binary形式)どちらでも良い ←−−−−−−− 画像のピクセルが全て揃 った時点で、現在の時刻 を測定終了時間として記 録。この時刻と測定開始 時刻の差を計算時間とし て表示。 ■初期化データは、班毎に用意したバイナリファイルをそのまま送る。 ■SLDファイルは、int, floatともに4バイトのバイナリフォーマットで送る(リトル・エ ンディアンかビッグ・エンディアンかを審判プログラムの -b オプションで選択可能) ■PPM画像は、P3(text)かP6(binary)のいずれかのフォーマットで送る。審判プログラム は送られたバイト列をそのままファイルに保存する(ただし、後ろに余計なデータが付 いていた場合は無視される) -------------------------------------------------------------------------------