CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

アプリケーション実装(3) - ほぼ完結

イメージ 1

リモートIOのうち、入力側すなわちボード上の状態を読みこんで
それをクライアント側に送信する部分が無かったのでこれを追加。

ボード上で入力デバイスDIPスイッチしかないので、これを読みとって
WEBページのHTML文におり込んでしまえばいいと思うのでページを構成する
処理の中に以下のような行を追加しました。

     :
 strcat(tcpptr->user_data,"<hr/>\n\r");
 sprintf(str,"DIPsw状態:0x%02X\n\r",dip()); /*DIPsw値の取得*/
 strcat(tcpptr->user_data,str);
 strcat(tcpptr->user_data,"<hr/>\n\r");
     :

これでページを最初に読みこんだり、送信、リロードのたびに画面が再描画されるとき
そのときのDIPスイッチの状態が反映されます。

文字列の転送では本来はURLエンコード/デコードによって記号や漢字も送れるようにする
べきですが、とりあえずLCDに英数字ぐらいを出す実験なので省略。

これでだいたいLAN関係の確認はおわり。
ネットワーク処理のごく一部ですがおぼろげながら理解できました。
次はUSBかなと思いますがUSBはプロトコルのほとんどをハードが処理してしまうようだし
絵的にも面白みがないかもしれません。