設計が・・・とか考えて行動が止まっていたのだが、それくらいだったら適当に実装して作った方がよいだろう。
それを繰り返しているから設計がうまくならんのだ、といわれればそれまでなのだけど、深くは考えまい。
というわけで、今回はこういう構成にしよう。
pcdのところでdevを吸収して、devでRC-S370を受け持つ。
RC-S956を別に分けて、RC-S370ならUSB、RC-S620/SならUART、というようにしてもよいだろうが、今回はRC-S370だけでよい。
今はdev.IoCtlというインターフェースを作ってみたものの、まだ活躍していない。
一応、pcdはdev.IoCtlを持たせて、毎回devを呼ぶときに引数で渡して・・・あれ?
Linuxのドライバなんかはopen()してからclose()するまではファイルディスクリプタを使うけど、今回は特にそこまでしなくていいんじゃないのかね。
というわけで、グローバル変数を使うことにした。
図のdevでは省略しているが、これ以外にもコマンドごとに構造体を用意している。
それを使ってpcdから呼び出してもらっていたので、devは引数にしていたのだ。
まあ、それならコマンドの構造体メンバにdevを持たせるべきなのかもしれないが、それってあんまり意味がなさそうな冗長だと思ったのだ。
そういう余裕があればあとから改造が楽になる、ということもあるのだろうが。。。
とにかく、だ、あっさりした構成で作ることにしよう。
今日のできばえ
https://github.com/hirokuma/go_pasori370/tree/ec94e2dd82be08dd4020ddf285236058818a22c8
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。