Comments
Description
Transcript
RX64M グループ カメラ活用センサソリューション
アプリケーションノート RX64M グループ カメラ活用センサソリューション RX Driver Package Application R01AN2462JJxxxx Rev.x.xx 2014.11.10 要旨 本資料は、カメラ活用センサソリューションのアプリケーションノートです。人物検知、動体検知、歪み補 正を実現しています。 評価には、RX64M 搭載のGR-KAEDE (以下、GR-KAEDE)が必要です。 Webカメラシステムは、GR-KAEDE搭載のカメラモジュールから取り込んだデータをJPEGファイルにエン コードし、Webサーバシステムを使ってWebブラウザ上に表示します。 本アプリケーションノートでは、メインプログラムと Web サーバを、RX64M グループ用 RX Driver Package に入っている TCP/IP プロトコルスタック(M3S-T4-Tiny)、Ethernet ドライバ等と組み合わせて評価するま での手順について説明します。 動作確認デバイス RX64M グループ(GR-KAEDE) R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 1 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 目次 概要 ..................................................................................................................................5 1. 1.1 本アプリケーションノートについて............................................................................................. 5 1.2 動作環境 ........................................................................................................................................ 5 1.3 モジュール構成 ............................................................................................................................. 6 開発環境の入手 ................................................................................................................ 9 2. 2.1 e² studio を使用する場合 .............................................................................................................. 9 2.1.1 e² studio の入手とインストール方法 ...................................................................................... 9 2.1.2 コンパイラパッケージの入手方法 ........................................................................................ 10 2.1.3 3.0.1.09 へのアップデート ................................................................................................... 10 2.2 CubeSuite+を使用する場合 ........................................................................................................ 11 2.2.1 CubeSuite+の入手とインストール方法 ................................................................................ 11 評価環境にプロジェクトを読み込む .............................................................................. 13 3. 3.1 共通作業 ...................................................................................................................................... 13 3.2 e² studio を使用する場合 ............................................................................................................ 13 3.2.1 ワークスペースの作成 .......................................................................................................... 13 3.2.2 プロジェクトのインポート ................................................................................................... 14 3.3 CubeSuite+を使用する場合 ........................................................................................................ 17 動作確認 ......................................................................................................................... 18 4. 4.1 プロジェクトのビルド ................................................................................................................ 18 4.1.1 e² studio を使用する場合 ...................................................................................................... 18 4.1.2 CubeSuite+を使用する場合 .................................................................................................. 19 4.2 デバッグの準備 ........................................................................................................................... 19 4.2.1 機器の構成 ............................................................................................................................ 19 4.2.2 クライアント PC の設定 ....................................................................................................... 21 4.3 プロジェクトのデバッグ............................................................................................................. 24 4.3.1 e2 studio を使用する場合 ..................................................................................................... 24 4.3.2 CubeSuite+を使用する場合 .................................................................................................. 27 4.3.3 共通操作 ................................................................................................................................ 28 5. LED 仕様 ........................................................................................................................ 34 6. メインプログラム仕様.................................................................................................... 35 6.1 ファイル一覧 ............................................................................................................................... 35 6.2 モジュール一覧 ........................................................................................................................... 36 6.3 処理フロー .................................................................................................................................. 37 7. Web サーバ仕様 ............................................................................................................. 38 7.1 性能概要 ...................................................................................................................................... 38 7.2 動作概要 ...................................................................................................................................... 38 7.3 CGI 機能 ...................................................................................................................................... 38 7.4 コンフィグレーション ................................................................................................................ 39 7.5 ファイル一覧 ............................................................................................................................... 40 7.6 API リファレンス ........................................................................................................................ 41 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 2 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 7.6.1 R_httpd .................................................................................................................................. 41 7.6.2 R_httpd_pending_release_request ....................................................................................... 41 7.6.3 R_T4_HTTP_SERVER_GetVersion ..................................................................................... 41 7.7 ユーザ定義関数リファレンス (ファイル関連)....................................................................... 42 7.7.1 データ構造体......................................................................................................................... 42 7.7.2 change_dir ............................................................................................................................ 43 7.7.3 file_close ............................................................................................................................... 43 7.7.4 file_delete .............................................................................................................................. 44 7.7.5 file_open ................................................................................................................................ 44 7.7.6 file_read ................................................................................................................................ 45 7.7.7 file_rename ........................................................................................................................... 45 7.7.8 file_exist ................................................................................................................................ 46 7.7.9 file_write ................................................................................................................................ 46 7.7.10 get_file_info ........................................................................................................................... 47 7.7.11 get_file_list_info .................................................................................................................... 47 7.7.12 get_file_size .......................................................................................................................... 48 7.7.13 make_dir ............................................................................................................................... 48 7.7.14 remove_dir ............................................................................................................................ 49 7.8 ユーザ定義関数リファレンス(システムタイマ関連).............................................................. 49 7.8.1 データ構造体......................................................................................................................... 49 7.8.2 get_sys_time ......................................................................................................................... 50 7.9 サンプル CGI 関数 ...................................................................................................................... 51 7.9.1 cgi_sample_function ............................................................................................................. 51 Web カメラ仕様 ............................................................................................................. 52 8. 8.1 性能概要 ...................................................................................................................................... 52 8.2 動作概要 ...................................................................................................................................... 52 8.3 コンフィグレーション ................................................................................................................ 52 8.3.1 r_pdc_rx_config.h.................................................................................................................. 52 8.3.2 ov_image_sensor.h ............................................................................................................... 53 8.3.3 r_jpeg_enc_apl.h................................................................................................................... 53 8.3.4 r_pdc_apl.h ........................................................................................................................... 53 8.4 ファイル一覧 ............................................................................................................................... 53 8.5 API リファレンス ........................................................................................................................ 54 8.5.1 R_image_sensor_init ............................................................................................................ 54 8.5.2 R_image_sensor_write ......................................................................................................... 54 8.5.3 R_image_sensor_read .......................................................................................................... 54 8.5.4 R_jpeg_compress_init .......................................................................................................... 55 8.5.5 R_get_jpeg_output_adr ........................................................................................................ 55 8.5.6 R_get_jpeg_output_area_num ............................................................................................. 55 8.5.7 R_pdc_init ............................................................................................................................. 55 8.5.8 R_pdc_create ........................................................................................................................ 56 8.5.9 R_pdc_receive_again ........................................................................................................... 56 9. 画像処理仕様 .................................................................................................................. 57 9.1 性能概要 ...................................................................................................................................... 57 9.2 動作概要 ...................................................................................................................................... 57 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 3 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 9.3 コンフィグレーション ................................................................................................................ 57 9.4 ファイル一覧 ............................................................................................................................... 58 9.5 API リファレンス ........................................................................................................................ 58 9.5.1 Mdl_IP_Init ............................................................................................................................ 58 9.5.2 Mdl_IP_PersonDetection ...................................................................................................... 58 9.5.3 Mdl_IP_PersonDetection_ParamChg ................................................................................... 59 9.5.4 Mdl_IP_MovingDetection ...................................................................................................... 59 9.5.5 Mdl_IP_MovingDetection_ParamChg ................................................................................... 60 9.5.6 Mdl_IP_ImgRevise ................................................................................................................ 60 9.5.7 Mdl_IP_ImgRevise_ParamChg............................................................................................. 61 10. e2 studio 使用時の注意点 ................................................................................................ 62 10.1 フォルダ名について .................................................................................................................... 62 10.2 ソースコードのエディットについて........................................................................................... 62 11. 補足 ................................................................................................................................ 62 11.1 無償評価版の「RX ファミリ用 C/C++コンパイラパッケージ」を利用する場合の注意事項 .... 62 11.2 Web ブラウザ上でのキャプチャデータ更新遅延について ......................................................... 62 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 4 of 65 RX64M グループ 1. 1.1 カメラ活用センサソリューション RX Driver Package Application 概要 本アプリケーションノートについて 本資料は、カメラ活用ソリューションのアプリケーションノートです。 本アプリケーションノートは、GR-KAEDE 上で動作します。 1.2 動作環境 本アプリケーションノートの動作環境を以下に示します。 表 1.2.1 動作環境 対応MCU 評価ボード RX64Mグループ GR-KAEDE 統合開発環境 (IDE) e² studio V3.0.1.09以降 または、 CubeSuite+ V2.02.00以降 RXファミリ用C/C++コンパイラパッケージV2.02.00以降 E1(別途購入必要) Internet Explorer8 Internet Explorer11(互換表示設定で「192.168.0.3」を追加してください) クロスツール エミュレータ Webブラウザ 図 1.2.1 動作環境の例 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 5 of 65 RX64M グループ 1.3 カメラ活用センサソリューション RX Driver Package Application モジュール構成 本アプリケーションノートのモジュール構成とモジュール一覧を以下に示します。 図 1.3.1 モジュール構成 表 1.3.1 モジュール一覧 FITモジュール名 r_bsp バージョン 2.60 コンペアマッチタイマ(CMT) イーサネットコントローラ(ETHERC) DMA コントローラ(DMAC) r_cmt_rx r_ether_rx r_dmaca_rx 2.30 1.00 1.01 SCI IIC Driver SCI 簡易 IIC ドライバ r_sci_iic_rx 1.30 Device Driver PDC Driver パラレルデータキャプチャ(PDC) r_pdc_rx 1.00 Middleware Ether Driver Interface r_t4_driver_rx64m 1.00 Middleware M3S-T4-Tiny r_t4_rx 2.00 Middleware Application Application M3S-TFAT_Tiny HTTP Server M3S-T4-Tiny インタフェース変換モ ジュール TCP/IPプロトコルスタックライブラリ (M3S-T4-Tiny) FATファイルシステム(M3S-TFAT-Tiny) HTTPサーバ Webサーバシステムメインプログラム r_tfat_rx r_t4_http_server_rx r_httpd_main_rx64m 3.00 1.03 1.00 種類 Board Support Package Device Driver Device Driver Device Driver 図1.3.1上表記 BSP Modlue モジュール名 CMT Driver Ethernet Driver DMACA Driver Device Driver ボードサポートパッケージ(BSPモ ジュール) ※ 各 FIT モジールの詳細は、各 FIT モジュールの「doc」フォルダ内のドキュメントをご覧ください。。 (FIT モジュールは、提供プロジェクト内に同名フォルダで存在しています) R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 6 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 表 1.3.2 FIT 対象外モジュール一覧(renesas_sw_library フォルダ内) 種類 図 1.3.1 上表記 モジュール名 フォルダ名 バージョン 備考 Middleware Image processer 人物検知などの画 像処理ソフト image_proc 1.00 ここはヘッダのみで す。 実体はモトローラファ イルで提供されます。 Middleware JPEG encoder JPEG エンコーダ ipeg_encoder_rx 1.00 Web ブラウザで表示す る為に、画像データを JPEG へエンコードし ます。 Device Driver MMC driver MMC ドライバ mmc_driver --- 画像を GR-KAEDE 搭 載の microSD カードへ 書き込みます。「5.LED 仕様」参照。 ※JEPG エンコーダ、MMC ドライバは、ルネサス HP より資料入手可能です。 ※画像処理ソフトに関しては、別途提供モトローラファイル付属のドキュメントをご覧ください。 ※Web Camera System Main Program 部分は、「6. メインプログラム仕様」をご覧ください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 7 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 【補足】 FIT とは、Firmware Integration Technology の略でとは、各周辺機能モジュールドライバの組み込みの容易化、 及び RX マイコン間の移植性向上を重点とし、RX ファミリを使用したソフトウェア開発者のプログラム開発、 ソフトウェア資産管理の負担を軽減することを目的とした、まったく新しい概念です。 http://japan.renesas.com/products/mpumcu/rx/child/fit.jsp 2 e studio には FIT モジュールのプラグイン機能があり、簡単にプロジェクトに反映できます。 例えば、コンペアタイマ機能を使いたい場合は、「r_cmt_rx」を e2 studio のプラグイン機能で読み込み、指 定の API を使って設定するだけで、コンペアタイマ機能が使用できます。 提供しているプロジェクトは、必要とする FIT モジュールを組み込んだ状態で提供しています。 新たにインポートする必要はありません。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 8 of 65 RX64M グループ 2. カメラ活用センサソリューション RX Driver Package Application 開発環境の入手 開発環境としては、e² studio と CubeSuite+に対応してあります。通常は、FIT モジュールのインポートのし やすさから e2 studio を推奨していますが、今回は、各 FIT モジュールを組み込んだ形でのプロジェクト一式 を提供していますので、お好きな方でお試しください。各章では、両評価環境での手順を載せています。 e² studio を使用する場合 2.1 2.1.1 e² studio の入手とインストール方法 e² studio は、ルネサスのホームページからダウンロードできます。 1. 以下の URL にアクセスし、e² studio のダウンロードページを表示します。 http://japan.renesas.com/e2studio_download 2. 表示された項目の中から、「統合開発環境 e² studio 3.0.0.22 インストーラ」をクリックします。(分割ダ ウンロード版と一括ダウンロード版がありますが、内容の違いはありません。) その後表示されたページの指示に従い、e² studio のインストーラをダウンロードします。 いずれかのリンクを クリックします 3. ダウンロードした e² studio のインストーラを実行し、e² studio を PC にインストールします。 インストール方法は「e² studio 統合開発環境 ユーザーズマニュアル入門ガイド」を参照してください。 http://documentation.renesas.com/doc/products/tool/doc/r20ut2858jj0100_e2_start_s.pdf 4. 「e² studio 3.0.1.09 差分アップ―デート」をクリックします。(その時点で最新のを選択してください。) その後表示されたページの指示に従い、e² studio のインストーラをダウンロードします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 9 of 65 RX64M グループ 2.1.2 カメラ活用センサソリューション RX Driver Package Application コンパイラパッケージの入手方法 本ファームウェアをビルドするには、RX ファミリ用 C/C++コンパイラパッケージ V2.02.00 以降が必要で す。持っていない場合は、無償評価版の「RX ファミリ用 C/C++コンパイラパッケージ(統合開発環境なし)」 をインストールします。 1. 以下の URL にアクセスし、e² studio のダウンロードページを表示します。 http://japan.renesas.com/e2studio_download 2. 示された項目の中から、「【無償評価版】RX ファミリ用 C/C++コンパイラパッケージ V2(統合開発環 境なし)V2.02.00」をクリックします。 その後表示されたページの指示に従い、コンパイラのインストーラをダウンロードします。 リンクをクリックします 3. ダウンロードしたコンパイラのインストーラを実行し、コンパイラを PC にインストールします。 2.1.3 3.0.1.09 へのアップデート PC にインストールした e² studio を、最新版(現時点では Ver.3.0.1.09)にアップデートします。 1. 以下の URL にアクセスし、e² studio のダウンロードページを表示します。 http://japan.renesas.com/e2studio_download 2. 表示されたページの右側にあるバージョン情報のリンクをクリックします。 リンクをクリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 10 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 3. 表示された項目の中から、「Eclipse ベース 統合開発環境 e2 studio V3.0.1.09 へのリビジョンアップのお知 らせ」をクリックします。 その後表示されたページの指示に従い、e² studio のアップデートを実施してください。 リンクをクリックします V.3.0.01.09 より最新版がリリースされていましたら、そちらをご使用ください。 2.2 2.2.1 CubeSuite+を使用する場合 CubeSuite+の入手とインストール方法 CubeSuite+は、ルネサスのホームページからダウンロードできます。 1. 以下の URL にアクセスし、CubeSuite+のダウンロードページを表示します。 http://japan.renesas.com/cubesuite+_download R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 11 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 2. 表示された項目の中から、「【無償評価版】統合開発環境 CubeSuite+ V2.02.00」をクリックします。 (分割ダウンロード版と一括ダウンロード版がありますが、内容の違いはありません。) その後表示されたページの指示に従い、CubeSuite+のインストーラをダウンロードします。 リンクをクリック します 3. ダウンロードした CubeSuite+のインストーラを実行し、CubeSuite+ を PC にインストールします。 インストール方法は「CubeSuite+ V2.02.00 統合開発環境 ユーザーズマニュアル 起動編」を参照してくだ さい。 http://documentation.renesas.com/doc/products/tool/doc/r20ut2865jj0100_qsst.pdf R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 12 of 65 RX64M グループ 3. カメラ活用センサソリューション RX Driver Package Application 評価環境にプロジェクトを読み込む 共通作業 3.1 1. 提供したプロジェクト(rx64m_gr_kaede_Hi_Solution)を任意の場所に置きます。 2. 画像処理用ソフトを用意。 別途提供される ImgProcessingLib.mot を「rx64m_gr_kaede_Hi_Solution」フォルダ直下に置きます。 3.2 3.2.1 e² studio を使用する場合 ワークスペースの作成 1. e² studio を起動します。 2. 表示されたダイアログに、任意のワークスペースフォルダを入力し、「OK」をクリックします。 ワークスペースフォルダ を入力します 「OK」をクリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 13 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 3. 以下の画面が表示されたら、「Workbench」をクリックします。 「Workbench」を クリックします 3.2.2 プロジェクトのインポート 「rx64m_gr_kaede_Hi_Solution」プロジェクトを、作成したワークスペースにインポートします。 1. e² studio の「ファイル」メニューの「インポート」をクリックします。 クリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 14 of 65 RX64M グループ 2. カメラ活用センサソリューション RX Driver Package Application 「一般」から「既存プロジェクトをワークスペースへ」を選択し、「次へ」をクリックします。 「既存プロジェクトを ワークスペースへ」を 選択して「次へ」をク リックします 3. 「参照」をクリックします。 クリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 15 of 65 RX64M グループ 4. カメラ活用センサソリューション RX Driver Package Application 「rx64m_gr_kaede_Hi_Solution」を選択し、「OK」をクリックします。 プロジェクトフォルダを選 択してクリックします 5. 「プロジェクトをワークスペースにコピー」にチェックを入れ、「完了」をクリックします。 チェックを入れ、 クリックします ※「プロジェクトをワークスペースにコピー」へのチェックは必須ではありません。チェックしない場合は、 「ルート・ディレクトリーの選択」で指定されたフォルダがビルド対象になります。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 16 of 65 RX64M グループ 3.3 カメラ活用センサソリューション RX Driver Package Application CubeSuite+を使用する場合 1. 「rx64m_gr_kaede_Hi_Solution」フォルダ直下にある「rx64m_gr_kaede_Hi_Solution.mtpj」をダブルクリッ クして、CubeSuite+を起動します。 2. 「OK」をクリックします。 クリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 17 of 65 RX64M グループ 4. カメラ活用センサソリューション RX Driver Package Application 動作確認 プロジェクトのビルド 4.1 4.1.1 e² studio を使用する場合 以下の手順に従い、プロジェクトをビルドしてロードモジュールを生成します。 1. 「プロジェクト・エクスプローラ」からビルドするプロジェクトをクリックします。 クリックします 2. 「プロジェクト」メニューの「すべてをビルド」をクリックします。 クリックします 3. 「コンソールパネル」に「'Build complete.'」と表示されたらビルド完了です。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 18 of 65 RX64M グループ 4.1.2 カメラ活用センサソリューション RX Driver Package Application CubeSuite+を使用する場合 1. 「ビルド」メニューの「ビルド・プロジェクト」をクリックします。 4.2 デバッグの準備 ここでは、用意が必要な機器、PC 側のネットワーク設定について説明します。 4.2.1 機器の構成 デバッグを開始する前に、評価ボードを準備します。 必要な機器の一覧と構成を以下に示します。 表 5.2.1.1 機器構成 No. 1 2 3 4 機器 開発 PC GR-KAEDE クライアント PC(Web ブラウザ) クライアント PC と GR-KAEDE(Web サーバ)を 接続するためのネットワーク環境として以下のいず れか 1. スイッチング・ハブを使用する場合 a. スイッチング・ハブ b. LAN ケーブル(ストレート) 2 本 2. クロスケーブルを使用する場合 a. LAN ケーブル(クロス) 1 本 R01AN2462JJxxxx 2014.11.10 Rev.x.xx 補足 開発を行う PC です。 開発 PC で代用可能です。 Page 19 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application スイッチング・ハブ構成 クロスケーブル構成 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 20 of 65 RX64M グループ 4.2.2 カメラ活用センサソリューション RX Driver Package Application クライアント PC の設定 クライアント PC のネットワークを設定します。 1.クライアント PC の「コントロールパネル」を開き、「ネットワークとインターネット」をクリックしま す。 クリックします 2.「ネットワークと共有センター」をクリックします。 クリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 21 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 3. 「アダプターの設定の変更」をクリックします。 クリックします 4. 「ローカル エリア接続」を右クリックして、プロパティをクリックします。 クリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 22 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 5. 「インターネットプロトコルバージョン 4 (TCP/IPv4)」を選択して「プロパティ」をクリックします。 クリックします 6. IP アドレス等の設定情報が表示されます。以下のように設定し「OK」をクリックします。 クリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 23 of 65 RX64M グループ 4.3 カメラ活用センサソリューション RX Driver Package Application プロジェクトのデバッグ 以下の手順に従い、プロジェクトのデバッグを開始します。 4.3.1 e2 studio を使用する場合 1. 開発 PC と E1 エミュレータを USB ケーブルで接続します。 2. GR-KAEDE にアダプタを接続し、電源を入れます。 3. e² studio の「実行」メニューの「デバッグ構成」をクリックします。 クリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 24 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 4. 「Renesas GDB Hardware Debugging」の「rx64m_gr_kaede HardwareDebug」をクリックし、「デバッグ」 をクリックします。 クリックします 以下のメッセージが表示されたら、「はい」をクリックします。 クリックします R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 25 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application ロードモジュールのダウンロードが完了すると、「デバッグ」パースペクティブが開きます。 5. ツールバーの「再開」をクリックします。プログラムが実行され、main 関数の先頭でブレークします。 クリックします main 関数の先頭でブレークした後に、もう一度ツールバーの「再開」をクリックします。 ※Main 関数先頭でのブレークは、e2 studio のデバック構成で解除可能です。 続けて、「4.3.3 共通操作」に進んでください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 26 of 65 RX64M グループ 4.3.2 カメラ活用センサソリューション RX Driver Package Application CubeSuite+を使用する場合 1. 開発 PC と E1 エミュレータを USB ケーブルで接続します。 2. GR-KAEDE にアダプタを接続し、電源を入れます。 3. CubeSuite+の「デバッグ」メニューの「デバッグ・ツールへダウンロード」をクリックします。 クリックします ロードモジュールのダウンロードが完了すると、main 関数の先頭でブレークします。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 27 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application ツールバーの「実行」をクリックします。 クリックします 続けて、「4.3.3 共通操作」に進んでください。 4.3.3 1. 共通操作 クライアント PC で Web ブラウザを起動し、以下のアドレスを入力します。 Web サーバアドレス:http://192.168.0.3 【注】Web サーバアドレスは、コンフィギュレーションで変更可能です。 ( rx64m_gr_kaede _Hi_Solution/r_t4_rx/src/config_tcpudp.c ) 2. Web ブラウザ上に、ファイルの一覧が表示されます。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 28 of 65 RX64M グループ 3-1. カメラ活用センサソリューション RX Driver Package Application 2.の画面で「demo_top.htm」をクリックすると以下のような画面が表示されます。 [デモトップ画面:画像更新はしない] 上記各番号の上に置かれたビットマップをクリックすると 下記動作をします。 1. 当画面をリロード。 2. キャプチャ画面(ノーマル)へ遷移。 3. キャプチャ画面(人物検知)へ遷移。 4. キャプチャ画面(動体検知)へ遷移。 5. キャプチャ画面(歪み補正調整画面)へ遷移。 6. 当画面へ遷移(リロード相当)。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 29 of 65 RX64M グループ 3-2. カメラ活用センサソリューション RX Driver Package Application 2.の画面で「demo_ru1.htm」をクリックすると以下のような画面が表示されます。 [キャプチャ画面(ノーマル):一定周期でキャプチャデータを更新します] 上記各番号の上に置かれたビットマップをクリックすると 下記動作をします。 1. デモトップ画面へ遷移。 2. 当画面をリロード。 3. キャプチャ画面(人物検知)へ遷移。 4. キャプチャ画面(動体検知)へ遷移。 5. キャプチャ画面(歪み補正調整画面)へ遷移。 6. ノーマルモードを維持したままキャプチャ更新停止。 この画面では 2 つ機能のパラメータ変更が可能です。 上段は、現在値(設定後の結果)を表します。 ・JPEG QUALITY : JPEG エンコード時の品質 1(最低画質)〜 128(最高画質) ・IMAG SENSOR Read DT: カメラモジュール内のイメージセ ンサのレジスタ値を表示します。下段で書き込んだレジス タに対するリード結果を表示します。(一部 Write only のレ ジスタもあります) 下段では、各パラメータを更新できます。 空白欄に値を記載後、”SET”ボタンをクリックしてください。 (一旦ページが切り替わるのは、HTTP サーバ FIT モジュール の仕様です。) IMAGE SENSOR のレジスタ情報については、本アプリケー ションノートでは公開していません。使用される場合は、使 用者の責任でご使用ください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 30 of 65 RX64M グループ 3-3. カメラ活用センサソリューション RX Driver Package Application 2.の画面で「demo_ru2.htm」をクリックすると以下のような画面が表示されます。 [キャプチャ画面(人物検知):検出部分が赤枠で表示されます] 上記各番号の上に置かれたビットマップをクリックすると 下記動作をします。 1. デモトップ画面へ遷移。 2. キャプチャ画面(ノーマル)へ遷移。 3. 当画面をリロード。 4. キャプチャ画面(動体検知)へ遷移。 5. キャプチャ画面(歪み補正調整画面)へ遷移。 6. 人物検知モードを維持したままキャプチャ更新停止。 この画面では、動体検知結果の表示と 2 つ機能のパラメータ変 更が可能です。 上段は、検知結果とパラメータの現在値(設定後の結果)を表し ます。 ・Moving result : 動体検知結果です。1 画面を 9 エリアに 分割し、各エリアでの検出結果を表示します。エリアをまた ぐ場合はいずれか 1 エリアのみにカウントされます。 キャプチャデータに対する各エリアの割り当ては WEB ブラ ウザ右上部”division area name”の通りです。 ・THRESHOLD :動体を検出する際の判別しきい値です。 ・sensitivity :動体を検出する際、画像差分(1 枚目と 2 枚 目、2 枚目と 3 枚目)で明るさの変化があったかを判別する しきい値です。 下段では、THRESHOLD と SENSITIVITY 設定値を変更できます。 空白欄に値を記載後、”SET”ボタンをクリックしてください。 (一旦ページが切り替わるのは、HTTP サーバ FIT モジュールの 仕様です。) ・THRESHOLD :動体の検出が行われにくい場合は設定 値を小さくし、過検出する場合は設定値を大きくしてくだ さい。 ・sensitivity :し明るさの変化が小さい箇所を検出したい場 合は設定値を小さくし、検出しなくする場合は設定値を大き くてください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 31 of 65 RX64M グループ 3-4. カメラ活用センサソリューション RX Driver Package Application 2.の画面で「demo_ru3.htm」をクリックすると以下のような画面が表示されます。 [キャプチャ画面(動体検知):変化を検知した部分が赤く表示されます。] 上記各番号の上に置かれたビットマップをクリックすると 下記動作をします。 1. デモトップ画面へ遷移。 2. キャプチャ画面(ノーマル)へ遷移。 3. キャプチャ画面(人物検知)へ遷移。 4. 当画面をリロード。 5. キャプチャ画面(歪み補正調整画面)へ遷移。 6. 動体検知モードを維持したままキャプチャ更新停止。 この画面では、動体検知結果の表示と 2 つ機能のパラメータ変更が可 能です。 上段は、検知結果とパラメータの現在値(設定後の結果)を表します。 ・Moving result : 動体検知結果です。1 画面を 9 エリアに分割し、 各エリアでの検出結果を表示します。エリアをまたぐ場合はいずれ か 1 エリアのみにカウントされます。 キャプチャデータに対する各エリアの割り当ては WEB ブラウザ右上 部”division area name”の通りです。 ・THRESHOLD :動体を検出する際の判別しきい値です。 ・sensitivity :動体を検出する際、画像差分(1枚目と2枚目、2枚 目と3枚目)で明るさの変化があったかを判別するしきい値です。 下段では、THRESHOLD と SENSITIVITY 設定値を変更できます。空白欄 に値を記載後、”SET”ボタンをクリックしてください。(一旦ページ が切り替わるのは、HTTP サーバ FIT モジュールの仕様です。) ・THRESHOLD :動体の検出が行われにくい場合は設定 値を小さくし、過検出する場合は設定値を大きくしてください。 ・sensitivity :し明るさの変化が小さい箇所を検出したい場合 は設定値を小さくし、検出しなくする場合は設定値を大きくてくだ さい。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 32 of 65 RX64M グループ 3-5. カメラ活用センサソリューション RX Driver Package Application 2.の画面で「demo_ru4.htm」をクリックすると以下のような画面が表示されます。 [キャプチャ画面(歪み補正調整画面):歪み補正の設定を変更できます。] 上記各番号の上に置かれたビットマップをクリックすると 下記動作をします。 1. デモトップ画面へ遷移。 2. キャプチャ画面(ノーマル)へ遷移。 3. キャプチャ画面(人物検知)へ遷移。 4. キャプチャ画面(動体検知)へ遷移。 5. 当画面をリロード。 6. 歪み補正調整モードを維持したままキャプチャ更新停止。 この画面では、動体検知結果の表示と 2 つ機能のパラメータ 変更が可能です。 上段は、検知結果とパラメータの現在値(設定後の結果)を表 します。 ・function : 歪み補正機能状態を表示します。 ・H-correction :歪み補正を行う際の基準点X座標を画像中 心位置からのオフセットで設定します。(水平方向への補 正) ・V-correction :歪み補正を行う際の基準点Y座標を画像中 心位置からのオフセットで設定します。(垂直方向への補 正) 下段では、設定値を変更できます。空白欄に値を記載後、” SET”ボタンをクリックしてください。(一旦ページが切り替 わるのは、HTTP サーバ FIT モジュールの仕様です。) ・function : 歪み補正を有効にする場合は、1 を設定してく ださい。 ・H-correction : 画像中心からのオフセット値を設定しま す。左方向は負値、右方向は正値 ・V-correction : 画像中心からのオフセット値を設定しま す。上方向は負値、下方向は正値 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 33 of 65 RX64M グループ 5. カメラ活用センサソリューション RX Driver Package Application LED 仕様 各 LED の番号割り当ては上記の通りです。 GR-KAEDE ボードには、4 個のチップ LED が搭載さ れています。 ※画像は、メインボードのみの状態です。実使用時 は、上部にカメラモジュールとメインボード接続用 の変換ボードが付きますので、点灯確認は側面から のご確認ください。 LED1 : 各初期設定終了後に点灯 LED2 : キャプタデータの microSD 保存モード時に 点灯します。(※1) LED3 : microSD カード挿入確定時に点灯 (メインボードの裏面に挿入口があり ます。) LED4 : 未使用。 ※1 本ソフトでは、画像処理、JPEG エンコードなど 複数処理段階があります。どの段階のデータを保存 するかはコンパイルオプションで切り替えられま す。 デフォルトは、JPEG エンコード後のデータ(WEB ブ ラウザに表示されるデータと同等)になります。 【補足】キャプタデータの microSD(2G 以下)保存モード 上部画像の○枠が”USER” Switch です。 ここを 3 秒押下することで、キャプチャデータの microSD 保存モードに入ります。 モードを抜ける場合もボタン押下になります。 ※反対側にも似たような Switch がありますが、Reset ボタンになりますのでご注意ください。 ※本ソフトでは、画像処理、JPEG エンコードなど複数処理段階があります。どの段階のデータを保 存するかはコンパイルオプションで切り替えられます。デフォルト設定では、JPEG エンコード後の データ(WEB ブラウザに表示されるデータと同等)が保存されます。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 34 of 65 RX64M グループ 6. 6.1 カメラ活用センサソリューション RX Driver Package Application メインプログラム仕様 ファイル一覧 メインプログラムのファイル一覧を以下に示します。 表 9.1.1 メインプログラムファイル一覧 フォ ルダ 名 src ファイル名 内容 main.c img_proc.c メインソースファイル 画像処理ライブラリコントロール用ソースファイル led.h ov_image_sensor.h ov7740.c このファイル内のAPIを通して、画像処理ソフトの初期設定や、人物検知 用APIなどを呼び出します。 画像処理ライブラリコントロール用ヘッダファイル LED初期化処理ソースファイル (未使用) LED初期化処理ヘッダファイル 「8.4 ファイル一覧」参照 「8.4 ファイル一覧」参照 ov7740config.h r_dmac_apl.c このファイル内のAPIを通して、カメラモジュールの制御(IICバス経由) を行います。 「8.4 ファイル一覧」参照 DMAドライバコントロール用ソースファイル r_dmac_apl.h r_file_driver.c このファイル内のAPIを通して、FITモジュール「r_dmaca_rx」内のAPI を呼び出します。また、DMA転送終了割り込み時のコールバックAPIも 入っています。 DMAドライバコントロール用ヘッダファイル Webサーバ用ファイルシステムインタエースソースファイル img_proc.h led.c r_http_server_cgi_sample.c このファイルを通して、Webブラウザで表示されるグラフィックデータ などを呼び出します。 Webサーバ用ファイルシステムインタエースヘッダファイル 機能選択コンパイルオプション用ヘッダファイル (評価用) CGIサンプルソースファイル r_jpeg_enc_apl.c このファイル内のAPIは、WEBブラウザ上でパラメータ設定変更を行っ たときに呼ばれます。 「8.4 ファイル一覧」参照 r_jpeg_enc_apl.h r_mmc_apl.c このファイル内のAPIを通して、JPEGエンコーダ「ipeg_encoder_rx」内の APIを呼び出します。 また、エンコード終了をしらせるコールバックAPI も本ファイル内にあります。 「8.4 ファイル一覧」参照 MMCドライバコントロール用ソースファイル r_mmc_apl.h r_pdc_apl.c このファイル内のAPIを通して、FITモジュール「r_tfat_rx」内のAPIを呼 び出します MMCドライバコントロール用ヘッダファイル 「8.4 ファイル一覧」参照 r_file_driver.h r_func_option.h R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 35 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application このファイル内のAPIを通して、FITモジュール「r_pdc_rx」内のAPIを呼 び出します。カメラモジュールから画像取り込む為の設定や1フレーム取 り込み完了割り込み発生時のコールバックAPIも入っています。 「8.4 ファイル一覧」参照 簡易IICドライバコントロール用ソースファイル r_pdc_apl.h r_sci_iic_apl.c このファイル内のAPIを通して、FITモジュール「r_sci_iic_rx」内のAPI を呼び出します。 簡易IICドライバコントロール用ヘッダファイル Webサーバ用システムタイマソースファイル (未使用) Webサーバ用システムタイマヘッダファイル 「表10.1 ユーザ定義関数一覧」参照 r_sci_iic_apl.h r_sys_time.c r_sys_time.h r_tfat_drv_if.c M3S_TFAT_TinyとMMC driverの間に入るインタフェースAPI群です。 sdram.c sdram.h 外付けSDRAM用設定ソースファイル 外付けSDRAM用設定ヘッダファイル モジュール一覧 6.2 メインプログラムのモジュール一覧を以下に示します。 表 9.2.1 メインプログラムモジュール一覧 ファイル名 main.c モジュー ル名 main r_file_driver.c - メインプログラムのメイン処理。 各FITモジュールの初期化処理を呼び出し、WebサーバとEthernetドラ イバのメイン処理を駆動する(無限ループによる周期起動)。 「7.7ユーザ定義関数リファレンス(ファイル関連)」参照 r_http_server_cgi_sample.c - クライアントPCからの要求を受けて呼ばれます。 「7.9サンプルCGI関数」参照 r_sys_time.c - 内容 クライアントPCからの要求を受けて呼ばれます。 「7.8ユーザ定義関数リファレンス(システムタイマ関連)」参照 (未使用) ※ 上記の他、主な割り込みとしては、 ・カメラモジュールからの 1 フレーム取り込み完了割り込み(コールバック r_pdc_apl.c/pdc_frame_end( ) ) ・イーサネット用のコンペアタイマ割り込み(10msec) (コールバック t4_driver.c /timer_interrupt()) があります。表 9.2.1 と上記 2 割り込みを抑えておけば全体把握しやすいと思います。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 36 of 65 RX64M グループ 6.3 カメラ活用センサソリューション RX Driver Package Application 処理フロー メインプログラムの各モジュールの処理フローを以下に示します。 1. main() ボードサポートパッケージ(BSP モジュール)のスタートアップルーチンから最初に呼ばれるメイン関数 です。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 37 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 7. Web サーバ仕様 7.1 性能概要 本 Web サーバは、簡易的な Web サーバを HTTP/1.0 の仕様に基づき実現しています。本 Web サーバは、ユー ザが組み込み製品向けに独自の Web サーバプログラムを M3S-T4-Tiny (以下 T4 と称す)上で開発する際のベー スとなることを目的としています。本 Web サーバは、SYN-FLOOD 攻撃等のアタックに対する対策等が盛り 込まれておらず、またセキュリティ機能を搭載していないため、インターネットに接続して www ポート(80 番)を待ち受けてサーバ動作させるような用途には適しません。サンプルプログラムは事務所/工場内ネット ワーク等の悪意のあるアタッカーが存在しないローカルのネットワークにおいて限定して使用することを想 定しています。また扱えるファイル名はショートファイル名に限られます。 また、本 Web サーバは、ファイル I/O を除くと特別なメモリを必要とせずマイコン内蔵メモリのみで動作 します。処理性能は RAM 容量に左右されますが、これを柔軟に設定出来るようにプログラム上で定義して います。本 Web サーバでは、RX64M の ROM/RAM 容量に合わせ適切なメモリ設定を行っています。 本 Web サーバの性能は以下の通りです。 表 6.1.1 Web サーバ性能 項目 性能 ROM size 約 6.6 Kbyte RAM size 約 36 Kbyte (約 5 Kbyte × 同時接続クライアント数+ α) 同時接続数 5 クライアント (設定可能) CGI 機能 Web ブラウザからマイコンをリモートコントロール出来る機能。 7.2 動作概要 本 Web サーバは、インターネットで広く使われている一般的な Web サーバ(Apache 等)と比べ、実装機能を 最小限にとどめています。また組み込み用途で使いやすいようにノンブロッキングコールを用いて実装され ており、アプリケーション側は定期的に R_httpd() 関数を呼び出すのみで Web サーバの処理が可能です。 R_httpd() 関数では通信に使用する全通信端点(一般的にはソケットと呼ばれます)を監視し、切断状態になっ ていたら接続待ちに遷移させます。通信処理は T4 の API、_process_tcpip()で実行されていて、本 Web サーバ ではこの API をタイマ割り込みと Ethernet 割り込みの中で呼び出しています。_process_tcpip()は処理完了通知 のためコールバック関数を呼び出します。HTTP のデータ解析処理、データ生成処理はこのコールバックルー チンの中にあります。_process_tcpip()の起動を含むこれらの割り込み処理は送受信ドライバの性能やコール バックルーチンの実装次第で処理時間が大幅に変動するため、必要に応じてこれら割り込み処理の優先度を 下げたり、割り込み禁止にしたりしてアプリケーションの動作を優先させても構いません。 また、コンフィグファイル(r_t4_http_server_rx_config.h)のマクロ定義を変更することで Web サーバの挙動 をカスタマイズすることができます。 7.3 CGI 機能 本 Web サーバは簡易的な CGI(Common Gateway Interface)機能を持っています。CGI とは Web ブラウザから の要求に従い、Web サーバ上でユーザプログラムを実行する仕掛けです。本 Web サーバでは CGI ファイル として予め設定された URL が要求されると、対応する内部関数を呼び出します。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 38 of 65 RX64M グループ 7.4 カメラ活用センサソリューション RX Driver Package Application コンフィグレーション コンフィグファイル(r_t4_http_server_rx_config.h)のマクロ定義を変更することで Web サーバの挙動をカス タマイズすることができます。 • Server ヘッダフィールド:HTTPD_VERSION_CODE Web ブラウザとの通信時に、Web ブラウザに送信する Server ヘッダフィールドに格納するデータを指定 することが出来ます。 • ルートディレクトリ:ROOT_DIR 外部メモリ上のどのディレクトリをルートディレクトリにするかを指定することが出来ます。 例: #define ROOT_DIR “” #define ROOT_DIR “user” #define ROOT_DIR “user/root_dir” • インデックスページの表示/非表示:INDEXES Web ブラウザからディレクトリ指定された場合の挙動を指定することが出来ます。 1 を指定した場合、ディレクトリの内容をレスポンスします。 0 を指定した場合、DEFAULT_FILE_NAME で指定されているファイルをレスポンスします。 • インデックスページ非表示の場合にレスポンスするファイル:DEFAULT_FILE_NAME INDEXES に 0 を指定した場合にレスポンスするファイルです。 このファイルが見つからない場合は 404 Not Found レスポンスを返します。 • 対応する Content-Type の数:MAX_EXTENSION 外部メモリに格納するファイルの拡張子リストの定義数です。 • 対応する Content-Type:EXTENSION_TYPE_TABLE_LIST 外部メモリに格納するファイルの拡張子リストです。 ここに定義していない拡張子のファイルを転送する場合、リストの先頭に定義されている拡張子の設 定でファイルをレスポンスします。 • 登録された CGI ファイルの個数:MAX_CGI_FILE • CGI ファイル名と対応する内部関数のテーブル:CGI_FILE_NAME_TABLE_LIST • インデックスページの生成に用いられる改行コード:LF_CODE • 同時に受け付け可能な最大クライアント数:TCP_CEP_NUM T4 の config_tcpudp.c で定義されている通信端点の個数と合わせてください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 39 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application • インデックスページに表示可能な最大ファイル数:MAX_FILE_LIST BODY_BUF_SIZE を超えないように設定してください。 • 受信バッファサイズ:RCV_BUF_SIZE • ヘッダフィールド用の送信バッファサイズ:HDR_BUF_SIZE • ボディフィールド用の送信バッファサイズ:BODY_BUF_SIZE 7.5 ファイル一覧 Web サーバのファイル一覧を以下に示します。 表 6.5.1 Web サーバファイル一覧 フォルダ名 ファイル名 内容 r_t4_http_server_rx/src r_http_server.c Web サーバソースファイル r_http_server_config.c Web サーバコンフィギュレーションソー スファイル r_http_server_config.h Web サーバコンフィギュレーションヘッ ダファイル R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 40 of 65 RX64M グループ 7.6 7.6.1 カメラ活用センサソリューション RX Driver Package Application API リファレンス R_httpd Description アプリケーションは本関数を定期的に呼び出します。R_httpd()は、HTTPの通信に必要な通信端点を 管理します。本関数は通信端点の管理のみを行い、通信自体はT4が割り込み駆動により自動的に行 います。 Usage #include “r_t4_http_server_rx_if.h” void R_httpd (void); Parameters 無し Return Value 無し Remark 無し 7.6.2 R_httpd_pending_release_request Description アプリケーションはCGI応答保留を解除する時に本関数を呼び出します。 使用方法は、6.9.1cgi_sample_functionを参照してください。 Usage #include “r_t4_http_server_rx_if.h” void R_httpd_pending_release_request(ID cepid); Parameters cepid 入力 Return Value 通信端点ID 無し Remark 無し 7.6.3 R_T4_HTTP_SERVER_GetVersion Description 本関数は、現在インストールされているモジュールのバージョンを返します。バージョン番号はコー ド化されています。最初の2 バイトがメジャーバージョン番号で、後の2 バイトがマイナーバージョ ン番号です。例えば、バージョンが4.25 の場合、戻り値は‘0x00040019’ となります。 Usage #include “r_t4_http_server_rx_if.h” uint32_t R_T4_HTTP_SERVER_GetVersion(void); Parameters 無し Return Value Webサーバのバージョン Remark 無し R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 41 of 65 RX64M グループ 7.7 カメラ活用センサソリューション RX Driver Package Application ユーザ定義関数リファレンス (ファイル関連) 本 Web サーバは本関数群を呼び出します。ユーザはファイルシステムに応じて適切に本関数の処理内容を 定義します。また、Web サーバは本データ構造体を使用し、外部メモリの情報を取得することが出来ます。 本 Web サーバでは TFAT を用いた例を定義しています。 表 6.7.1 ファイル関連ユーザ定義関数一覧 関数名 機能概要 関数名 機能概要 change_dir() 作業ディレクトリの変更 file_write() ファイルの書き込み file_close() ファイルのクローズ get_file_info() ファイル情報の取得 file_delete() ファイルの削除 get_file_list_info() ファイルリストの取得 file_open() ファイルのオープン get_file_size() ファイルサイズの取得 file_read() ファイルの読み込み make_dir() ディレクトリの作成 file_rename() ファイル名の変更 remove_dir() ディレクトリの削除 file_exist() ファイルの有無を確認 【注】上記関数群のうち本 Web サーバで使用しない関数はグレーアウト表記にしています。 7.7.1 データ構造体 【日付情報構造体】 typedef struct date_info_ { uint16_t year; // 2011, 2012, … uint8_t month[4]; // Jan, Feb, Mar, … uint8_t day; // 1-31 uint8_t day_of_the_week[4]; // Sun, Mon, Tus, … uint16_t hour; // 0-23 uint16_t min; // 0-59 uint16_t sec; // 0-59 }DATE_INFO; 【ファイルリスト構造体】 typedef struct file_list_ { uint8_t file_name[13]; uint32_t file_size; uint32_t file_attr; DATE_INFO date_info; }FILE_LIST; R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 42 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 【マクロ定義】 #define FILE_WRITE (0x10) #define FILE_READ (0x01) #define FILE_ATTR_RDO 0x01 /* Read only */ #define FILE_ATTR_HID 0x02 /* Hidden */ #define FILE_ATTR_SYS 0x04 /* System */ #define FILE_ATTR_VOL 0x08 /* Volume label */ #define FILE_ATTR_DIR 0x10 /* Directory */ #define FILE_ATTR_ARC 0x20 /* Archive */ 7.7.2 change_dir Description 本関数は引数で指定されたディレクトリパスを作業ディレクトリに設定します。ディレクトリパスは フルパスで指定します。作業ディレクトリの情報は、通信端点毎に管理されます。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t change_dir(uint8_t *dir_path); Parameters dir_path 入力 指定されたディレクトリパスの格納先 Return Value -1 0 Remark ディレクトリが存在しない ディレクトリが存在する dir_path の終端には’/’が付く場合と付かない場合があります。使用するファイルシステムにあわせて’/’ の有無を調整してください。 7.7.3 file_close Description 本関数は引数で指定された ID 値に対応するファイルをクローズし、管理情報を破棄します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t file_close(int32_t file_id); Parameters file_id 入力 クローズするファイルの ID 値 Return Value -1 0 Remark エラー 正常終了 無し R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 43 of 65 RX64M グループ 7.7.4 カメラ活用センサソリューション RX Driver Package Application file_delete Description 本関数は引数で指定されたファイルを削除します。ファイルの指定はルートディレクトリからのフル パスで指定します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t file_delete(uint8_t *file_path); Parameters file_path 入力 ファイルのフルパスの格納先 Return Value -1 0 Remark エラー 正常終了 無し 7.7.5 file_open Description 本関数は第 1 引数で指定されたファイルを第 2 引数で指定されたモードでオープンし、管理情報を 独自で保存します。また、保存した管理情報を Web サーバが ID 参照できるように、戻り値として 管理情報の ID 値を指定します。保存した管理情報はファイルのクローズ関数で ID 値が指定される まで保持しなければなりません。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t file_open(uint8_t *file_path, uint8_t mode_flag); Parameters file_path mode_flag Return Value -1 0 以上 Remark 入力 入力 ファイルのフルパスの格納先 ファイルオープンのモード(FILE_WRITE または FILE_READ) エラー オープンしたファイルの ID 値 ファイルオープンの状態はファイルのクローズ関数で対応する ID 値が指定されるまで保持しなけ ればなりません。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 44 of 65 RX64M グループ 7.7.6 カメラ活用センサソリューション RX Driver Package Application file_read Description 本関数は第 1 引数で指定された ID 値に対応するファイルデータを、第 2 引数が示すアドレスに、最 大第 3 引数の値で示すサイズ分読み込まれます。第1引数の ID 値に対応する管理情報内のファイル ポインタは読み込んだ分だけ更新され、ファイルのクローズ関数が呼び出されるまで保持します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t file_read(int32_t file_id, uint8_t *buf, int32_t read_size); Parameters file_id 入力 buf 出力 read_size 入力 Return Value -1 0 以上 Remark 読み込むファイルの ID 値 読み込んだファイルデータの格納先 読み込むファイルサイズ エラー 読み込んだデータサイズ 無し 7.7.7 file_rename Description 本関数は第 1 引数で指定されたファイルまたはディレクトリを第 2 引数で指定された名前に変更しま す。第 1 引数、第 2 引数ともにルートディレクトリからのフルパスで指定します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t file_rename(uint8_t *old_name, uint8_t *new_name); Parameters old_name new_name Return Value 入力 入力 -1 0 Remark エラー 正常終了 変更対象のファイルまたはディレクトリ 変更後の名前 無し R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 45 of 65 RX64M グループ 7.7.8 カメラ活用センサソリューション RX Driver Package Application file_exist Description 本関数は引数で指定されたファイルまたはディレクトリの有無を確認します。引数はルートディレク トリからのフルパスで指定します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t file_exist(uint8_t *file_path); Parameters file_path 入力 有無を確認するファイルまたはディレクトリ Return Value -1 0 Remark 存在しない 存在する 無し 7.7.9 file_write Description 本関数は第 1 引数で指定された ID 値に対応するファイルに対し、第 2 引数で指定されたアドレスか ら第 3 引数で指定されたサイズ分のデータを書き込みます。第 1 引数の ID 値に対応する管理情報内 のファイルポインタは書き込んだ分だけ更新され、ファイルのクローズ関数が呼び出されるまで保持 します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t file_write(int32_t file_id, uint8_t *buf, int32_t write_size); Parameters file_id 入力 buf 入力 write_size 入力 Return Value -1 0 Remark 書き込むファイルの ID 値 書き込むデータの先頭アドレス 書き込むサイズ エラー 正常終了 無し R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 46 of 65 RX64M グループ 7.7.10 カメラ活用センサソリューション RX Driver Package Application get_file_info Description 本関数は第 1 引数で指定された ID 値に対応するファイルの管理情報を読み込み、ファイルの日付情 報を第 2 引数で示す日付情報構造体に書き出します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t get_file_info(int32_t file_id, DATE_INFO *date_info); Parameters file_id 入力 date_info 出力 Return Value -1 0 Remark 読み込むファイルの ID 値 日付情報の格納先 エラー 正常終了 無し 7.7.11 get_file_list_info Description 本関数は第 1 引数で指定されたディレクトリパスに格納されているファイルまたはディレクトリの 情報を第 2 引数で指定されたファイルリスト構造体に書き出します。一度に書き出す最大情報個数は 第 3 引数で指定し、第 4 引数でファイルリストの読み出し開始位置を指定します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t get_file_list_info(uint8_t *dir_path, FILE_LIST *file_list, uint32_t num_file_list, int32_t read_index); Parameters dir_path file_list 入力 出力 num_file_list 入力 read_index 入力 Return Value -1 0 以上 Remark 読み出すディレクトリパスの格納先 読み出したファイルリストの格納先 リストの最後にはファイル名格納領域の先頭に’¥0’を格納します。 一度に読み出すファイルリスト情報の最大個数 ファイルリストの読み出し開始位置 エラー 読み出したファイルの個数 戻り値が num_file_list より小さい値を返した場合は、ファイルリスト情報の読み出しが終了したこと を示し、num_file_list と同じ値を返した場合はファイルリスト情報に続きがあることを示します。本 関数はファイルリストの続きを読み出す際に、read_index にファイルリストの読み出し開始位置を指 定して呼び出します。 dir_path の終端には’/’が付く場合と付かない場合があります。 使用するファイルシステムにあわせて’/’ の有無を調整してください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 47 of 65 RX64M グループ 7.7.12 カメラ活用センサソリューション RX Driver Package Application get_file_size Description 本関数は引数で指定された ID 値に対応するファイルの管理情報を読み込み、ファイルサイズを返し ます。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t get_file_size(int32_t file_id); Parameters file_id 入力 読み込むファイルの ID 値 Return Value -1 0 以上 Remark エラー ファイルサイズ 無し 7.7.13 make_dir Description 本関数は引数で指定されたディレクトリを作成します。ディレクトリパスはフルパスで指定します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t make_dir(uint8_t *dir_path); Parameters dir_path 入力 作成するディレクトリ名 Return Value -1 0 Remark エラー 正常終了 dir_path の終端には’/’が付く場合と付かない場合があります。 使用するファイルシステムにあわせて’/’ の有無を調整してください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 48 of 65 RX64M グループ 7.7.14 カメラ活用センサソリューション RX Driver Package Application remove_dir Description 本関数は引数で指定されたディレクトリを削除します。ディレクトリパスはフルパスで指定します。 Usage #include <stdint.h> #include “r_file_driver.h” int32_t remove_dir(uint8_t *dir_path); Parameters dir_path 入力 削除するディレクトリ名 Return Value -1 0 Remark エラー 正常終了 dir_path の終端には’/’が付く場合と付かない場合があります。 使用するファイルシステムにあわせて’/’ の有無を調整してください。 7.8 ユーザ定義関数リファレンス(システムタイマ関連) Web サーバは本関数群を呼び出します。ユーザはシステムタイマを定義します。 表 6.8.1 システムタイマ関連ユーザ定義関数一覧 7.8.1 関数名 機能概要 get_sys_time() システムタイマの先頭アドレス取得 データ構造体 【システムタイマ構造体】 typedef struct sys_time_ { uint32_t uint32_t uint32_t uint32_t uint32_t uint32_t }SYS_TIME; R01AN2462JJxxxx 2014.11.10 sec; min; hour; day; month; year; Rev.x.xx Page 49 of 65 RX64M グループ 7.8.2 カメラ活用センサソリューション RX Driver Package Application get_sys_time Description 本関数はシステムタイマの先頭アドレスを取得します。 Usage #include <stdint.h> #include “r_t4_http_server_rx_config.h” SYS_TIME *get_sys_time( void ); Parameters 無し Return Value システムタイマの先頭アドレス Remark システムタイマを管理する変数はユーザが定義してください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 50 of 65 RX64M グループ 7.9 カメラ活用センサソリューション RX Driver Package Application サンプル CGI 関数 7.9.1 cgi_sample_function Description 本関数は、”R_t4_http_server_config.h”の CGI_FILE_NAME_TABLE_LIST マクロで定義されている CGI 関数です。CGI_FILE_NAME_TABLE_LIST の第 2 要素(CGI 関数ポインタ) は、Web サーバで定義し た cgi ファイルの URL を要求したときに呼び出されます。 次に、HTTPd が CGI 関数を呼び出します。 HTTPd の動作は、戻り値によって変わります。 ケース:正常終了 CGI 処理が本関数で正常終了 ケース:内部エラー CGI 処理エラーが本関数で発生 CGI process errors occur in this function. ケース: CGI 応答保留 CGI 処理が本関数で終了しない(応答保留)、CGI_FILE_NAME_TABLE_LIST の第 3 要素(CGI 関数ポインタ)は、CGI 処理終了するとき、ユーザが R_httpd_pending_release_request()を呼び出し たとき、呼び出されます。 Usage #include "r_t4_itcpip.h" #include "r_http_server_config.h" #include "r_t4_http_server_rx_if.h" ER cgi_sample_function(ID cepid, void *res_info); Parameters cepid 入力 res_info 入力 出力 出力 CGI 関数実行の要求が有った通信端点 ID (HTTPD_RESOURCE_INFO*)res_info->param Web ブラウザから要求のあった URL に付属するパラメータ (HTTPD_RESOURCE_INFO*)res_info->res.body 応答として返す HTML 文字列 (HTTPD_RESOURCE_INFO*)res_info->res.body_size 応答として返す HTML 文字列の長さ Return Value -1 内部エラー -2 CGI 応答保留 0 正常終了 Remark なし R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 51 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 8. Web カメラ仕様 8.1 性能概要 GR-KAEDE 搭載のカメラモジュールから取り込んだ画像を「6. Web サーバ仕様」に沿って Web ブラウザ 上で表示させます。 表 6.1.1 Web カメラ性能 項目 性能 ROM サイズ 計:約 15.1kbyte 1. カメラモジュール制御 約 0.7kbyte 2. 画像取り込み 約 3.0kbyte 3. JPEG エンコード 約 11.4kbyte RAM サイズ 計:約 257kbyte(stack 除く) 1. カメラモジュール制御 約 5byte 2. 画像取り込み 約 50byte 3. JPEG エンコード 約 1.7kbyte 4. JPEG ファイル格納領域 約 200kbyte 画像サイズ(最終) QVGA(320x240)YCbCr4:2:2 取り込み周期 120-130msec (画像処理機能オフ時) T.B.D 取り込み周期 (画像処理機能オン時) 動作概要 8.2 RX64M 内蔵のパラレルデータキャプチャユニット(以後、PDC)を使って、カメラモジュールから画像デー タを取得します。ピクセルクロックは約 15MHz です。動作モードにより 320x240 YCbCr4:2:2:か、640x480 YCbCr4:2:2 のデータを取得します。取得タイミングは、フレーム間隔でなく、その後行われる画像処理、JPEG エンコード時間に依存します。Web ブラウザ上での更新周期も画像処理モードなどに応じて変更しています。 コンフィグレーション 8.3 8.3.1 r_pdc_rx_config.h コンフィグファイル(r_pdc_rx_config.h)のマクロ定義を変更することでカメラモジュールからの画像データ 取り込み速度を変更することができます。 PCKO Frequency Division Ratio Select :PDC_CFG_PCKO_DIV ただし、GR-KAEDE で使用しているカメラモジュールの入力クロック許容範囲は、6~27MHz です。 その範囲が GR-KAEDE 使用時の PDC_CFG_PCKO_DIV 設定範囲となります。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 52 of 65 RX64M グループ 8.3.2 カメラ活用センサソリューション RX Driver Package Application ov_image_sensor.h カメラモジュールからの出力解像度を調整することができます。 水平解像度 :IMG_SENSOR_OUTPUT_WIDTH 垂直解像度:IMG_SENSOR_OUTPUT_HEIGHT 8.3.3 r_jpeg_enc_apl.h JPEG エンコードの品質設定や JPEG エンコード後の格納バッファサイズ等の変更ができます。 品質設定[1-128] : JPEG_QUALITY 高いほど高品質な画像になります。(ファイルサイズも大きくなります) カラーフォーマット:JPEG_OUTPUT_FMT JPEG ファイルにエンコード時のカラーフォーマットを定義しています。 JPEG ファイル展開用バッファ:JPEG_OUTPUT_AREA_SIZE JPEG ファイルを展開する領域のサイズを定義しています。 8.3.4 r_pdc_apl.h 取り込み領域ブロック数 :D_PDC_MAX_PICTURE_BLOCK 本アプリケーションノートでは、3 ブロック(=3 フレーム)分確保しています。 8.4 ファイル一覧 フォルダ名 ファイル名 内容 src ov7740.c カメラモジュール制御用ソース ファイル ov_image_sensor.h カメラモジュール制御用ヘッダ ファイル ov7740config.h カメラモジュールレジスタ初期値 テーブル r_jpeg_enc_apl.c JPEG エンコード機能コントロー ル用ソースファイル r_jpeg_enc_apl.h JPEG エンコード機能コントロー ル用ヘッダファイル r_pdc_apl.c パラレルデータキャプチャ機能コ ントロール用ソースファイル r_pdc_apl.h パラレルデータキャプチャ機能コ ントロール用ヘッダファイル R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 53 of 65 RX64M グループ 8.5 8.5.1 カメラ活用センサソリューション RX Driver Package Application API リファレンス R_image_sensor_init Description カメラモジュール内のイメージセンサの初期設定を行います。 Usage #include “ov_image_sensor.h” uint8_t R_image_sensor_init( void ) Parameters 無し Return Value 無し Remark 制御対象デバイスのスレーブアドレスは、ov_image_sensor.h の「IMG_SENSOR_SLV_ADDRESS」で 定義されています。初期設定値は、ov7740config.h に格納されています。 8.5.2 R_image_sensor_write Description カメラモジュール内のイメージセンサに対してレジスタライトを行います。 Usage #include “ov_image_sensor.h” uint8_t R_image_sensor_write( uint8_t reg_adr, uint8_t reg_data, uint32_t size ) Parameters reg_adr 入力 レジスタアドレス reg_data 入力 ライトデータ size 入力 ライトデータサイズ(1 固定) Return Value 1 固定 Remark 制御対象デバイスのスレーブアドレスは、ov_image_sensor.h の「IMG_SENSOR_SLV_ADDRESS」で 定義されています。本 API は CGI 機能を使って Web ブラウザから制御させるデモ用として用意して います。イメージセンサへの通常制御は、「7.5.1 R_image_sensor_init」で完結します。 8.5.3 R_image_sensor_read Description カメラモジュール内のイメージセンサに対してレジスタリードを行います。 Usage #include “ov_image_sensor.h” uint8_t R_image_sensor_read( uint8_t reg_adr, uint8_t *reg_data, uint32_t size ) Parameters reg_adr 入力 レジスタアドレス reg_data 出力 リードデータ size 入力 リードデータサイズ Return Value 1 固定 Remark 制御対象デバイスのスレーブアドレスは、ov_image_sensor.h の「IMG_SENSOR_SLV_ADDRESS」で 定義されています。本 API は CGI 機能を使って Web ブラウザから制御させるデモ用として用意して います。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 54 of 65 RX64M グループ 8.5.4 カメラ活用センサソリューション RX Driver Package Application R_jpeg_compress_init Description JPEG エンコードライブラリに対して初期設定を行います。 Usage #include “r_jpeg_enc_apl.h” void R_jpeg_compress_init( void ) Parameters 無し Return Value 無し Remark 無し 8.5.5 R_get_jpeg_output_adr Description JPEG エンコード後の格納エリアを複数持つ場合に、指定エリアの先頭アドレスを返します。 Usage #include “r_jpeg_enc_apl.h” uint8_t *R_get_jpeg_output_adr( uint8_t area_num ) Parameters area_num 入力 JPEG ファイルの格納エリア番号 Return Value 指定エリアの先頭アドレス Remark 本アプリケーションノートでは、格納エリアを 2 面持たせています。JPEG エンコードタイミングと WEB カメラの更新タイミングとで同期をとっていない為、エンコード処理中のエリアをアクセスさ せない目的です。 8.5.6 R_get_jpeg_output_area_num Description JPEG エンコードライブラリで使用中の格納エリア番号を返します。 Usage #include “r_jpeg_enc_apl.h” uint8_t R_get_jpeg_output_area_num( void ) Parameters 無し Return Value 格納エリア番号 Remark 本アプリケーションノートでは、格納エリアを 2 面持たせています。JPEG エンコードタイミングと WEB カメラの更新タイミングとで同期をとっていない為、エンコード処理中のエリアをアクセスさ せない目的です。 8.5.7 R_pdc_init Description PDC ユニットに対して初期設定を行います。 Usage #include “r_pdc_apl.h” void R_pdc_init( void ) Parameters 無し Return Value 無し Remark 「7.5.8 R_pdc_Create」とセットで使用してください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 55 of 65 RX64M グループ 8.5.8 カメラ活用センサソリューション RX Driver Package Application R_pdc_create Description PDC ユニットに対して初期設定を行います。 Usage #include “r_pdc_apl.h” void R_pdc_create ( void ) Parameters 無し Return Value 無し Remark 「7.5.7 R_pdc_init」とセットで使用してください。本 API を後で呼んでください。 本 API 使用時は、GR-KAEDE にカメラモジュールが接続されていることを確認してから使用してくだ さい。未接続の場合は、本 API から戻ってきません。 8.5.9 R_pdc_receive_again Description パラレルデータ(画像データ)の取り込みを開始します。 Usage #include “r_pdc_apl.h” void R_pdc_receive_again( uint8_t continue_flag ); Parameters Continue_flag 入力 (1 固定) Return Value 無し Remark 正常ケースでは、データの取り込みは 1 フレームごとの単発で行われます。本 API を呼ぶことで取 り込みが再スタートとなります。実際の取り込み開始タイミングは V-SYNC と同期します。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 56 of 65 RX64M グループ 9. カメラ活用センサソリューション RX Driver Package Application 画像処理仕様 9.1 性能概要 本アプリケーションノートで実現できるカメラ活用ソリューションでは、人物検知機能、動体検知機能、 歪み補正機能が対応されています。Web サーバシステム、Web カメラシステムを使って、検知結果を Web ブラウザ上に表示します。本ソリューションでは、特定用途向けではなく性能などを確認してもらう為のデ モンストレーションとの位置付けとなり、対応画素数なども固定になります。 また、本処理を動作させるには、内蔵 RAM の特定領域と外部メモリが必要となります。本ソリューション では、外部メモリとして外付け SDRAM を使用しています。 表 8.1.1 スペック 項目 性能 ROM size 65Kbyte RAM size 内蔵 :135Kbyte(stack 除く) (特定領域:アドレス 0x00004100 ~ 0x00025ed7 含む) 外付け :3.5Mbyte 9.2 動作概要 表 8.2.1 機能一覧 No 機能 機能名称 概要 1 人物検知機能 人物切出し機能 画像の中から立っている人、及び座ってい る人が居る位置を切出す。 人数計測機能 画像を9エリアに分割し、各エリアに存在 する人数を計測する。 2 3 動体検知機能 画像比較機能 連続して取り込んだ3枚の画像をそれぞ れ比較し、変化があった箇所を抽出する。 4 歪み補正機能 画像補正機能 使用するカメラとレンズの組合せで求め た歪み特性データを用いて、画像の座標変 換を行う。 9.3 コンフィグレーション 無し R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 57 of 65 RX64M グループ 9.4 カメラ活用センサソリューション RX Driver Package Application ファイル一覧 画像処理のファイル一覧を以下に示します。 表 8.5.1 画像処理ファイル一覧 フォルダ名 ファイル名 内容 renesas_sw_library/image_proc Mdl_IP_main.h 画像処理 API ヘッダ Mdl_IP_ex.h - Mdl_IP_prot.h 各モード構造体定義 9.5 9.5.1 API リファレンス Mdl_IP_Init Description アプリケーションは本関数を画像処理機能使用開始前に1度だけ呼び出します。本関数は、画 像処理ミドルウェア内の内部変数確保、初期化を実行します。 Usage #include "Mdl_IP_ex.h" void Mdl_IP_Init( unsigned char *wk_adr ); Parameters wk_adr 入力 ワーク用先頭アドレス Return Value 無し Remark 引数は、画像処理ミドルウェア内で使用するワーク用メモリ(320x240:4 面、160x120:2 面) の先頭アドレスとする。 9.5.2 Mdl_IP_PersonDetection Description 本関数は、第1引数で指定されたアドレスに格納されている画像に対し、人物が存在する位置 検出及び人数計測を実行する。 実行結果詳細を第2引数で指定された人物検知結果構造体のアドレスに書き出し、実行結果画 像を第3引数で指定されたアドレスに書き出す。 Usage #include "Mdl_IP_ex.h" int Mdl_IP_PersonDetection( unsigned char *in_img, PersonDetection_Rslt *rslt, unsigned char *extension ); Parameters in_img 入力 入力画像格納先頭アドレス rslt 出力 人物検知処理結果詳細 extension 出力 拡張機能(NULL を指定のこと) Return Value 0 正常終了 -1 初期化処理 Mdl_IP_Init( ) 未実行 Remark 無し R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 58 of 65 RX64M グループ 9.5.3 カメラ活用センサソリューション RX Driver Package Application Mdl_IP_PersonDetection_ParamChg Description 本関数は、「1.3.3 Mdl_IP_PersonDetection」の内部で使用する画像処理パラメータに対し、 第1引数でパラメータの種別を指定して、第2引数で指定された設定値に変更する。 Usage #include "Mdl_IP_ex.h" int Mdl_IP_PersonDetection_ParamChg( int kind, int val ); Parameters Kind 入力 パラメータ種別 val 入力 設定値 Return Value 0 正常終了 -1 初期化処理 Mdl_IP_Init( ) 未実行 -2 パラメータ種別範囲外 -3 設定値範囲外 Remark パラメータ種別 0:人物検出しきい値(設定値範囲:1~9) 人物を検出する際の人物らしさを判別するしきい値を指定する。人物の検出が行われ にくい場合は設定値を小さくし、過検出する場合は設定値を大きくする。(デフォルト 値:7) 1:人物検出感度(設定値範囲:1~15) 人物を検出する際、検出候補箇所のコントラスト(明暗)及び鮮やかさ(色数)を判 別するしきい値を指定する。コントラストが小さく、鮮やかさが乏しい箇所を有効する 場合は設定値を小さくし、無効とする場合は設定値を大きくする。(デフォルト値:7) 9.5.4 Mdl_IP_MovingDetection Description 本関数は、第1引数から第3引数で指定されたアドレスに格納されている連続取込した画像に 対し、移動体の検出処理を実行する。 実行結果詳細を第4引数で指定された動体検知結果構造体のアドレスに書き出し、実行結果画 像を第5引数で指定されたアドレスに書き出す。 Usage #include "Mdl_IP_ex.h" int Mdl_IP_MovingDetection( unsigned char *in_img1, unsigned char *in_img2 unsigned char *in_img3, MovingDetection_Rslt *rslt, unsigned char *extension ); Parameters in_img1 入力 入力画像1格納先頭アドレス in_img2 入力 入力画像2格納先頭アドレス in_img3 入力 入力画像3格納先頭アドレス rslt 出力 動体検知処理結果詳細 extension 出力 拡張機能(NULL を指定のこと) Return Value 0 正常終了 -1 初期化処理 Mdl_IP_Init( ) 未実行 Remark 無し R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 59 of 65 RX64M グループ 9.5.5 カメラ活用センサソリューション RX Driver Package Application Mdl_IP_MovingDetection_ParamChg Description 本関数は、「1.3.5 Mdl_IP_MovingDetection」の内部で使用する画像処理パラメータに対し、 第1引数でパラメータの種別を指定して、第2引数で指定された設定値に変更する。 Usage #include "Mdl_IP_ex.h" int Mdl_IP_MovingDetection_ParamChg( int kind, int val ); Parameters 無し Return Value 0 正常終了 -1 初期化処理 Mdl_IP_Init( ) 未実行 -2 パラメータ種別範囲外 -3 設定値範囲外 Remark パラメータ種別 0:動体検出しきい値(設定値範囲:1~10) 動体を検出する際の判別しきい値を指定する。動体の検出が行われにくい場合は設定 値を小さくし、過検出する場合は設定値を大きくする。(デフォルト値:4) 1:動体検出感度(設定値範囲:1~10) 動体を検出する際、画像差分(1枚目と2枚目、2枚目と3枚目)で明るさの変化が あったかを判別するしきい値を指定する。明るさの変化が小さい箇所を検出したい場合 は設定値を小さくし、検出しなくする場合は設定値を大きくする。(デフォルト値:3) 2:処理領域 3:処理領域 4:処理領域 5:処理領域 上辺(設定値範囲:0~9) 下辺(設定値範囲:0~9) 左辺(設定値範囲:0~9) 右辺(設定値範囲:0~9) 動体検出を行う処理領域の画像端からの補正値を10%刻みで指定する。上辺・下辺は 画像高さに対する割合、左辺・右辺は画像幅に対する割合とする。(デフォルト値:0) 9.5.6 Mdl_IP_ImgRevise Description 本関数は、第1引数で指定されたアドレスに格納されている画像に対し、歪み補正処理を実行 する。 実行結果画像を第2引数で指定されたアドレスに書き出す。 Usage #include "Mdl_IP_ex.h" int Mdl_IP_ImgRevise ( unsigned char *in_img, unsigned char *out_img ); Parameters in_img 入力 入力画像格納先頭アドレス out_img 出力 歪み補正処理結果画像格納先頭アドレス Return Value 0 正常終了 -1 初期化処理 Mdl_IP_Init( ) 未実行 Remark 歪み補正処理結果画像の格納先は、入力画像と同サイズのエリアが確保されていなければなり ません。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 60 of 65 RX64M グループ 9.5.7 カメラ活用センサソリューション RX Driver Package Application Mdl_IP_ImgRevise_ParamChg Description 本関数は、「1.3.7 Mdl_IP_ImgRevise」の内部で使用する歪み補正パラメータに対し、第1 引数でパラメータの種別を指定して、第2引数で指定された設定値に変更する。 Usage #include "Mdl_IP_ex.h" int Mdl_IP_ImgRevise_ParamChg( int kind, int val ); Parameters kind 入力 パラメータ種別 val 入力 設定値 Return Value 0 正常終了 -1 初期化処理 Mdl_IP_Init( ) 未実行 -2 パラメータ種別範囲外 -3 設定値範囲外 Remark パラメータ種別 0:歪み補正有効/無効(設定値範囲:0~1) 歪み補正処理を行うかどうかを指定する。有効時は1、無効時は0とする。 (デフォルト値:1) 1:水平方向補正値(設定値範囲:-127~127) 歪み補正を行う際の基準点X座標を画像中心位置からのオフセットで指定する。画像 中心から左方向は負値、右方向は正値とする。(デフォルト値:-2) 2:垂直方向補正値(設定値範囲:-127~127) 歪み補正を行う際の基準点Y座標を画像中心位置からのオフセットで指定する。画像 中心から上方向は負値、下方向は正値とする。(デフォルト値:-42) R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 61 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 10. e2 studio 使用時の注意点 10.1 フォルダ名について 一部絶対パスが入ってしまう設定があり、フォルダ名に日本語が入っていると、ビルドに失敗します。 10.2 ソースコードのエディットについて 日本語文字コードを含むソースコードを、e2 studio(通常設定)のエディタで開いて保存した場合、日 本語文字コードが文字化けしますのでご注意ください。 ※申し訳ありませんが、提供したプロジェクトには、日本語コメントが残っています。 11. 補足 11.1 無償評価版の「RX ファミリ用 C/C++コンパイラパッケージ」を利用する場合の注 意事項 無償評価版の「RX ファミリ用 C/C++コンパイラパッケージ」には、使用期限と使用制限があります。使用 期限が過ぎた場合、使用制限によりロードモジュールが正しく生成されなくなる場合があります。 詳しくは、ルネサスのホームページにある、評価版ソフトウェアツールのページを参照してください。 URL:http://japan.renesas.com/products/tools/evaluation_software/index.jsp 11.2 Web ブラウザ上でのキャプチャデータ更新遅延について お使いのクライアント PC の状態等によっては、スムーズなキャプチャ更新ができない場合があ ります。そのようなケースでは、コンフィグファイルの通信端点数を増やすことによって、改善で きます。 本ファームウェアでは、内蔵 RAM のみでの実装となっている為、通信端点の上限は約 16 程度と なっています。 変更箇所は、下記 3 ファイルの計 4 か所です。増減数はそろえるようにしてください。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 62 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 【rx64m_gr_kaede/r_t4_rx/src/config_tcpudp.c】 1. TCP 受付口の設定 /*** Definition of TCP reception point (only port number needs to be set) ***/ T_TCP_CREP tcp_crep[] = { /* { attribute of reception point, {local IP address, local port number}} */ { 0x0000, { 0, 80 }}, { 0x0000, { 0, 80 }}, 変更前の受け口を 4 とする { 0x0000, { 0, 80 }}, { 0x0000, { 0, 80 }}, { 0x0000, { 0, 80 }}, -受け口 5 { 0x0000, { 0, 80 }}, -受け口 6 追加時イメージ ・ ・ }; R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 63 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application 2. TCP 通信端点の設定 /*** Definition of TCP communication end point (only receive window size needs to be set) ***/ T_TCP_CCEP tcp_ccep[] = { /* { attribute of TCP communication end point, top address of transmit window buffer, size of transmit window buffer, top address of receive window buffer, size of receive window buffer, address of callback routine } */ { 0, 0, 0, 0, 1460, http_callback }, { 0, 0, 0, 0, 1460, http_callback }, 変更前の通信端点を 4 とする { 0, 0, 0, 0, 1460, http_callback }, { 0, 0, 0, 0, 1460, http_callback }, { 0, 0, 0, 0, 1460, http_callback }, -通信端点 5 追加時イメージ { 0, 0, 0, 0, 1460, http_callback }, -通信端点 6 ・ ・ } 【rx64m_gr_kaede/r_config/r_t4_http_server_rx_config.h】 3. HTTP サーバで使用する通信端点 #define HTTP_TCP_CEP_NUM 【rx64m_gr_kaede/src/main.c】 4. T4(TCP/IP プロトコルスタック)で使用するワークエリア この値は、一度プログラムを動かして tcpudp_get_ramsize()の戻り値を元に設定しています。 対象処理は、同ファイル内にあります。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 64 of 65 RX64M グループ カメラ活用センサソリューション RX Driver Package Application ホームページとサポート窓口 ルネサス エレクトロニクスホームページ http://japan.renesas.com/ お問合せ先 http://japan.renesas.com/contact/ すべての商標および登録商標は,それぞれの所有者に帰属します。 R01AN2462JJxxxx 2014.11.10 Rev.x.xx Page 65 of 65 改訂記録 Rev. 0.00 発行日 2014.11.10 ページ - 改訂内容 ポイント プロジェクト一式リリース版作成 A-1 製品ご使用上の注意事項 ここでは、マイコン製品全体に適用する「使用上の注意事項」について説明します。個別の使用上の注意 事項については、本ドキュメントおよびテクニカルアップデートを参照してください。 1. 未使用端子の処理 【注意】未使用端子は、本文の「未使用端子の処理」に従って処理してください。 CMOS製品の入力端子のインピーダンスは、一般に、ハイインピーダンスとなっています。未使用 端子を開放状態で動作させると、誘導現象により、LSI周辺のノイズが印加され、LSI内部で貫通電 流が流れたり、入力信号と認識されて誤動作を起こす恐れがあります。未使用端子は、本文「未使用 端子の処理」で説明する指示に従い処理してください。 2. 電源投入時の処置 【注意】電源投入時は,製品の状態は不定です。 電源投入時には、LSIの内部回路の状態は不確定であり、レジスタの設定や各端子の状態は不定で す。 外部リセット端子でリセットする製品の場合、電源投入からリセットが有効になるまでの期間、端子 の状態は保証できません。 同様に、内蔵パワーオンリセット機能を使用してリセットする製品の場合、電源投入からリセットの かかる一定電圧に達するまでの期間、端子の状態は保証できません。 3. リザーブアドレス(予約領域)のアクセス禁止 【注意】リザーブアドレス(予約領域)のアクセスを禁止します。 アドレス領域には、将来の機能拡張用に割り付けられているリザーブアドレス(予約領域)がありま す。これらのアドレスをアクセスしたときの動作については、保証できませんので、アクセスしない ようにしてください。 4. クロックについて 【注意】リセット時は、クロックが安定した後、リセットを解除してください。 プログラム実行中のクロック切り替え時は、切り替え先クロックが安定した後に切り替えてくださ い。 リセット時、外部発振子(または外部発振回路)を用いたクロックで動作を開始するシステムでは、 クロックが十分安定した後、リセットを解除してください。また、プログラムの途中で外部発振子 (または外部発振回路)を用いたクロックに切り替える場合は、切り替え先のクロックが十分安定し てから切り替えてください。 5. 製品間の相違について 【注意】型名の異なる製品に変更する場合は、製品型名ごとにシステム評価試験を実施してくださ い。 同じグループのマイコンでも型名が違うと、内部ROM、レイアウトパターンの相違などにより、電 気的特性の範囲で、特性値、動作マージン、ノイズ耐量、ノイズ輻射量などが異なる場合がありま す。型名が違う製品に変更する場合は、個々の製品ごとにシステム評価試験を実施してください。 ご注意書き 1. 本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説明するものです。お客様の機器・システムの設計におい て、回路、ソフトウェアおよびこれらに関連する情報を使用する場合には、お客様の責任において行ってください。これらの使用に起因して、お客様または第三 者に生じた損害に関し、当社は、一切その責任を負いません。 2. 本資料に記載されている情報は、正確を期すため慎重に作成したものですが、誤りがないことを保証するものではありません。万一、本資料に記載されている情報 の誤りに起因する損害がお客様に生じた場合においても、当社は、一切その責任を負いません。 3. 本資料に記載された製品デ-タ、図、表、プログラム、アルゴリズム、応用回路例等の情報の使用に起因して発生した第三者の特許権、著作権その他の知的財産権 に対する侵害に関し、当社は、何らの責任を負うものではありません。当社は、本資料に基づき当社または第三者の特許権、著作権その他の知的財産権を何ら許 諾するものではありません。 4. 当社製品を改造、改変、複製等しないでください。かかる改造、改変、複製等により生じた損害に関し、当社は、一切その責任を負いません。 5. 当社は、当社製品の品質水準を「標準水準」および「高品質水準」に分類しており、 各品質水準は、以下に示す用途に製品が使用されることを意図しております。 標準水準: コンピュータ、OA機器、通信機器、計測機器、AV機器、 家電、工作機械、パーソナル機器、産業用ロボット等 高品質水準:輸送機器(自動車、電車、船舶等)、交通用信号機器、 防災・防犯装置、各種安全装置等 当社製品は、直接生命・身体に危害を及ぼす可能性のある機器・システム(生命維持装置、人体に埋め込み使用するもの等) 、もしくは多大な物的損害を発生さ せるおそれのある機器・システム(原子力制御システム、軍事機器等)に使用されることを意図しておらず、使用することはできません。 たとえ、意図しない用 途に当社製品を使用したことによりお客様または第三者に損害が生じても、当社は一切その責任を負いません。 なお、ご不明点がある場合は、当社営業にお問い 合わせください。 6. 当社製品をご使用の際は、当社が指定する最大定格、動作電源電圧範囲、放熱特性、実装条件その他の保証範囲内でご使用ください。当社保証範囲を超えて当社製 品をご使用された場合の故障および事故につきましては、当社は、一切その責任を負いません。 7. 当社は、当社製品の品質および信頼性の向上に努めていますが、半導体製品はある確率で故障が発生したり、使用条件によっては誤動作したりする場合がありま す。また、当社製品は耐放射線設計については行っておりません。当社製品の故障または誤動作が生じた場合も、人身事故、火災事故、社会的損害等を生じさせ ないよう、お客様の責任において、冗長設計、延焼対策設計、誤動作防止設計等の安全設計およびエージング処理等、お客様の機器・システムとしての出荷保証 を行ってください。特に、マイコンソフトウェアは、単独での検証は困難なため、お客様の機器・システムとしての安全検証をお客様の責任で行ってください。 8. 当社製品の環境適合性等の詳細につきましては、製品個別に必ず当社営業窓口までお問合せください。ご使用に際しては、特定の物質の含有・使用を規制する RoHS指令等、適用される環境関連法令を十分調査のうえ、かかる法令に適合するようご使用ください。お客様がかかる法令を遵守しないことにより生じた損害に 関して、当社は、一切その責任を負いません。 9. 本資料に記載されている当社製品および技術を国内外の法令および規則により製造・使用・販売を禁止されている機器・システムに使用することはできません。ま た、当社製品および技術を大量破壊兵器の開発等の目的、軍事利用の目的その他軍事用途に使用しないでください。当社製品または技術を輸出する場合は、「外 国為替及び外国貿易法」その他輸出関連法令を遵守し、かかる法令の定めるところにより必要な手続を行ってください。 10. お客様の転売等により、本ご注意書き記載の諸条件に抵触して当社製品が使用され、その使用から損害が生じた場合、当社は何らの責任も負わず、お客様にてご負 担して頂きますのでご了承ください。 11. 本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを禁じます。 注1. 本資料において使用されている「当社」とは、ルネサス エレクトロニクス株式会社およびルネサス エレクトロニクス株式会社がその総株主の議決権の過半数 を直接または間接に保有する会社をいいます。 注2. 本資料において使用されている「当社製品」とは、注1において定義された当社の開発、製造製品をいいます。 http://www.renesas.com ■営業お問合せ窓口 ※営業お問合せ窓口の住所は変更になることがあります。最新情報につきましては、弊社ホームページをご覧ください。 ルネサス エレクトロニクス株式会社 〒100-0004 千代田区大手町2-6-2 (日本ビル) ■技術的なお問合せおよび資料のご請求は下記へどうぞ。 総合お問合せ窓口:http://japan.renesas.com/contact/ © 2014 Renesas Electronics Corporation. All rights reserved. Colophon 3.0