/*!
  \page lib_tutorial_page URG ライブラリ

  \section lib_tutorial_abst_section URG ライブラリについて

  URG 用ライブラリのサンプル実装で、Windows, Linux, Mac 対応です。ライセンスは <a href="COPYING">LGPL</a> になります。\n

  - 動作対象
    - Windows
      - Visual Studio 2005, Visual Studio 2008
      - MinGW
    - Linux
      - gcc
    - Mac
      - gcc

  C++ 実装は SDL に依存しています。SDL のインストールについては、以下のページをご覧下さい。

  - 開発環境の構築について
    - \subpage devel_win_page
    - \subpage devel_lin_page
    - \subpage devel_mac_page

  ご利用においては、「どのような環境でも動作する」ということは保証できませんので、あくまでサンプルとしてご利用下さい。また、実装の詳細はソースコードをご覧下さい。

  - <a href="ChangeLog">URG ライブラリの変更履歴</a>


  \n
  \section lib_tutorial_api_section API

  - urg_ctrl.h ... C 版 API
  - qrk::UrgDevice ... C++ 版 API


  \n
  \section lib_tutorial_usage_section URG ライブラリの使い方

  \subsection lib_tutorial_usage_windows Windows での URG ライブラリ利用

  URG ライブラリは、Windows 用に lib ファイルを生成します。
  - ビルド方法
    - urg-X.X.X/vc8/c/c_urg.vcproj (または urg-X.X.X/vc8/cpp/urg.vcproj) から Visual Studio 2005 を起動し、F7 を押してビルドを行います。
    - Debug/c_urg.lib ファイルが生成されていれば、ビルド成功です。

  - ライブラリの使い方
    - 生成された Debug/c_urg.lib を "追加の依存ファイル" に追記し、include/c (または include/cpp) フォルダを "追加のインクルードディレクトリ" に追記することで利用できます。
    - 詳しくは、ライブラリ付属のサンプルをご覧下さい。
<!--      - <a href="gd_scan_lib_vc8.zip">gd_scan_lib_vc8.zip</a> ... C 版ライブラリの利用サンプル
      - <a href="gdCaptureSample_lib_vc8.zip">gdCaptureSample_lib_vc8.zip</a> ... C++ 版ライブラリの利用サンプル -->

  \n
  \subsection lib_tutorial_usage_linux Linux での URG ライブラリ利用

  - コンパイル方法
    - configure && make でコンパイルできます。
      - boost, SDL, SDL_net がない場合、C++ 版のライブラリはコンパイルされません。
    \n \n
    - make install でインストールした後は、c_urg-config, urg-config の各スクリプトが利用できます。
    \n \n
    \verbatim
% unzip urg-X.X.X.zip
% cd urg-X.X.X
% ./configure && make
# make install \endverbatim

  - ライブラリの使い方
    - URG ライブラリをインストールして下さい。
    - コンパイルに必要なオプションは、c_urg-config (または urg-config) を用いて記述できます。
      - <a href="c_urg_sample.tar.gz">c_urg_sample.tar.gz</a> ... C 版ライブラリの利用サンプル
      - <a href="urg_sample.tar.gz">urg_sample.tar.gz</a> ... C++ 版ライブラリの利用サンプル

  \section lib_tutorial_ethernet Ethernet で通信する方法

  \subsection lib_tutorial_ethernet_application サンプル・アプリケーション

  \ref UrgViewer_page で、Ethernet 通信の動作確認ができます。 Ethernet 通信と Serial 通信を切替えるには、メニューの "接続" から "Ethernet" を選択して下さい。

  \image html urg_viewer_ethernet_mode.png Ethernet 通信の切替え

  URG センサの初期 IP は 192.168.0.10 です。 センサに接続するには PC 側の IP アドレスを 192.168.0.X (例: 192.168.0.1) などに設定して UrgViewer の "接続" を押して下さい。

  \section lib_tutorial_ethernet_sample サンプル

  URG ライブラリでの Ethernet サンプルについて説明します。(現状では C++ 版のみ Ethernet 通信に対応) \n
  urg-X.X.X/samples/cpp_ethernet/ に Ethernet 通信のサンプルがあります。 これをコンパイルして実行することで、Ethernet 通信のセンサと通信できることが確認できます。 Ethernet 通信のサンプルをビルドするには SDL_net ライブラリが必要です。


  \section lib_tutorial_ethernet_cpp Ethernet 通信を利用する場合の変更点

  URG センサ用のクラスである UrgDevice は、通信用のオブジェクトを変更できます。 初期状態では Serial 通信を行うようになっていますので、これを Ethernet のものに変更すれば、Ethernet 通信ができるようになります。

  \code
  UrgDevice urg;
  TcpipSocket socket;
  if (! socket.connect("192.168.0.10", 10940)) {
      // !!! エラー処理
  }
  urg.setConnection(&socket);
  urg.loadParameter(); // UrgDevice::connect() を使わないため、手動でパラメータを読み出す

  // !!! 以降は、シリアル通信と同様の使い方 \endcode

  \n
*/
