All Digital Output の使い方について。

情報の探し方がサッパリ分からないので、メモ。

Gainerには、

Dxxxx	Dxxxx*	set all digital outputs, xx: value

と言うコマンドがあるのだけど、使い方がちと分かり辛かった。
原因は、

Hn	Hn*	set specified digital output high, n: port number
Ln	Ln*	set specified digital output low, n: port number

なんてのがあるからかな…とか。


まぁ、いいや。


デフォルトのコンフィグレーションだと、Digital Outputが、4本あって、
最大で16本あるのだけど、これが、それぞれフラグになっている訳。
つまり、こんな表になる。

コマンド フラグ DOUT3 DOUT2 DOUT1 DOUT0
D0000* 0000 0000 0000 0000 OFF OFF OFF OFF
D0001* 0000 0000 0000 0001 OFF OFF OFF ON H0*と同等
D0002* 0000 0000 0000 0010 OFF OFF ON OFF H1*と同等
D0003* 0000 0000 0000 0011 OFF OFF ON ON
D0004* 0000 0000 0000 0100 OFF ON OFF OFF H2*と同等
D0005* 0000 0000 0000 0101 OFF ON OFF ON
D0006* 0000 0000 0000 0110 OFF ON ON OFF
D0007* 0000 0000 0000 0111 OFF ON ON ON
D0008* 0000 0000 0000 1000 ON OFF OFF OFF H3*と同等
D0009* 0000 0000 0000 1001 ON OFF OFF ON
D000A* 0000 0000 0000 1010 ON OFF ON OFF
D000B* 0000 0000 0000 1011 ON OFF ON ON
D000C* 0000 0000 0000 1100 ON ON OFF OFF
D000D* 0000 0000 0000 1101 ON ON OFF ON
D000E* 0000 0000 0000 1110 ON ON ON OFF
D000F* 0000 0000 0000 1111 ON ON ON ON

出力の表が、DOUT3始まりがちとアレだけんども、こういう感じ。
一桁で、16種類のデジタル出力デキルネ…と。
DOUTを5本以上使うコンフィグレーションを選んだ時は、
この表だと0しか埋まって無い所を適宜、想像しる感じで。
なんつーか、こうやって、表にしてしまうと、面白みも無くアタリマエなんだけども、
こういうプログラミングから離れているとすっかりサッパリ忘れているですなぁ…


ポイントは、一回の通信で、複数のDOUTを同時にONに出来る事。
Hn*で複数のDOUTをONにする時には、複数回通信しなきゃいかんのを大幅にスキップ出来る。
使わない手はナイヨネ。