wiki:epics/streamdevice/susume_addendum

Version 1 (modified by obina, 11 years ago) (diff)

--

追加情報

MLで出た話題

IDN?を送った後で、39文字以降をどう取り扱うか

readType {
    out "V";
    in "%s %*#s";
}

readVersion {
    out "V";
    in "%*s %#s";
}

この例ですと、"V"コマンドを送ると型式とバージョン番号を一つの文字列として返してくるのですが、それが40文字以上になってしまっている(実に惜しいことに41文字でした)ので、空白よりも前の文字列を型式として、それよりも後の文字列をバージョン番号としてstringinレコードに格納するようにしました。ここでのポイントは "*" 記号です。詳細はStreamDeviceのドキュメントをご参照ください。この方法ですと、CSSでLabelを2つ並べればあたかも1つの文字列に見えるので、オペレーターから見ると一つの文字列に見えます。

dbdの中で registrar(drvAsynSerialPortRegisterCommands) を追加しておくこと

これについては、StreamDeviceというよりもasynのことですが、dbdの中でこのコマンドを書くよりも Makefile の中で

(IOC名)_DBD += drvAsynSerialPort.dbd

とする方が、わざわざ別にdbdファイルを用意する必要が無いので楽です。

Socket I/O を使うときには

(IOC名)_DBD += drvAsynIPPort.dbd

VXI-11を使うときには

(IOC名)_DBD += drvVxi11.dbd