SampleLCDOutput_nidaqmxbaseについて
  alucky4416@users.sourceforge.jp 2013/12/11

[概要]
NationalInstruments(以下NI)のマルチファンクションデバイス
(いわゆる計測制御用ボード)とnidaqmxbase ドライバのデジタル出力
を使って、LCDキャラクタ液晶に文字列を表示させるサンプル。
なお、LCDキャラクタ液晶は、秋月電子で販売しているSUNLIKE社製
SC1602シリーズの液晶モジュール(日立 HD44780互換)を対象として
います。

NI-DAQmxBaseについてはこちら
http://sine.ni.com/nips/cds/view/p/lang/ja/nid/14480

LCDキャラクタ液晶についてはこちら
http://akizukidenshi.com/catalog/g/gP-00038/

[デバッグ環境]
ScientificLinux 6.3 (32bit)
  ScientificLinux は RedHatEnterpriseLinux互換のLinuxOS。
  CentOSやScinetificLinuxは、カーネルコンパイルなしにDAQmxBaseを
  インストール可能なので、LinuxでNI製品を動かしてみたい時におもに使って
  います。
  openSUSEにDAQmxBaseをインストールするにはカーネルコンパイルが必須。
  UbuntuやDebianではインストールすらできない。。。

NI USB-6501 (廉価版のUSB接続の24bit デジタルI/Oデバイス)
  http://sine.ni.com/nips/cds/view/p/lang/ja/nid/201630
  Linuxで使う場合はファームウェアをLinux用のものに更新する必要があります。
  nidaqmxbase付属のFWUpdateコマンド使用。
  Linux用に更新した後、WindowsPCにつなぐと再度ファームウェアが更新されます。

nidaqmxbaseのバージョンは3.6を使用。

QtSDK Ver1.2 Linux版使用

[LCDの制御]
  LCDの制御には4bitモードを使用しています。
  また、R/W を GNDに接続(Low固定)にしているため、Writeのみの動作に
なります。
  USB-6501 は、"Dev1/port0"を使用しています。thlcdoutput.cppで固定値に
なっています。
  秒、ミリ秒単位の同期タイマー制御が必要なので、HW制御は、QThread内に
押し込んでいます。（sleep(), msleep(), usleep()はQThread内でしか使えない）


[LCDとDIOの配線]
 DIO        LCD

 P0.5  ---  RS
 P0.4  ---  E
 P0.3  ---  D7
 P0.2  ---  D6
 P0.1  ---  D5
 P0.0  ---  D4

*)LCDのR/WはGNDにしています。Readには対応していません。
*)LCDのVdd/Vssはデジタル出力ボードの+5V, DGNDを使いました。
