mgc3030/3130 gestic ライブラリ インターフェイス ユーザ...

62
2016 Microchip Technology Inc. DS40001718E_JP MGC3030/3130 GestIC ® ライブラリ インターフェイス ユーザガイド 注意 : この日本語版文書は参考資料としてご利用ください。最 新情報は必ずオリジナルの英語版をご参照願います。

Upload: others

Post on 18-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • 2016 Microchip Technology Inc. DS40001718E_JP

    MGC3030/3130 GestIC®ライブラリ インターフェイス

    ユーザガイド

    注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジナルの英語版をご参照願います。

  • 2016 Microchip Technology Inc.DS40001718E_JP - p. 2

    本書に記載されているデバイス アプリケーション等に関する情報は、ユーザの便宜のためにのみ提供されているものであ

    り、更新によって無効とされる事があります。お客様のアプ

    リケーションが仕様を満たす事を保証する責任は、お客様に

    あります。Microchip 社は、明示的、暗黙的、書面、口頭、法定のいずれであるかを問わず、本書に記載されている情報に

    関して、状態、品質、性能、商品性、特定目的への適合性を

    はじめとする、いかなる類の表明も保証も行いません。

    Microchip 社は、本書の情報およびその使用に起因する一切の責任を否認します。Microchip 社の明示的な書面による承認なしに、生命維持装置あるいは生命安全用途に Microchip 社の製品を使用する事は全て購入者のリスクとし、また購入者はこ

    れによって発生したあらゆる損害、クレーム、訴訟、費用に

    関して、Microchip 社は擁護され、免責され、損害をうけない事に同意するものとします。暗黙的あるいは明示的を問わず、

    Microchip社が知的財産権を保有しているライセンスは一切譲渡されません。

    商標

    Microchip 社の名称と Microchip ロゴ、dsPIC、FlashFlex、KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、PIC32 ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、米国およびその他の国における Microchip TechnologyIncorporated の登録商標です。

    FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MTP、SEEVAL、Embedded Control Solutions Company は、米国における Microchip Technology Incorporated の登録商標です。

    Silicon Storage Technologyは、その他の国におけるMicrochipTechnology Incorporated の登録商標です。

    Analog-for-the-Digital Age、Application Maestro、BodyCom、chipKIT、chipKIT ロゴ、CodeGuard、dsPICDEM、dsPICDEM.net、dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、FanSense、HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、MPASM、MPF、MPLAB 認証ロゴ、MPLIB、MPLINK、mTouch、Omniscient Code Generation、PICC、PICC-18、PICDEM、PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、SQI、Serial Quad I/O、Total Endurance、TSHARC、UniWinDriver、WiperLock、ZENA、Z-Scale は、米国およびその他の国における Microchip Technology Incorporatedの登録商標です。

    SQTP は、米国における Microchip Technology Incorporatedのサービスマークです。

    GestICとULPPは、その他の国におけるMicrochip TechnologyGermany II GmbH & Co. & KG (Microchip TechnologyIncorporated の子会社 ) の登録商標です。

    その他、本書に記載されている商標は各社に帰属します。

    ©2013, Microchip Technology Incorporated, Printed in theU.S.A., All Rights Reserved.

    ISBN:

    Microchip 社製デバイスのコード保護機能に関して次の点にご注意ください。• Microchip 社製品は、該当する Microchip 社データシートに記載の仕様を満たしています。

    • Microchip 社では、通常の条件ならびに仕様に従って使用した場合、Microchip 社製品のセキュリティ レベルは、現在市場に流通している同種製品の中でも最も高度であると考えています。

    • しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解ではこうした手法は、Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります。このような行為は知的所有権の侵害に該当する可能性が非常に高いと言えます。

    • Microchip 社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。

    • Microchip 社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コード保護機能とは、Microchip 社が製品を「解読不能」として保証するものではありません。

    コード保護機能は常に進歩しています。Microchip 社では、常に製品のコード保護機能の改善に取り組んでいます。Microchip 社のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはその他の著

    Microchip 社では、Chandler および Tempe ( アリゾナ州 )、Gresham( オレゴン州 ) の本部、設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を取得しています。Microchip 社の品質システム プロセスおよび手順は、PIC® MCU および dsPIC® DSC、KEELOQ® コード ホッピング デバイス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、アナログ製品に採用されています。さらに、開発システムの設計と製造に関する Microchip 社の品質システムは ISO 9001:2000 認証を取得しています。

    QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV

    == ISO/TS 16949 ==

  • MGC3030/3130 GestIC® ライブラリ

    インターフェイス ユーザガイド

    目次

    序章 ................................................................................................................................. 5第 1 章 はじめに

    1.1 本書の目的 .................................................................................................. 101.2 MGC3X30 ソフトウェア アーキテクチャ ................................................... 101.3 GestIC® ライブラリ .................................................................................... 111.4 ブリッジ ...................................................................................................... 111.5 GestIC API .................................................................................................. 121.6 アプリケーション ソフトウェア ................................................................. 12

    第 2 章 MGC3030/3130 のホスト インターフェイス2.1 MGC3X30 のハードウェア インターフェイス ............................................ 132.2 TS ラインの使い方 ...................................................................................... 142.3 サンプルコード ........................................................................................... 16

    第 3 章 GestIC® ライブラリのメッセージ インターフェイス3.1 メッセージの概要 ........................................................................................ 173.2 メッセージのフォーマット ......................................................................... 173.3 メッセージヘッダ ........................................................................................ 183.4 メッセージ ペイロード ............................................................................... 183.5 メッセージのエンコードとデコード ........................................................... 19

    3.5.1 ヘッダの抽出 ............................................................................................ 193.5.2 ペイロードの抽出 ..................................................................................... 20

    3.6 メッセージ制御フローとエンコード例 ....................................................... 213.6.1 メッセージ制御フロー ............................................................................. 213.6.2 GestIC ライブラリ バージョンの読み出し ............................................. 22

    3.6.2.1 例 : Request_FW_Version Info ................................................. 223.6.3 実行中の制御 ............................................................................................ 23

    3.6.3.1 例 : 近接検出を有効にする ....................................................... 233.6.3.2 例 : 全てのジェスチャを有効にする ......................................... 233.6.3.3 例 : データ出力を有効にする ................................................... 243.6.3.4 例 : データ出力をロックする ................................................... 24

    3.6.4 センサデータ出力 ..................................................................................... 253.6.4.1 例 : センサデータ出力を読み出す ............................................ 25

    第 4 章 GestIC® ライブラリ メッセージ リファレンス4.1 System_Status ............................................................................................ 274.2 Request_Message ...................................................................................... 294.3 Fw_Version_Info ......................................................................................... 304.4 Set_Runtime_Parameter ............................................................................. 32

    4.4.1 Trigger ...................................................................................................... 334.4.2 Make Persistent .......................................................................................... 334.4.3 アナログ フロントエンド (AFE) カテゴリ ............................................... 33

    2016 Microchip Technology Inc. DS40001718E_JP - 3

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    4.4.3.1 信号マッチング .........................................................................334.4.3.2 電極マッピング .........................................................................34

    4.4.4 デジタル信号処理 (DSP) カテゴリ ...........................................................354.4.4.1 送信周波数選択 .........................................................................354.4.4.2 タッチ検出 ................................................................................364.4.4.3 近接検出 ....................................................................................36

    4.4.5 システムカテゴリ ......................................................................................374.4.5.1 AirWheel ...................................................................................374.4.5.2 ジェスチャ処理 (HMM) .............................................................374.4.5.3 校正動作モード ........................................................................384.4.5.4 データ出力イネーブルマスク ...................................................394.4.5.5 データ出力ロックマスク ..........................................................404.4.5.6 データ出力要求マスク ..............................................................41

    4.5 Sensor_Data_Output ................................................................................... 42

    第 5 章 GestIC® ライブラリ更新用メッセージ5.1 ライブラリローダの更新手順 ..................................................................... 475.2 Fw_Update_Start ........................................................................................ 485.3 Fw_Update_Block ....................................................................................... 505.4 Fw_Update_Completed ............................................................................... 52

    補遺 A. I2C™ コマンドの例補遺 B. 用語集各国の営業所とサービス ...............................................................................................62

    DS40001718E_JP - 4 2016 Microchip Technology Inc.

  • MGC3030/3130 GestIC® ライブラリインターフェイス ユーザガイド

    序章

    はじめに

    序章には、MGC3030/3130 GestIC® ライブラリ インターフェイスを使い始める前に知っておくと便利な一般情報を記載しています。主な内容は以下の通りです。

    • 本書の構成• 本書の表記規則• 保証登録• 推奨参考資料• Microchip 社のウェブサイト• 開発システムの顧客変更通知サービス• カスタマサポート• 改訂履歴

    本書の構成

    本書は MGC3030/3130 GestIC ライブラリについて説明します。構成は以下の通りです。

    • 第 1 章「はじめに」• 第 2 章「MGC3030/3130 のホスト インターフェイス」• 第 3 章「GestIC® ライブラリのメッセージ インターフェイス」• 第 4 章「GestIC® ライブラリ メッセージ リファレンス」• 第 5 章「GestIC® ライブラリ更新用メッセージ」• 補遺 A. I2C™ コマンドの例• 補遺 B. 用語集

    注意

    全ての文書の内容は時間と共に古くなります。本書も例外ではありません。お客様のニーズを満たすため、Microchip 社の製品は常に改良を重ねており、実際のダイアログやツールが本書の内容とは異なる場合があります。最新の文書は弊社ウェブサイト(www.microchip.com)でご覧になれます。

    文書は「DS」番号によって識別します。この識別番号は各ページのフッタのページ番号の前に表記しています。DS 番号「DSXXXXXA」の「XXXXX」は文書番号、「A」はリビジョンレベルを表します。

    開発ツールの最新情報は MPLAB® IDE のオンラインヘルプでご覧になれます。[Help] メニューから[Topics] を選択すると、オンラインヘルプ ファイルのリストが表示されます。

    2016 Microchip Technology Inc. DS40001718E_JP - 5

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    本書の表記規則 本書には以下の表記規則を適用します。

    表記規則

    概要 意味 例

    Arial、MS ゴシックフォント二重かぎカッコ : 『』 参考資料 『MPLAB® IDE ユーザガイド』太字 テキストの強調 ... は唯一のコンパイラです ...角カッコ : [ ] ウィンドウ名 [Output] ウィンドウ

    ダイアログ名 [Settings] ダイアログメニューの選択肢 [Enable Programmer] を選択

    かぎカッコ : 「 」 ウィンドウまたはダイアログのフィールド名

    「Save project before build」

    右山カッコ (>) で区切った下線付きテキスト

    メニュー項目の選択 File>Save

    太字 ダイアログのボタン [OK] をクリックするタブ [Power] タブをクリックする

    N‘Rnnnn Verilog 形式の数値(N は総桁数、R は基数、n は各桁の値 )

    4‘b0010、2‘hF1

    山カッコ (< >) で囲んだテキスト

    キーボードのキー 、 を押す

    Courier Newフォント標準書体の Courier New サンプル ソースコード #define START

    ファイル名 autoexec.batファイルパス c:\mcc18\hキーワード _asm, _endasm, staticコマンドライン オプション -Opa+, -Opa-ビット値 0?1定数 0xFF, ‘A’

    斜体の Courier New 変数の引数 file.o (fileは有効な任意のファイル名 )

    角カッコ : [ ] オプションの引数 mcc18 [options] file [options]

    中カッコとパイプ 文字 :{ | }

    いずれかの引数を選択する場合 (OR 選択 )

    errorlevel {0|1}

    省略記号 : ... 繰り返されるテキスト var_name [, var_name...]ユーザが定義するコード void main (void)

    { ...}

    DS40001718E_JP - 6 2016 Microchip Technology Inc.

  • 序章

    保証登録

    同封の保証登録カードにご記入の上、お早めに郵送してください。この保証登録カードを送付されたお客様には、製品の更新情報をお送りします。ソフトウェアのマイナーリリースは弊社ウェブサイトで提供しております。

    推奨参考資料

    本書はMGC3030/3130 GestICライブラリ インターフェイスの使い方について説明します。参考資料として、以下の Microchip 社文書を推奨します。MGC3030/3130 3D 位置追跡およびジェスチャ コントローラ データシート(DS40001667) MGC3030/3130 3D トラッキングおよびジェスチャ コントローラの情報については、この文書を参照してください。

    Aurea Graphical User Interface User’s Guide (DS40001681) MGC3X30 Aurea グラフィカル ユーザ インターフェイスの使い方が記載されています。

    GestIC® 設計ガイド (DS40001716) GestIC システムの特性パラメータと設計プロセスについて説明します。本書を読む事で、効果的な電極設計と GestIC システム全体のパラメータ設定が可能になります。Aurea ソフトウェア パッケージ - Aurea GUI と GestIC ライブラリAurea GUI は、GestIC ライブラリ機能とそれらのパラメータ設定に関する詳細情報を提供します。それらの情報には、Aurea パラメータ設定ウィザード内のヘルプページからアクセスできます。対応する HTML 文書は Aurea インストール フォルダの

    「01_ Documentation」フォルダ内に収められています。

    Note: 本書は MGC3030 および MGC3130 デバイスを対象とします。本書では、それらのデバイスを全て MGC3X30 と呼びます。

    2016 Microchip Technology Inc. DS40001718E_JP - 7

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    Microchip 社のウェブサイトMicrochip 社は、自社が運営するウェブサイト (www.microchip.com) を通してオンライン サポートを提供しています。当ウェブサイトでは、お客様に役立つ情報とファイルを簡単に見つけ出せます。GestIC テクノロジおよび MGC3X30 に関する情報はhttp://www.microchip.com/gestic で提供しています。

    開発システムの顧客変更通知サービス

    Microchip 社の顧客変更通知サービスは、お客様に Microchip 社製品の最新情報をお届けする配信サービスです。ご興味のある製品ファミリまたは開発ツールに関する変更、更新、リビジョン、エラッタ情報をいち早くメールにてお知らせします。

    Microchip 社ウェブサイト (www.microchip.com) にアクセスし、[Customer ChangeNotification] からご登録ください。以下の開発システム製品カテゴリが選べます。

    • コンパイラ - Microchip 社の C コンパイラ、アセンブラ、リンカ、その他の言語ツールの最新情報を提供します。これには MPLAB C コンパイラ全製品、MPLAB アセンブラ全製品 (MPASM™ アセンブラを含む )、MPLAB リンカ全製品 (MPLINK™ オブジェクト リンカを含む )、MPLAB ライブラリアン全製品 (MPLIB™ オブジェクトライブラリアンを含む ) が含まれます。

    • エミュレータ - Microchip 社のインサーキット エミュレータの最新情報を提供します。これには MPLAB REAL ICE™ と MPLAB ICE 2000 インサーキット エミュレータが含まれます。

    • インサーキット デバッガ - Microchip 社のインサーキット デバッガの最新情報を提供します。これには MPLAB ICD 3 インサーキット デバッガと PICkit™ 3 DebugExpress が含まれます。

    • MPLAB® IDE – Microchip 社の MPLAB IDE( 開発システムツール向け Windows 統合開発環境 ) の最新情報を提供します。これには MPLAB IDE、MPLAB IDE プロジェクト マネージャ、MPLAB エディタ、MPLAB SIM シミュレータと一般的な編集 / デバッグ機能が含まれます。

    • プログラマ - Microchip 社のプログラマの最新情報を提供します。これには、MPLABREAL ICE インサーキット エミュレータ、MPLAB ICD 3 インサーキット デバッガ、MPLAB PM3 デバイス プログラマ等の量産プログラマが含まれます。また、PICSTART® Plus、PICkit 2/3 等、非量産向けの開発プログラマも含まれます。

    DS40001718E_JP - 8 2016 Microchip Technology Inc.

    http://www.microchip.comhttp://www.microchip.com/gestichttp://www.microchip.com/gestichttp://www.microchip.com

  • 序章

    カスタマサポート

    Microchip 社製品をお使いのお客様は、以下のチャンネルからサポートをご利用になれます。

    • 代理店または販売担当者• 弊社営業所• フィールド アプリケーション エンジニア (FAE)• 技術サポートサポートは販売代理店までお問い合わせください。各地の営業所もご利用になれます。

    技術サポートは以下のウェブページからもご利用になれます。 http://www.microchip.com/support

    改訂履歴

    リビジョン A (2013 年 8 月 )本書の初版です。

    リビジョン B (2013 年 11 月 )第 1 章~第 4 章を更新し、第 5 章を追加しました。GestIC ライブラリ V1.0 以上に関する内容を更新しました。

    リビジョン C (2014 年 5 月 )セクション 3.5.2 ( ペイロードの抽出 )、セクション 4.2 (Request_Message)、セクション 4.4 (Set_Runtime_Parameter)、セクション 4.5 (Sensor_Data_Output) を更新しました。表 3-7、3-12、3-13、3-14、5-2、5-4、5-6 を更新しました。補遺 A (I2C™コマンドの例 ) を追加しました。

    リビジョン D (2015 年 1 月 )文書のタイトルを変更しました。「推奨参考資料」に Note を追加し、文書のタイトルを更新しました。補遺 B を更新しました。その他の細部を修正しました。

    リビジョン E (2015 年 7 月 )3.5.2、4.4.5.2、4.4.5.4、4.4.5.6 内の文書を更新しました。 表 3-5、4-5、4-6、4-10、5-2 と補遺 A 内の表を更新しました。GestIC ライブラリ V1.3 以上に関する内容を更新しました。その他の細部を修正しました。

    2016 Microchip Technology Inc. DS40001718E_JP - 9

    http://www.microchip.com/support

  • MGC3030/3130 GestIC® ライブラリインターフェイス ユーザガイド

    第 1 章 はじめに

    1.1 本書の目的

    本書は、MGC3X30 の GestIC® ライブラリのインターフェイスについて説明します。本書は、GestIC ライブラリの I2C™ メッセージ インターフェイスの機能について説明すると共に、MGC3X30 システムを制御および操作するためのメッセージ リファレンスを提供します。 本書の主な内容は以下の通りです。

    • メッセージ インターフェイスとデータプロトコル• GestIC ライブラリのメッセージ リファレンス本書では、Colibri Suite のパラメータ設定について説明しません。パラメータ設定を実行するには PC 向け Aurea ソフトウェアが必要です。Aurea パラメータ設定ウィザード内のヘルプページと『Aurea Graphical User Interface User’s Guide』(DS40001681) を参照してください。

    1.2 MGC3X30 ソフトウェア アーキテクチャMGC3X30 システムには、以下の 2 つのソフトウェア レベルでアクセスできます。• GestIC ライブラリのメッセージ インターフェイスを使って I2C で直接アクセスする ( ダイレクト インターフェイス )

    • メッセージの抽象化レイヤであるGestIC APIを使ってアクセスする (管理インターフェイス )

    図 1-1 に、これら 2 通りのアクセスの例を示します。図 1-1: MGC3X30 へのソフトウェア アクセスの例

    MGC3X30 へのアクセス方法として、ダイレクト インターフェイスの方が簡潔ですが、全ての I2C メッセージを受信およびデコードし、受信データを検証する必要があります。アプリケーションで扱うセンサデータの量が少ない場合 ( 例 : ジェスチャのみ、位置情報のみ ) はダイレクト インターフェイスを推奨します。GestIC API を使った管理インターフェイスでは、デコードおよび検証済みのセンサデータが得られるため、アプリケーションですぐに使う事ができます。通常、GestIC API は PC アプリケーションまたは OS ドライバ内で動作し、アプリケーション ソフトウェアにデータを提供します。以下では、2 つのインターフェイス モードの構成要素について簡潔に説明します。

    Application Host

    Application Software- Message decoding- Buffering

    MGC3X30

    GestIC® Library Message Interface

    Application Host

    MGC3X30

    Application Software

    GestIC® API- Message decoding- Buffering

    GestIC® Library

    API Structures

    Message Interface

    BridgeI²C™

    USBI²C™

    Administered Interface Direct Interface

    2016 Microchip Technology Inc. DS40001718E_JP - 10

  • はじめに

    1.3 GestIC® ライブラリGestIC ライブラリは、MGC3X30 の内部フラッシュメモリに書き込まれる組み込みファームウェアです。これは以下を含みます。

    • Colibri Suite: GestIC の機能 ( 近接検出、位置追跡、ジェスチャ認識 ) のためのデジタル信号処理アルゴリズムを提供します。

    • システム制御ブロック : ホスト インターフェイス、パラメータの保存、AFE アクセスを全て制御します。

    • ライブラリローダ : GestIC ライブラリを更新します。図 1-2 に、これらの主要構成要素を示します。

    GestIC ライブラリはメッセージベースのインターフェイスを備えています。これを使ってデバイスの設定と、ホスト アプリケーションへのセンサデータのストリーミングを実行します。

    図 1-2: GestIC® ライブラリの構成要素

    1.4 ブリッジアプリケーション ホストがI2Cインターフェイスをネイティブにサポートしていない場合、ハードウェア ブリッジが別途必要です。このブリッジは、I2C ハードウェア プロトコルを USB/UART に変換します。

    ハードウェア ブリッジを使う場合、インターフェイスを登録しオペレーティング システムでMGC3X30のデータを提供するためのデバイスドライバをアプリケーションホストに追加する必要があります。

    例 : • MGC3X30 のデータを仮想 COM ポートに送信する Windows® CDC ドライバ : この場合、ドライバは MGC3X30 のデータ フォーマットを認識しません。

    • MGC3X30 のデータをオペレーティング システム内で USB HID クラスとして直接使えるようにする HID ドライバ : このドライバは MGC3X30 メッセージをデコードする必要があるため、GestIC API リファレンス コードをドライバに含める事を推奨します。

    GestIC® Library Architecture

    Digital Signal Processing

    Library Loader

    System ControlColibry Suite

    Parametersstorage

    AFE access

    Interface control

    Position Tracking

    Gesture Recognition

    Approach Detection

    GestIC® Library Building Blocks

    Digital Signal Processing

    Library Loader

    System ControlColibri Suite

    Parametersstorage

    AFE access

    Interface control

    Position Tracking

    Gesture Recognition

    Approach Detection

    2016 Microchip Technology Inc. DS40001718E_JP - 11

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    1.5 GestIC APIユーザ アプリケーションに容易に組み込む事ができる簡潔なユーザ インターフェイスを提供するため、Microchip 社は GestIC API を MGC3X30 メッセージ向けの抽象化レイヤとして開発しました。

    GestIC API にはメッセージ バッファ、デコーダ、イベントハンドラを含む C 言語のリファレンス コードが付属しており、ローレベルのプロトコルおよびタイミング制約から独立したインターフェイスを提供します。

    1.6 アプリケーション ソフトウェアユーザ アプリケーションでは、センサ出力を使って、ユーザの手の動きに基づくコンテクスト駆動型のアクションを組み込みます。

    通常、アプリケーション ソフトウェアは、MGC3X30 評価および開発キットに付属する Aurea のように、MGC3X30 の制御オプションを表示するグラフィカル ユーザ インターフェイス (GUI) を提供します。

    DS40001718E_JP - 12 2016 Microchip Technology Inc.

  • MGC3030/3130 GestIC® ライブラリインターフェイス ユーザガイド

    第 2 章 MGC3030/3130 のホスト インターフェイス

    2.1 MGC3X30 のハードウェア インターフェイスMGC3X30 との通信には 2 線式の I2C 互換シリアルポートを使います。これにより、センサデータの読み出しとデバイスへの制御メッセージの送信が行えます。MGC3X30 はこのシリアル インターフェイス介してマスタコントローラ (最高 400 kHzで動作 )と通信します。アドレス選択用のピン (IS2) を使う事で、同じバスに 2 つの MGC3X30 をアドレス競合なしに接続できます。

    また、MGC3X30 にはデータ転送ステータス機能を備えた専用の転送ステータス (TS)ラインが必要です。データフローを制御するために、I2C のマスタとスレーブの両方が TS を使います。I2C SCL、I2C SDA、TS ラインは、MGC3X30 とホスト コントローラでオープンドレイン接続を必要とします。正しく動作させるには、I2C SCL とI2C SDA を 1.8 kΩ の抵抗で VCC にプルアップし、TS ラインを 10 kΩ 抵抗で VCC にプルアップする必要があります。

    図 2-1: ホスト コントローラへのハードウェア インターフェイス

    MGC3X30 を完全に制御するため、ホスト コントローラ側から MGC3X30 の MCLRラインを制御する事を推奨します。特に、GestIC ライブラリの更新にはハードウェア リセットが必要です。

    Note: MGC3X30 の I2C™ アドレスは 0x42 と 0x43 です。これらは R/W ビットを付加する前のデバイスアドレスです。『MGC3030/3130 3D 位置追跡およびジェスチャ コントローラ データシート』(DS40001667) を参照してください。

    HostController

    SDASCL

    EIO0

    MCLR

    SDASCL

    GPIO

    GPIO

    SDASCL

    TS

    Vcc

    1.8k

    10k

    1.8k

    IS1IS2

    10k

    10k

    MCLR

    10k

    2016 Microchip Technology Inc. DS40001718E_JP - 13

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    2.2 TS ラインの使い方TS ラインは、I2C データが有効かどうかと、MGC3X30 からホスト コントローラへ送信できるかどうかを確認するために使います。

    MGC3X30 (I2C スレーブ ) は、転送するデータが存在する事をホスト コントローラ(I2C マスタ ) に知らせるためにこのラインを使います。ホスト コントローラは TS ラインを使ってデータが転送中である事を示し、MGC3X30 がデータバッファを更新する事を防ぎます。

    MGC3X30 は、両方のデバイスが TS を解放した時にのみ I2C バッファを更新できます。また、データ転送を開始できるのは、MGC3X30 が TS を LOW にプルダウンした時だけです。

    この手順により、以下の動作が確保されます。

    • 新しいセンサデータが利用可能になった時、必ずホストに通知する• データがI2Cバスに送信される前に、必ずMGC3X30のバッファ更新が完了している表 2-1 に、通信の各種状態における TS ラインの使い方を示します。

    表 2-1: 転送ステータス (TS) ラインの使い方MGC3X30 ホスト コントローラ TS ライン ステータス

    解放 (H) 解放 (H) HIGH ホストがデータ読み出しを完了した ( 転送終了 )。これ以上ホストに転送するデータはない。MGC3X30 はデータバッファを更新できる。

    アサート (L) 解放 (H) LOW MGC3X30 に送信可能なデータが存在するが、ホストは読み出しを開始していない。ホストがビジーで次のデータ更新 (5 ms) までに読み出しを開始しなかった場合、MGC3X30 はデータバッファの更新中に TS ラインを HIGHにアサートする。

    アサート (L) アサート (L) LOW ホストが読み出しを開始する。MGC3X30 のデータバッファは転送が終了する ( ホストが TS を HIGH に解放する )まで更新されない。

    解放 (H) アサート (L) LOW MGC3X30 はデータバッファを更新できる状態にあるが、ホストが前のデータをまだ読み出し中である。MGC3X30は、ホストが TS を HIGH に解放した時点でデータを更新できるようになる。

    DS40001718E_JP - 14 2016 Microchip Technology Inc.

  • MGC3030/3130 のホスト インターフェイス

    図 2-2 に、通信プロトコルの全体を示します。

    図 2-2: MGC3X30 の通信プロトコル

    Transfer Status(TS)

    I2C™ Bus MGC3130 related Transfer MGC3130 related Transfer

    TS line pulled low by master when transfer

    is started

    TS line released by master and

    MGC3130 when transfer is finished

    TS line pulled by MGC3130 to request a data transfer

    MGC3130 buffer can be updated

    Non MGC3130 related transfer or Bus Idle

    TS line pulled low by master, when transfer

    is started

    MGC3130 buffer can be updated

    TS line pulled by MGC3130 to request a data transfer

    TS line released by master and

    MGC3130 when transfer is finished

    Note 1: I2C™ データ送信後のストップ条件は、データ転送の完了後にホスト コントローラ (I2C™ マスタ ) で生成されます。従って、メッセージヘッダ内のバイト数 (Size フィールド ) を確認する事を推奨します。

    2: 転送ステータスは、MGC3X30 からホスト コントローラへデータを転送する時にのみ必要です。MGC3X30 への書き込みには追加の TS 信号は不要です。

    2016 Microchip Technology Inc. DS40001718E_JP - 15

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    2.3 サンプルコードMGC3X30 とホスト コントローラ間の通信には、標準の I2C インターフェイスに加えて転送ステータスの適切な処理が必要です。この処理を簡単に組み込むためのサンプルコードを以下に示します。

    例 2-1: ホスト コントローラ側のコード実装I2C Read Function - requires TS:I2C Master read loop:

    Read TSIf TS == 0:

    Assert TSSend I2C start conditionSend I2C device address + read indicationReceive I2C payload (the GestIC Library message)Send I2C stop conditionRelease TS

    Wait 200 μs (to assure that MGC3X30 released TS line, too)I2C Write Function - does not require TS:I2C Master write loop:

    Send I2C start conditionSend I2C device address + write indicationSend I2C payload (the GestIC Library message)Send I2C stop condition

    DS40001718E_JP - 16 2016 Microchip Technology Inc.

  • MGC3030/3130 GestIC® ライブラリインターフェイス ユーザガイド

    第 3章 GestIC® ライブラリのメッセージ インターフェイス

    3.1 メッセージの概要GestIC® ライブラリ メッセージは、ホスト アプリケーションにセンサデータを提供するためと、MGC3X30 およびその内蔵機能を制御するために、定義されています。これらのメッセージは、I2C™ パケットのペイロードとして送信されます。

    3.2 メッセージのフォーマットメッセージは、GestIC ライブラリとアプリケーション ホストの間でデータを交換するためのコンテナです。各メッセージは 4 ~ 255 バイトの長さを持ち、通信インターフェイス ( 例 : I2C) のデータパケットに収まります。1 つのフレームで 1 つのメッセージを転送します ( 図 3-1 参照 )。

    図 3-1: I2C™ フレームに埋め込まれた MGC3X30 のメッセージ

    メッセージは 4 バイト ( 固定長 ) のヘッダと可変長のペイロードで構成されます。図 3-2 に、メッセージの書式を示します。図 3-2: MGC3X30 メッセージの書式

    表 3-1: システム制御用メッセージID 名称 ページ

    0x15 System_Status 270x06 Request_Message 290x83 Fw_Version_Info 300xA2 Set_Runtime_Parameter 32

    表 3-2: センサデータ出力用メッセージID 名称 ページ

    0x91 Sensor_Data_Output 42

    表 3-3: GestIC® ライブラリ更新用メッセージID 名称 ページ

    0x80 Fw_Update_Start 480x81 Fw_Update_Block 500x82 Fw_Update_Completed 52

    MGC3X30 Message4..255 Bytes

    Device AddressSTART STOPR/W7 Bit 1 Bit1 Bit 1 Bit

    Header Payload4 Bytes

    4..255 Bytes

    dependent on Message ID

    2016 Microchip Technology Inc. DS40001718E_JP - 17

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    3.3 メッセージヘッダGestIC ライブラリのメッセージヘッダは 4 バイトの固定長です。メッセージヘッダは、図 3-3 に示す 4 つのデータフィールドで構成されます。表 3-4 に、各フィールドの説明を示します。

    図 3-3: MGC3X30 のメッセージヘッダ

    3.4 メッセージ ペイロードメッセージ ペイロードは可変長であり、交換する情報を格納した 1 つまたは複数のペイロード要素で構成されます。内容に応じ、ペイロード要素には数値または特定の番号を格納します。

    図 3-4: MGC3X30 のメッセージ ペイロード

    ペイロード要素の構造と内容は第 4 章「GestIC® ライブラリ メッセージ リファレンス」に記載しています。

    表 3-4: MGC3X30 メッセージヘッダのデータフィールド

    フィールドサイズ

    ( バイト ) 概要

    Size 1 ヘッダを含むメッセージ全体のサイズ ( バイト )Flags 1 将来用に予約済みSeq 1 シーケンス番号

    MGC3X30 がメッセージを 1 つ送信するたびにインクリメントします。レンジは 0 ~ 255 です。ホスト コントローラは、この情報を利用して I2C™ 転送中にメッセージの取りこぼしが発生したかどうかチェックします。MGC3X30 は受信メッセージのシーケンス番号を無視します。

    ID 1 メッセージの IDGestIC® ライブラリは、各 ID に対して専用の構造体 ( メッセージの方向、ペイロード要素、可能な応答アクションで構成 ) を持ちます。

    size flags

    Header

    seq

    Payload4 Bytes

    4..255 Bytes

    dependent on Message ID

    ID1 Byte 1 Byte 1 Byte 1 Byte

    data data

    Header

    data

    Payload4 Bytes

    4..255 Bytes

    dependent on Message ID

    ...1 Byte 1 Byte 2 Bytes

    Note: ペイロード要素はリトル エンディアン形式で交換されます。つまり、最下位バイトから順に書き込まれます。

    例 : ペイロード要素が 4 バイトの場合 : [Byte0]:[Byte1]:[Byte2]:[Byte3]

    DS40001718E_JP - 18 2016 Microchip Technology Inc.

  • GestIC® ライブラリのメッセージ インターフェイス

    3.5 メッセージのエンコードとデコードGestICライブラリのメッセージは連続する16進値として読み出す事ができます。メッセージをデコードするには、ヘッダとペイロード要素を抽出し、メッセージ リファレンス ( 第 4 章「GestIC® ライブラリ メッセージ リファレンス」参照 ) の定義に従ってマッピングする必要があります。

    この後の説明では、例としてメッセージ (ID 0x83、FW_Version_Info) をデコードします。

    例 3-1: メッセージ 0x83の 16進 表現

    3.5.1 ヘッダの抽出

    例 3-2: メッセージヘッダ

    メッセージヘッダは以下の情報を格納します。

    • Size: 0x84 ヘッダを含むメッセージの長さは 132 バイト• Flags: 0x00 フラグはセットされていない• Seq: 0x00 メッセージはシーケンス番号 0 で送信された• ID: 0x83 メッセージ ID は 0x83 (Fw_Version_Info)

    84 00 00 83 AA 63 80 E6 0C 64 15 20 31 2E 30 2E 30 3B 70 3A 48 69 6C 6C 73 74 61 7256 30 31 3B 44 53 50 3A 49 44 39 30 30 30 72 31 38 34 39 3B 69 3A 42 3B 66 3A 32 3235 30 30 3B 6E 4D 73 67 3B 73 3A 42 65 74 61 32 72 31 30 34 30 3A 31 30 34 39 3A 4D4F 3B 63 3A 4D 4B 49 3B 74 3A 32 30 31 33 2F 31 31 2F 30 38 20 31 33 3A 30 33 3A 3000 10 00 00 55 AA 90 65 20 20 80 0F FF 00 FF 00 E1 EA 00 00

    84 00 00 83 AA 63 80 E6 0C 64 15 20 31 2E 30 2E 30 3B 70 3A 48 69 6C 6C 73 74 61 7256 30 31 3B 44 53 50 3A 49 44 39 30 30 30 72 31 38 34 39 3B 69 3A 42 3B 66 3A 32 3235 30 30 3B 6E 4D 73 67 3B 73 3A 42 65 74 61 32 72 31 30 34 30 3A 31 30 34 39 3A 4D4F 3B 63 3A 4D 4B 49 3B 74 3A 32 30 31 33 2F 31 31 2F 30 38 20 31 33 3A 30 33 3A 3000 10 00 00 55 AA 90 65 20 20 80 0F FF 00 FF 00 E1 EA 00 00

    2016 Microchip Technology Inc. DS40001718E_JP - 19

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    3.5.2 ペイロードの抽出

    例 3-3: メッセージ ペイロード

    4.3「Fw_Version_Info」で説明しますが、Fw_Version_Info は以下の 7 個のペイロード要素を保持します。

    • FwValid GestIC ライブラリのステータス (1 バイト )• HwRev ハードウェア リビジョン情報 (2 バイト )• ParameterStartAddr パラメータの開始アドレス (1 バイト )• LibraryLoaderVersion GestIC ライブラリローダのバージョン (2 バイト )• LibraryLoaderPlatform GestIC ライブラリローダのプラットフォーム

    (1 バイト )• FwStartAddr GestIC ライブラリの開始アドレス (1 バイト )• FwVersion GestIC ライブラリのバージョン情報 ( 有効な場合 )

    (120 バイト )上記のメッセージ ペイロードを変換およびマッピングすると、各ペイロード要素の内容は以下のようになります。

    FwValid = AA (170): 有効な GestIC ライブラリが利用可能HwRev = 63 80 (0x80 0x63として読み出し ): ハードウェア

    リビジョンは 128.99ParameterStartAddr = 0xE6 (230x128=29440): パラメータの開始アドレス

    は 29440LibraryLoaderVersion = 0C 64 (0x64 0x0C として読み出し ): ライブラリ

    ローダのバージョンは 100.12LibraryLoaderPlatform = 15 (0x15として読み出し ): ライブラリ ローダのプ

    ラットフォームは 21FwStartAddr = 0x20 (32x128=4096): GestIC ライブラリの開始アド

    レスは 4096FwVersion = 31 2E 30 2E 30 3B 70 3A 48 69 6C 6C 73 74 61 72 56 3031 3B 44 53 50 3A 49 44 39 30 30 30 72 31 38 34 39 3B 69 3A 423B 66 3A 32 32 35 30 30 3B 6E 4D 73 67 3B 73 3A 42 65 74 61 3272 31 30 34 30 3A 31 30 34 39 3A 4D 4F 3B 63 3A 4D 4B 49 3B 743A 32 30 31 33 2F 31 31 2F 30 38 20 31 33 3A 30 33 3A 30 00 1000 00 55 AA 90 65 20 20 80 0F FF 00 FF 00 E1 EA 00 00バージョン文字列は ASCII 文字として解釈されます。バージョン情報は常にバージョン番号で始まり、その後にセミコロンで区切られた各種タグが続きます。

    1.0.0;p:HillstarV01;DSP:ID9000r1849;i:B;f:22500;nMsg;s:Beta2r1040:1049:MO;c:MKI;t:2013/11/08 13:03:0;...

    84 00 00 83 AA 63 80 E6 0C 64 15 20 31 2E 30 2E 30 3B 70 3A 48 69 6C 6C 73 74 61 72 5630 31 3B 44 53 50 3A 49 44 39 30 30 30 72 31 38 34 39 3B 69 3A 42 3B 66 3A 32 32 35 3030 3B 6E 4D 73 67 3B 73 3A 42 65 74 61 32 72 31 30 34 30 3A 31 30 34 39 3A 4D 4F 3B 633A 4D 4B 49 3B 74 3A 32 30 31 33 2F 31 31 2F 30 38 20 31 33 3A 30 33 3A 30 00 10 00 0055 AA 90 65 20 20 80 0F FF 00 FF 00 E1 EA 00 00

    DS40001718E_JP - 20 2016 Microchip Technology Inc.

  • GestIC® ライブラリのメッセージ インターフェイス

    3.6 メッセージ制御フローとエンコード例

    3.6.1 メッセージ制御フローMGC3X30 GestIC ライブラリの制御には以下のメッセージを使います。• Set_Runtime_Parameter (ID 0xA2)• Request_Message (ID 0x06)MGC3X30 は、制御メッセージを受信するたびにメッセージの ID と 2 バイトのエラーコードを含む System_Status (ID 0x15)を返します。エラーコードが「0」の場合、メッセージは MGC3X30 に正しく適用された事を示します。 図 3-5 に、アプリケーション ホストから見たメッセージ制御フローを示します。

    図 3-5: アプリケーション ホストから見たメッセージ制御

    Start

    Send Control Messagee.g., Set_Runtime_Parameter (ID 0xA2)

    ErrorCode = 0 ?

    Control Message is applied

    Receive System_Status System_Status (ID 0x15)

    NO

    YES

    Note: Hillstar および Sabrewing I2C™-to-USB ブリッジは、全ての I2C™ パケットに接頭辞 0xFEFF を付加したものを UART エミュレーションにより USBへ送信します。これは、PC のデータストリーム内部でフレームを分離できるようにするためです。ターミナル プログラム ( 例 : Hterm) からMGC3X30 に送信するメッセージにも、この接頭辞を追加する必要があります。

    2016 Microchip Technology Inc. DS40001718E_JP - 21

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    3.6.2 GestIC ライブラリ バージョンの読み出し電源投入またはリセット後、MGC3X30 はライブラリローダを実行し、Fw_Version_Info (0x83)メッセージを送信します。アプリケーション ホストは、このメッセージを最初の通信チェックとして受信します。200 ms のタイムアウト後、GestIC ライブラリの処理モードが自動的に始まります。アプリケーション ホストは、実行中に Request_Message (0x06) を使ってFW_Version_Infoを要求できます。3.6.2.1 例 : Request_FW_Version Info次の例では、Request_Message (0x06)を使って FW_Version_Info (0x83)メッセージを要求する方法を示します。

    MGC3X30 は、メッセージ FW_Version_Info (0x83) で応答した後にエラーコードを格納したSystem_Status (0x15)メッセージを返します。

    FW_Versionは、以下のように ASCII 文字として解釈されます : 1.0.0;p:HillstarV01;DSP:ID9000r1849;i:B;f:22500;nMsg;s:Beta2r1040:1049:MO;c:MKI;t:2013/11/08 13:03:08;…• GestIC ライブラリ バージョン : 1.0.0• プラットフォーム : HillstarV01• Colibri Suite バージョン : ID9000r1849• ビルドの日時 : 2013/11/08 13:03:08

    表 3-5: ホストから MGC3X30 へのメッセージ : Request_Message (0x06)Raw

    メッセージ0C 00 00 06 83 00 00 00 00 00 00 00

    ペイロード要素 MessageID Reserved Parameter16 進数 ( リトル エンディアン )

    83 00 00 00 00 00 00 00

    デコード後の 16 進数 0x83 n/a n/a概要 FW_Version_Info n/a n/a

    表 3-6: MGC3X30 からホストへのメッセージ : FW_Version_Info (0x83)

    Raw メッセージ

    84 00 01 83 AA 00 00 FF 00 00 00 20 31 2E 30 2E 30 3B 70 3A 48 69 6C 6C 73 74 61 72 56 30 31 3B 44 53 50 3A 49 44 39 30 30 30 72 31 38 34 39 3B 69 3A 42 3B 66 3A 32 32 35 30 30 3B 6E 4D 73 67 3B 73 3A 42 65 74 61 32 72 31 30 34 30 3A 31 30 34 39 3A 4D 4F 3B 63 3A 4D 4B 49 3B 74 3A 32 30 31 33 2F 31 31 2F 30 38 20 31 33 3A 30 33 3A 30 38 3B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E1 EA 00 00

    ペイロード

    要素

    FWValid HWRev ParameterStar-tAddr

    LibraryLoad-erVersion

    LibraryLoad-erPlatform

    FWStartAddr FWVersion

    16 進数 ( リトル エンディアン )

    AA 00 00 FF 00 00 00 20 ...

    デコード後

    の 16 進数0xAA n/a n/a n/a n/a 0x20 ...

    内容 170 ValidFW

    MGC3X30の起動後

    のみ有効

    MGC3X30 の起動後のみ有効

    MGC3X30 の起動後のみ有効

    MGC3X30 の起動後のみ有効

    GestIC® ライブラリの開始アド

    レス

    以下参照

    DS40001718E_JP - 22 2016 Microchip Technology Inc.

  • GestIC® ライブラリのメッセージ インターフェイス

    3.6.3 実行中の制御ランタイムの制御は、Set_Runtime_Parameter (0xA2)メッセージに各種ランタイム パラメータ ID を指定して行います。このメッセージを使って MGC3X30 のアクティブな機能とセンサデータ出力を制御する事により、コンテクストに応じた動作を実現できます。メッセージの詳細な説明は、4.4「Set_Runtime_Parameter」を参照してください。

    以下に、ランタイム パラメータの設定例をいくつか示します。

    3.6.3.1 例 : 近接検出を有効にするこの例は、Set_Runtime_Parameter (0xA2)メッセージを使って近接検出を有効にする方法を示します。

    MGC3X30 は、エラーコードを格納した System_Status (0x15) メッセージで応答します。

    3.6.3.2 例 : 全てのジェスチャを有効にするこの例は、Set_Runtime_Parameter (0xA2) メッセージを使って全てのジェスチャ ( フリックとサークル ) を有効にする方法を示します。

    MGC3X30 は、System_Status (0x15)メッセージで応答します。表 3-8 を参照してください。

    表 3-7: ホストから MGC3X30 へのメッセージ : Set_Runtime_Parameter (0xA2)Raw

    メッセージ10 00 00 A2 97 00 00 00 01 00 00 00 01 00 00 00

    ペイロード要素 RuntimeParameterID Reserved Argument0 Argument116 進数 ( リトル エンディアン )

    97 00 00 00 01 00 00 00 01 00 00 00

    デコード後の16 進数

    0x0097 n/a 0x00000001 0x00000001

    概要 ApproachDetection n/a 近接検出モードを有効にする

    近接検出用のマスクビット

    表 3-8: MGC3X30 からホストへのメッセージ : System_Status (0x15)Raw

    メッセージ10 00 08 15 A2 34 00 00 00 00 00 00 00 00 00 00

    ペイロード要素 MsgID MaxCmdSize ErrorCode Reserved Reserved16 進数 ( リトル エンディアン )

    A2 34 00 00 00 00 00 00 00 00 00 00

    デコード後の16 進数

    0xA2 0x34 0x0000 n/a n/a

    概要 ID 0xA2への肯定応答

    n/a エラーなし n/a n/a

    表 3-9: ホストから MGC3X30 へのメッセージ : Set_Runtime_Parameter (0xA2)Raw

    メッセージ10 00 00 A2 85 00 00 00 7F 00 00 00 7F 00 00 00

    ペイロード要素 RuntimeParameterID Reserved Argument0 Argument116 進数 ( リトル エンディアン )

    85 00 00 00 7F 00 00 00 7F 00 00 00

    デコード後の16 進数

    0x0085 n/a 0x0000007F 0x0000007F

    概要 despGestureMask n/a ジェスチャ 0 ~ 6 を有効にする

    ジェスチャ 0 ~ 6 を有効にするためのマスクビット

    2016 Microchip Technology Inc. DS40001718E_JP - 23

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    3.6.3.3 例 : データ出力を有効にする

    この例は、ジェスチャ データ、タッチデータ、エアホイール データ、位置データをセンサデータ出力に含める方法を示します。4.4.5.4「データ出力イネーブルマスク」を参照してください。

    MGC3X30 は、System_Status (0x15)メッセージで応答します。表 3-8 を参照してください。

    3.6.3.4 例 : データ出力をロックする

    この例は、ジェスチャ データ、タッチデータ、エアホイール データ、位置データを常にセンサデータ出力に含める ( ロックする ) 方法を示します。4.4.5.5「データ出力ロックマスク」を参照してください。

    MGC3X30 は、System_Status (0x15)メッセージで応答します。表 3-8 を参照してください。

    表 3-10: ホストから MGC3X30 へのメッセージ : Set_Runtime_Parameter (0xA2)Raw メッセージ 10 00 00 A2 A0 00 00 00 1E 00 00 00 FF FF FF FF

    ペイロード要素 RuntimeParameterID Reserved Argument0 Argument116 進数 ( リトル エンディアン )

    A0 00 00 00 1E 00 00 00 FF FF FF FF

    デコード後の16 進数

    0xA0 0x0000 0x0000001E 0xFFFFFFFF

    概要 DataOutputEnableMask n/a bit 1 ~ 4 を有効にし、それ以外のビットを全て無効にする

    既存の設定を上書きする

    表 3-11: ホストから MGC3X30 へのメッセージ : Set_Runtime_Parameter (0xA2)Raw メッセージ 10 00 00 A2 A1 00 00 00 1E 00 00 00 FF FF FF FF

    ペイロード要素 RuntimeParameterID Reserved Argument0 Argument116 進数 ( リトル エンディアン )

    A1 00 00 00 1E 00 00 00 FF FF FF FF

    デコード後の16 進数

    0x00A1 0x0000 0x0000001E 0xFFFFFFFF

    内容 DataOutputLockMask n/a bit1 ~ 4 を有効にし、それ以外のビットを全て無効にする

    既存の設定を上書きする

    DS40001718E_JP - 24 2016 Microchip Technology Inc.

  • GestIC® ライブラリのメッセージ インターフェイス

    3.6.4 センサデータ出力GestIC ライブラリは、既定値では 5 ms ごとにセンサデータを処理して更新します。従って、I2C メッセージ バッファはこのレートで周期的に更新されます。新しいデータが利用可能になると、MGC3X30 は TS ラインを LOW にアサートして I2C マスタに 対 し て デ ー タ 転 送 を 開 始 す る よ う 要 求 し ま す。セ ン サ デ ー タ はSensor_Data_Output (0x91)メッセージに格納され、MGC3X30からホストへ送信されます。

    センサデータ出力の内容は、Set_Runtime_Parameter (0xA2)メッセージで設定できます。

    3.6.4.1 例 : センサデータ出力を読み出す

    次の例は、3.6.3.3「例 : データ出力を有効にする」と 3.6.3.4「例 : データ出力をロックする」に示したセンサデータ出力設定に基づきます。

    表 3-12: MGC3X30 からホストへのメッセージ : フリック East → WestRaw

    メッセージ18 08 FF 91 1E 01 57 8C 03 10 04 00 00 00 00 00 00 00 00 00 00 00 00 00

    ペイロード要素

    SystemInfo GestureInfo TouchInfo Air-WheelInfo

    xyzPosition

    16 進数 ( リトル エンディアン )

    8C 03 10 04 00 00 00 00 00 00 00 00 00 00 00 00 00

    デコード後の 16 進数

    0x8C 0x00041003 0x00000000 0x0000 0x000000000000

    概要 Bit 2: RawDataValidBit 3: NoisePowerValidBit 7: DSPRunning

    フリック East →West

    タッチなし エアホイールなし

    利用可能な位置データなし

    表 3-13: MGC3X30 からホストへのメッセージ : 中心電極へのタッチRaw

    メッセージ18 08 3B 91 1E 01 38 8D 00 00 00 00 10 00 00 00 00 00 5A A6 12 53 6B 0A

    ペイロード要素

    SystemInfo GestureInfo TouchInfo Air-WheelInfo

    xyzPosition

    16 進数 ( リトル エンディアン )

    8D 00 00 00 00 10 00 00 00 00 00 5A A6 12 53 6B 0A

    デコード後の 16 進数

    0x8D 0x00000000 0x00000010 0x0000 バイト 1 および 2: 0xA65Aバイト 3 および 4: 0x5312バイト 5 および 6: 0x0A6B

    内容 Bit 0: PositionValidBit 2: RawDataValidBit 3: NoisePowerValidBit 7: DSPRunning

    ジェスチャ検出なし

    中心電極へのタッチ

    エアホイール データなし

    x: 42586y: 21266z: 2667

    2016 Microchip Technology Inc. DS40001718E_JP - 25

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    表 3-14: MGC3X30 からホストへのメッセージ : 位置Raw

    メッセージ18 08 44 91 1E 01 41 8D 00 00 00 00 00 00 00 00 00 00 2F B2 E7 87 6A 35

    ペイロード要素

    SystemInfo GestureInfo TouchInfo Air-WheelInfo

    xyzPosition

    16 進数 ( リトル エンディアン )

    8D 00 00 00 00 00 00 00 00 00 00 2F B2 E7 87 6A 35

    デコード後の 16 進数

    0x8D 0x00000000 0x00000000 0x0000 バイト 1 および 2: 0xB22Fバイト 3 および 4: 0x87E7バイト 5 および 6: 0x356a

    内容 Bit 0: PositionValidBit 2: RawDataValidBit 3: NoisePowerValidBit 7: DSPRunning

    ジェスチャ検出なし

    中心電極へのタッチ

    エアホイール データなし

    x: 45615y: 34791z: 13674

    DS40001718E_JP - 26 2016 Microchip Technology Inc.

  • MGC3030/3130 GestIC® ライブラリインターフェイス ユーザガイド

    第 4 章 GestIC® ライブラリ メッセージ リファレンス

    4.1 System_StatusSystem_Status は、ホストから受信したメッセージに対する肯定応答として使います。このメッセージにはエラーコードが含まれ、以下のメッセージが送信された事を確認するために使います。

    • Request_Message• Set_Runtime_Parameter• Fw_Update_Start (0x80)• Fw_Update_Block (0x81)• Fw_Update_Completed (0x82)方向 : MGC3X30 からホストへ

    表 4-1: メッセージ概要ヘッダ ペイロード

    Size

    Flag

    s

    Seq

    ID

    MsgI

    D

    MaxC

    mdSi

    ze

    Erro

    rCode

    Rese

    rved

    Rese

    rved

    1 バイト 1 バイト 1 バイト 1 バイト 1 バイト 1 バイト 2 バイト 4 バイト 4 バイト0x10 n/a n/a 0x15 下記を参照

    表 4-2: ペイロード要素

    要素要素サイズ ( バイト ) 概要

    MsgID 1 System_Statusがどのメッセージ ID に対する応答なのかを示します。構造 : 1 バイトレンジ : (0x00..0xFF)

    MaxCmdSize 1 GestIC® ライブラリが受け入れる I2C™ パケットの最大サイズ ( ヘッダを含む ) を格納します。構造 : 1 バイトレンジ : (0..0xFF)

    2016 Microchip Technology Inc. DS40001718E_JP - 27

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    ErrorCode 2 直前のメッセージに対して返すエラーコードです。構造 : 16 ビットワード ( 下記の値のいずれか )可能な値 : 以下のエラーコードは、ライブラリローダ、ライブラリローダ アップデータ、ライブラリによって送信されます。0x0000 NoError OK0x0001 UnknownCommand メッセージ ID が不明

    以下のエラーコードは、ライブラリローダによって送信されます。

    0x0002 InvalidSessionId セッション ID が無効または一致しない(0x0は許容されません )

    メッセージ : Fw_Update_Start Fw_Update_Completed

    0x003 InvalidCrc CRC が無効メッセージ : Fw_Update_Block Fw_Update_Start Fw_Update_Completed

    0x0004 InvalidLength 長さが無効 メッセージ : Fw_Update_Block0x0005 InvalidAddress アドレスが無効 メッセージ : Fw_Update_Block0x0006InvalidFunction ファンクション ID が無効 メッセージ : Fw_Update_Start

    Fw_Update_Block Fw_Update_Completed

    0x0008 ContentMismatch 関数 VerifyOnlyが内容とフラッシュメモ リの間に不一致を検出した メッセージ : Fw_Update_Block0x000B WrongParameterAddr 新しくロードするライブラリ ファームウェ アに含まれるパラメータ開始アドレスがライ ブラリローダが期待するアドレスと一致しな いため、ライブラリの更新が中止された

    メッセージ : Fw_Update_Start

    以下のコードはライブラリによって送信されます。

    0x0014 WrongParameterValue RuntimeParameterコマンドの引数/パラメー タの値がレンジ外 メッセージ : Request_Message

    Set_Runtime_Parameter0x0015 UnknownParameterID MessageID または RuntimeParameterID が 不明またはレンジ外 メッセージ : Request_Message

    Set_Runtime_Parameter0x001 AWakeupHappend ホストによる復帰が検出された

    以下のエラーコードはライブラリローダ アップデータによって送信されます。0x0080LoaderUpdateStarted ライブラリローダ更新が開始した0x0081LoaderUpdateFinished ライブラリローダ更新が完了した

    Reserved 4 予約済みReserved 4 予約済み

    表 4-2: ペイロード要素 ( 続き )

    要素要素サイズ ( バイト ) 概要

    DS40001718E_JP - 28 2016 Microchip Technology Inc.

  • GestIC® ライブラリ メッセージ リファレンス

    4.2 Request_MessageRequest_Messageは、指定したIDのメッセージで応答するようGestICライブラリに要求します。

    方向 : ホストから MGC3X30 へ

    表 4-3: メッセージ概要ヘッダ ペイロード

    Size

    Flag

    s

    Seq

    ID

    Mess

    ageID

    Rese

    rved

    Para

    m.

    1 バイト 1 バイト 1 バイト 1 バイト 1 バイト 3 バイト 4 バイト0x0C n/a n/a 0x06 下記を参照

    表 4-4: ペイロード要素

    要素サイズ

    ( バイト ) 概要

    MessageID 1 MessageIDで指定した ID のメッセージを GestIC ライブラリに対して要求します。GestIC ライブラリは、要求されたメッセージを返すか、何も応答しないかのどちらかです。構造 : 1 バイト、16 進数の値として読み出しレンジ : (0x00..0xFF)

    Reserved 3 予約済み、「0」を書き込みます。Param. 4 返されるメッセージの種類をさらに詳細に指定します ( オプション )。

    例 : Set_Runtime_Parameterメッセージを要求する場合、Param.は読み出したいパラメータの RuntimeParameterIdを指定します。構造 : 32 ビットワード ( 専用の値またはビットフィールドを含む )レンジ : (0x00000000..0xFFFFFFFF)

    Note 1: Request_Messageコマンドの MessageIDに指定できるのは 0x83と 0xA2のみです。

    2: ランタイム パラメータの TransFreqSelect は書き込み専用パラメータであるため、Request_Messageコマンドで要求する事はできません。

    3: Request_Messageコマンドの例は表 A-1 を参照してください。

    2016 Microchip Technology Inc. DS40001718E_JP - 29

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    4.3 Fw_Version_InfoMGC3X30 は起動時に Fw_Version_Infoメッセージをホスト インターフェイスへ送信し、デバイスが起動して動作準備が完了した事を通知します。Request_Message(0x06)を使って Fw_Version_Infoを要求する事もできます。

    方向 : MGC3X30 からホストへ

    Note: ペイロード要素 HWRev、ParameterStartAddr、LibraryLoaderVersion はMGC3X30 の起動後にのみ有効です。

    表 4-5: メッセージ概要ヘッダ ペイロード

    Size

    Flag

    s

    Seq

    ID

    FwVali

    d

    HwRev

    Para

    mete

    rSta

    rtAd

    dr

    Libr

    aryL

    oade

    rVer

    sion

    Libr

    aryL

    oaderP

    latf

    orm

    FwSt

    artA

    ddr

    FwVe

    rsio

    n

    1 バイト

    1バイト

    1バイト

    1バイト

    1バイト

    2バイト

    1バイト

    2バイト

    1バイト

    1バイト

    120バイト

    0x84 n/a n/a 0x83 下記を参照

    表 4-6: ペイロード要素

    要素サイズ

    ( バイト )概要

    FwValid 1 GestI® ライブラリのステータス構造 : 1 バイト ( 下記の値のいずれかを格納 )可能な値 : 0x00 Empty 有効な GestIC® ライブラリを検出できなかった0x0A InvalidFW 無効な GestIC® ライブラリが保存された、また は直近の更新に失敗した0xAA ValidFW 有効な GestIC® ライブラリが利用可能

    HwRev 2 ハードウェア リビジョン情報構造 : 2 バイトのベクトルを「xx.xx」形式の 10 進数の値として解釈レンジ : (0x00..0xFF、 0x00..0xFF)

    ParameterStartAddr 1 イメージがサポートするパラメータ開始アドレスアドレス = 128 * (ParameterStartAddrの値 )構造 : 1 バイトを 16 進数の値として解釈レンジ : (0x00..0xFF)

    LibraryLoaderVersion 2 GestIC® ライブラリローダのバージョン情報構造 : 2 バイトのベクトルを「xx.xx」形式の 10 進数の値として解釈レンジ : (0x00..0xFF、 0x00..0xFF)

    LibraryLoaderPlatform 1 GestIC® ライブラリローダ プラットフォームの ID: 0x14 = MGC3130 Sabrewing、0x15 = MGC3130 Hillstar、0x32 = MGC3030 Woodstar構造 : 1 バイトを 16 進数の値として解釈レンジ : (0x00..0xFF)

    FwStartAddr 1 ブートローダがサポートする GestIC® ライブラリの開始アドレス開始アドレス = 128 * (FwStartAddrの値 )構造 : 1 バイトを 16 進数の値として解釈レンジ : (0x00..0xFF)

    DS40001718E_JP - 30 2016 Microchip Technology Inc.

  • GestIC® ライブラリ メッセージ リファレンス

    FwVersion 120 GestIC® ライブラリのバージョン情報 ( 有効な場合 ( すなわち FwValidが0x00ではない場合 )) バージョン文字列は ASCII 文字として解釈されます。バージョン情報は常にバージョン番号で始まり、その後にセミコロンで区切られた各種タグが続きます。サポートされるタグ : p プラットフォーム ( 例 : HillstarVxx)x カスタマイズされた IDDSP Colibri Suite バージョン ( 例 : ID45r -1167)s 予約済みc 予約済みt ビルド日時 ( 例 : 2013/04/24 14:24:50) 構造 : 120 バイトのベクトル、ASCII 文字列として解釈レンジ : (0x00..0xFF、 0x00..0xFF、 0x00..0xFF, ...)

    表 4-6: ペイロード要素 ( 続き )

    要素サイズ

    ( バイト )概要

    2016 Microchip Technology Inc. DS40001718E_JP - 31

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    4.4 Set_Runtime_Parameterこのメッセージは、GestIC ライブラリ内のランタイム パラメータを設定するために使います。このメッセージで AFE パラメータ、各種機能、センサデータ出力を設定できます。パラメータをフラッシュメモリに保存するための特別な値が定義されています。フラッシュメモリに保存できるパラメータは、以下の 3 つのカテゴリに分類されます。

    • アナログ フロントエンド (AFE) カテゴリ• デジタル信号処理 (DSP) カテゴリ• システムカテゴリ方向 : ホストから MGC3X30 へ

    表 4-7: メッセージ概要ヘッダ ペイロード

    Size

    Flag

    s

    Seq

    ID

    Runtim

    ePar

    amet

    erID

    Rese

    rved

    Argu

    ment0

    Argu

    ment1

    1 バイト 1 バイト 1 バイト 1 バイト 2 バイト 2 バイト 4 バイト 4 バイト0x10 n/a n/a 0xA2 下記を参照

    表 4-8: ペイロード要素

    要素要素サイズ ( バイト ) 概要

    RuntimeParameterID 2 ランタイム パラメータの ID4.4.1「Trigger」~ 4.4.5.5「データ出力ロックマスク」を参照してください。構造 : 16 ビットワードを 16 進数の値として解釈レンジ : (0x0000..0xFFFF)

    Reserved 2 「0」として書き込みArgument0 4 引数の値、ランタイム パラメータ ID に基づく

    使わない場合、Argument0は「0」として提供する事が必要構造 : 32 ビットワード : Argument0レンジ : ランタイム パラメータに基づく

    Argument1 4 引数の値、ランタイム パラメータ ID に基づく使わない場合、Argument1は「0」として提供する事が必要構造 : 32 ビットワード : Argument1レンジ : ランタイム パラメータに基づく

    DS40001718E_JP - 32 2016 Microchip Technology Inc.

  • GestIC® ライブラリ メッセージ リファレンス

    4.4.1 Triggerこのパラメータは、Argument0で定義したトリガを実行します

    4.4.2 MakePersistentこの ID を指定すると、Argument0 で定義したパラメータをフラッシュメモリに保存( 永続化 ) します。

    4.4.3 アナログ フロントエンド (AFE) カテゴリ

    4.4.3.1 信号マッチング

    信号マッチング パラメータは、サンプリング点における Rx 信号レベルの調整に使います。

    RuntimeParameterID 0x1000 Trigger: トリガを実行するパラメータArgument0 0x00000000: 再校正を要求

    0x00000002: ディープスリープ 1 へ移行 : ディープスリープ 1 からは、I2C0 スタートビット検出または MCLR リセットで復帰します。I2C メッセージがバスに送信されると、システムはディープスリープから復帰します。最初の I2Cメッセージは失われます。

    0x00000003: ディープスリープ 2 へ移行 : ディープスリープ 2 からは、外部割り込み(IRQ0) の立ち下がりエッジまたは MCLR リセットで復帰します。 このコマンドを送信する際は、IRQ0 (EIO2) を HIGH に接続しておきます。それ以外の場合、MGC3X30 はコマンド受信直後に復帰します。

    レンジ : (0x00000000、0x00000002、0x00000003)Argument1 未使用

    RuntimeParameterID 0xFF00 MakePersistent: パラメータをフラッシュメモリに保存します。

    Argument0 0x00000000: AFE カテゴリのランタイム パラメータを保存します。

    0x00000001: DSP カテゴリのランタイム パラメータを保存します。

    0x00000002: システムカテゴリのランタイム パラメータを保存します。

    レンジ : (0x00000000、0x00000001、00000002)Argument1 未使用

    RuntimeParameterID 0x50 afeRxAtt_S South 電極の信号マッチング パラメータ0x51 afeRxAtt_W West 電極の信号マッチング パラメータ0x52 afeRxAtt_N North 電極の信号マッチング パラメータ0x53 afeRxAtt_E East 電極の信号マッチング パラメータ0x54 afeRxAtt_C 中央電極の信号マッチング パラメータ

    Argument0 値を格納します。レンジ : (0x00000000..0x000000FF)

    Argument1 未使用

    2016 Microchip Technology Inc. DS40001718E_JP - 33

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    4.4.3.2 電極マッピング

    電極マッピングは、電極に割り当てられた物理チャンネル番号を表します。 これらのパラメータは、各電極と MGC3X30 の Rx チャンネルの物理的な接続を表します。正しく動作させるには、このマッピングを回路設計で参照する必要があります。

    RuntimeParameterID 0x65 Channelmapping_S South 電極に割り当てる物理チャンネル

    0x66 Channelmapping_W West 電極に割り当てる物理チャンネル

    0x67 Channelmapping_N North 電極に割り当てる物理チャンネル

    0x68 Channelmapping_E East 電極に割り当てる物理チャンネル

    0x69 Channelmapping_C 中央電極に割り当てる物理チャンネル

    Argument0 物理受信チャンネル (Rx0、Rx1、Rx2、Rx3、Rx4) の番号を格納します。

    レンジ : (0x00000000、0x00000001、0x00000002、0x00000003、0x00000004)

    Argument1 未使用

    DS40001718E_JP - 34 2016 Microchip Technology Inc.

  • GestIC® ライブラリ メッセージ リファレンス

    4.4.4 デジタル信号処理 (DSP) カテゴリ

    4.4.4.1 送信周波数選択

    使用する送信周波数の数と、周波数ホッピングの際のテスト順を設定します。 RuntimeParameterID 0x82 TransFreqSelect: 使用する周波数 ID を設定するパラ

    メータ

    Argument0 使用する Tx 周波数の数 このパラメータに指定できる値は 1、2、3、4、5 です。

    Argument1 どの順番でトランスミッタ周波数をテストするのか指定します。 インデックス番号 0 ~ 4 で各トランスミッタ周波数を表します。

    - 周波数 ID 0: 115 kHz- 周波数 ID 1: 103 kHz- 周波数 ID 2: 88 kHz- 周波数 ID 3: 67 kHz- 周波数 ID 4: 44 kHzこれらのインデックスはニブルで指定する必要があります。

    例 : Argument0 = 0x04およびArgument1 = 0x3104とした場合、インデックス 4、0、1、3 の周波数をこの順番で使ってテストを実行します。

    既定値の周波数マッピング (Argument 0 = 0x5、Argument 1 = 0x43210) の場合、以下の順番でテストを実行します。 周波数 ID 0 – トランスミッタ周波数 = 115 kHz周波数 ID 1 – トランスミッタ周波数 =103 kHz周波数 ID 2 – トランスミッタ周波数 =88 kHz周波数 ID 3 – トランスミッタ周波数 =67 kHz周波数 ID 4 – トランスミッタ周波数 =44 kHz

    Note: ランタイム パラメータ TransFreqSelect は書き込み専用パラメータであるため、 REQUEST_MESSAGE (0x06)コマンドを使って要求する事はできません。

    2016 Microchip Technology Inc. DS40001718E_JP - 35

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    4.4.4.2 タッチ検出

    このパラメータは、タッチ検出の有効 / 無効を切り換えます。

    4.4.4.3 近接検出

    このパラメータは、近接検出モードの有効 / 無効を切り換えます。

    RuntimeParameterID 0x97 dspTouchConfig: タッチ検出の有効/無効を指定するパラメータ

    Argument0 Argument0を「0x08」に設定するとタッチ検出は有効になります。 Argument0を「0x00」に設定するとタッチ検出は無効になります。

    Note: Argument1を正しく設定しないとシステムが誤動作します。

    Argument1 0x08

    RuntimeParameterID 0x97 dspApproachDetectionMode: 近接検出モードの有効 /無効を指定するパラメータ

    Argument0 Argument0を「0x01」に設定すると近接検出は有効になります。

    Argument0を「0x00」に設定すると近接検出は無効になります。

    Note: Argument1を正しく設定しないとシステムが誤動作します。

    Argument1 0x01

    Note: v1.0 よりも前のバージョンでは、近接検出の RuntimeParameterID は 0x81 でした (Argument0と Argument1の定義は現在と同じ )。v1.1 以降のバージョンでは、この RTC はサポートされません。後方互換性確保のため、Aurea PC ソフトウェアは現在もこの RTC を使います。

    DS40001718E_JP - 36 2016 Microchip Technology Inc.

  • GestIC® ライブラリ メッセージ リファレンス

    4.4.5 システムカテゴリ

    4.4.5.1 AirWheel

    このパラメータは、エアホイールの有効 / 無効を切り換えます。

    4.4.5.2 ジェスチャ処理 (HMM)

    このパラメータはビルトイン ジェスチャの有効 / 無効を切り換えます。有効にするジェスチャの数を減らすと、他のジェスチャの認識率が向上します。

    Argument0 内の特定のビットを「1」にセットすると、対応するジェスチャが有効になります。Argument0内の特定のビットを「0」にクリアすると、対応するジェスチャは無効になります。

    RuntimeParameterID 0x90 dspAirWheelConfig: エアホイールの有効 /無効を指定するパラメータ

    Argument0 Argument0を「0x20」に設定するとエアホイールは有効になります。Argument0を「0x00」に設定するとエアホイールは無効になります。

    Note: Argument1を正しく設定しないとシステムが誤動作します。

    Argument1 0x20

    RuntimeParameterID 0x85 dspGestureMask: ジェスチャの有効 /無効を指定するパラメータ

    Argument0 Bit 0: ガーベッジモデルBit 1: フリック West → EastBit 2: フリック East → WestBit 3: フリック South → NorthBit 4: フリック North → SouthBit 5: 時計回りサークルBit 6: 反時計回りサークルBit 7: ウェイブ XBit 8: ウェイブ YBit 22: 真上にかざし続けるBit 23: 手の接近検出Bit 24: エッジフリック West → EastBit 25: エッジフリック East → WestBit 26: エッジフリック South → NorthBit 27: エッジフリック North → SouthBit 28: ダブルフリック West → EastBit 29: ダブルフリック East → WestBit 30: ダブルフリック South → NorthBit 31: ダブルフリック North → South

    Argument1 マスクとして機能し、「1」にセットしたビット位置のみフラグを変更できます。 他のフラグは変更されません。

    2016 Microchip Technology Inc. DS40001718E_JP - 37

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    4.4.5.3 校正動作モード

    このパラメータは、個々の自動校正機能の有効 / 無効を切り換えます。Argument0 内の特定のビットを「0」にクリアすると、対応する自動校正機能が有効になります。 Argument0 内の特定のビットを「1」にセットすると、対応する自動校正機能は無効になります。

    RuntimeParameterID 0x80 dspCalOpMode: 自動校正の有効 / 無効を指定するパラメータ

    Argument0 Bit 1: ジェスチャによってトリガされる校正の有効 / 無効Bit 2: 負の校正の有効 / 無効

    Bit 3: アイドル時校正の有効 / 無効

    Bit 4: 値が完全にレンジ外の場合の無効値校正の有効 / 無効Bit 5: AFA によってトリガされる校正の有効 / 無効

    Argument1 マスクとして機能し、「1」にセットしたビット位置のみフラグを変更できます。他のフラグは変更されません。

    DS40001718E_JP - 38 2016 Microchip Technology Inc.

  • GestIC® ライブラリ メッセージ リファレンス

    4.4.5.4 データ出力イネーブルマスク

    このパラメータは、Sensor_Data_Output (0x91) メッセージのデータ出力を決定します。Argument0内の特定ビットを「1」にセットすると、対応するペイロード要素が Sensor_Data_Output (0x91) メッセージに含まれます。Argument0 内の特定のビットを「0」にクリアすると、対応するペイロード要素はデータが更新された時にSensor_Data_Output (0x91) メッセージに含まれません ( そのペイロード要素は

    「Off」)。DataOutputEnableMaskを使うと、センサデータ出力を最適化してI2Cの利用帯域幅とホストコードの効率を改善できます。 Note: 全てのペイロード要素を有効にすると、I2C バスの帯域幅の制約により誤動作につながる事がありますので注意してください。

    RuntimeParameterID 0xA0 DataOutputEnableMask: データ出力を指定するパラメータ

    Argument0 ビット 0...12: ペイロード要素 : 「1」にセットすると、対応するペイロード要素はメッセージに含まれます。

    Bit 0: DSP ステータスBit 1: ジェスチャデータBit 2: TouchInfo Bit 3: AirWheelInfoBit 4: xyzPositionBit 5: ノイズパワーBit 6...10: 予約済み。必ず「0」にしておきます。Bit 11: CICData ( 未校正信号 )Bit 12: SDData ( 信号偏差 )

    Bit 13...15: 予約済み。必ず「0」にしておきます。Bit 16...17: SystemInfo ステータスビット : 「1」にセットすると、ペイロード要素 SystemInfo 内の状態変化のレポートが有効になります。

    Bit 16: EnvironmentalNoiseBit 17: クリッピング

    Bit 18: DSP 動作Bit 19: AirWheelCounterDecimation: 「1」にセットすると、エアホイール カウンタは 1/4 に間引かれます。Bit 20: TimeStampOverflow: これはエアホイールまたはタッチ検出が実行中である場合に適用されます。 有効にすると、ペイロード要素 TimeStamp内のカウンタがオーバーフロー (TimeStamp = 0) した時にメッセージが送信されます。

    Bit 21...26: これらのビットは予約済みです。Bit 27...31: GesturesInfoステータスビット : 「1」にセットすると、ペイロード要素 GestureInfo内の状態変化のレポートが有効になります。

    Bit 27: HandPresence フラグBit 28: HandHold フラグBit 29: HandInside フラグ

    Bit 30: このビットは予約済みです。Bit 31: GestureInProgress フラグ

    Argument1 マスクとして機能し、「1」にセットしたビット位置のみフラグを変更できます。 他のフラグは変更されません。

    2016 Microchip Technology Inc. DS40001718E_JP - 39

  • MGC3030/3130 GestIC® ライブラリ インターフェイス ユーザガイド

    4.4.5.5 データ出力ロックマスク

    このパラメータは、Sensor_Data_Output (0x91) メッセージのデータ出力を決定します。Argument0 内の特定のビットを「1」にセットすると、新しいデータがあるかどうかにかかわらず、そのビットに対応するペイロード要素が Sensor_Data_Output(0x91)メッセージに含まれます ( そのペイロード要素は「On」)。Argument0内の特定のビットを「0」にクリアすると、対応するペイロード要素はデータが更新された時にだけ Sensor_Data_Output (0x91)メッセージに含まれます ( ペイロード要素は動的 )。

    RuntimeParameterID 0xA1 DataOutputLockMask: データ出力を指定するパラメータArgument0 Bit 0...12: ペイロード要素 : 「1」にセットすると、対応するペイ

    ロード要素はメッセージに含まれます。

    Bit 0: DSP ステータスBit 1: ジェスチャデータBit 2: TouchInfoBit 3: AirWheelInfoBit 4: xyzPosition

    Bit 5: ノイズパワーBit 6...10: 予約済み。必ず「0」にしておきます。Bit 11: CICData ( 未校正信号 )Bit 12: SDData ( 信号偏差 )

    Bit 13...15: 予約済み。必ず「0」にしておきます。Argument1 マスクとして機能し、「1」にセットしたビット位置のみフ

    ラグを変更できます。 他のフラグは変更されません。

    DS40001718E_JP - 40 2016 Microchip Technology Inc.

  • GestIC® ライブラリ メッセージ リファレンス

    4.4.5.6 データ出力要求マスク

    このパラメータは、次の Sensor_Data_Output (0x91)メッセージにのみ適用されるデータ出力を決定します。Argument0 内の特定のビットを「1」にセットすると、対応するペイロード要素が次の Sensor_Data_Output (0x91) メッセージに含まれます。

    Argument0内の特定のビットを「0」にクリアすると、対応するペイロード要素はデータが更新された時に次の Sensor_Data_Output (0x91)メッセージに含まれません。このメッセージを送信すると、MGC3X30 は有効なイベントとデータがない場合でもSensor_Data_Output (0x91) メッセージを必ず返します。このメッセージにはArgument0で選択されたデータが含まれます。一度メッセージを返すと、次回からはデータ出力イネーブルマスクとデータ出力ロックマスクの設定に従い、有効なイベントとデータが発生した場合にのみ Sensor_Data_Output (0x91)メッセージを送信します。

    RuntimeParameterID 0xA2 DataOutputRequestMask: データ出力を指定するパラメータ

    Argument0 Bit 0...12: ペイロード要素 : 「1」にセットすると、対応するペイロード要素はメッセージに含まれます。

    Bit 0: DSP ステータスBit 1: ジェスチャデータBit 2: TouchInfoBit 3: AirWheelInfoBit 4: xyzPosition

    Bit 5: ノイズパワーBit 6...10: 予約済み。必ず「0」にしておきます。Bit 11: CICData ( 未校正信号 )Bit 12: SDData ( 信号偏差 )

    Bit 13...15: 予約済み。必ず「0」にしておきます。Argument1 マスクとして機能し、「1」にセットしたビット位置のみフ

    ラグを変更できます。 他のフラグは変更されません。

    Note: V1.3.14 より前のバージョンでは、GestureInProgress フラグ (bit31) は、別のRTC (RuntimeParameterID 0xA3) を使って有効 / 無効にできました。この RTCは v1.3.14 以後のバージョンではサポートされなくなりました。後方互換性確保のため、Aurea PC ソフトウェアは現在もこの RTC を使います。

    Note: Set_Runtime_Parameterコマンドの例は、表 A-2 を参�