CASSIOPEIA DT-5100 シリーズ エミュレータ開発解説書 Ver 3.
変 更 履 歴 No Revision 更新日 項 1 1.00 03/1/20 初版 2 3.
目次 1 概要 .................................................................................................................................................................................1 1.1 1.2 1.3 1.4 2 エミュレータの機能 ...................................................................................................................................................1 開発環境との連携.........................................................................................................................................
1 概要 本解説書は DT-5100/870(WindowsCE .NET OS)用のエミュレータについて述べたものです。 1.1 エミュレータの機能 1. PC 上で DT-5100/870 用に開発したアプリケーションのデバッグおよび動作確認ができます。 2. エミュレータスキン上に配置したキーの押下がエミュレータ内アプリケーションに反映されます。 3. 以下のカシオライブラリを擬似的に実行できます。 ・ システムライブラリ ・ OBR ライブラリ ・ 2D スキャナライブラリ(DT-870 のみ) ・ Bluetooth ライブラリ ・ BCD 演算ライブラリ ・ カメラライブラリ(DT-5100 のみ) 1.2 開発環境との連携 eMbededdC++4.0用のエクスポートSDKをインストールすることによりeMbedded Visual C++4.0 と連携できます。 1.3 エミュレータスキン上のキー割り当て エミュレータではスキン上のキーの押下に対して特定のコードを割り当てられます。 DT-5100/870 のスキン上のキーコード割り当てに関しては「3-4.
1.4 エミュレータのソフトウェア構成 DT-5100/870 エミュレータのソフトウェア構成を以下に示します。 1. トリガキーアプリケーション 2. トリガキー制御モジュール 3. カシオライブラリ エミュレータバージョン DT-5100/870 X86 エミュレータ 1.トリガキー制御 アプリケーション アプリケーション (EVC++ ) 2. トリガキー制御モジュール DLL(キーボードメッセージフィルタ) キーボードメッセージ Windows System (Win32API/Compact Framework) システム ライブラリ OBR ライブラリ 2Dスキャナ ライブラリ Bluetooth ライブラリ カシオライブラリ エミュレータ バージョン 3.
2 エミュレータ開発環境 2.1 開発環境 ・ ・ 2.2 Microsoft Platform Bulder 4.1(Windows CE.NET) Microsoft eMbedded Visual C++ 4.0 / SP1 ファイル構成 2.2.1 エミュレータソフトウェア ① DT-5100EM_SDKforEVC.msi ③ DT-870EM_SDKforEVC.msi eMbededd C++4.0 用エクスポート SDK eMbededd C++4.0 用エクスポート SDK 2.2.2 カシオライブラリエミュレータバージョン 以下のファイルは全て上記エミュレータソフトウェアに含まれています。このためインストールを実行すると開 発環境内にインストールされます。 ① システムライブラリ (DT-5100、DT-870) DirectClb.dll システムライブラリ本体 ClbSys.h ヘッダファイル ClbSys.lib インポートライブラリ ② レーザライブラリ (DT-5100) LCUDRV.dll OBR ライブラリ本体 LCUDRV.
2.2.3 トリガーキー制御ソフトウェア 以下のファイルは全て上記エミュレータソフトウェアに含まれています。このためインストールを実行すると開発 環境内にインストールされます。 ① pxemapl.exe トリガーキー制御モジュール登録/解除アプリリケーション ② pxemapl.lnk トリガーキー制御モジュール登録/解除アプリリケーションのショートカット ③ pxemdll.dll トリガーキー制御モジュール ④ pxemevt.h トリガーキー制御モジュール用ヘッダファイル 2.3 エミュレータの使用方法 2.3.1 EVC++4.0 環境 1) ミュレータエクスポート SDK を PC にインストールする。 2) EVC++4.
3 スキン上のトリガキーの処理 3.1 スキン上のトリガキーの処理 スキン上に配置されたキーを押下すると、エミュレータの定義ファイルで指定したキーコードを Windows のメ ッセージバッファにキューイングしますが、トリガキー(スキャナ)動作は押下したキーコードではなく、スキ ャンデータを発生する必要があります。 そのために、スキン上のキーの押下を検出する仕組みとしてシステムフックを使用します。 システムフックは、キーボードメッセージがメッセージキューにキューイングされるときに、 SetWindowsHookEx()関数の引数で指定した DLL および DLL 内の関数をコールしてもらいます。 フックモジュールは次の処理を行います。 トリガキーの押下を OBR および2D スキャナライブラリに通知します。 (通知を受け取ったエミュレータライブラリはスキャナデータを作成し、アプリケーションのからの読み出 し関数で返却します。) 3.
3.3 スキン上のキーコード割り当て エミュレータスキン上のキーコード割り当てを以下に示します。 トリガーキーは他のキーと区別できるように Windows CE では使用しないと思われる F11,F12 のキーコードを割 り当てます。 No.
3.4 スキン上の左右トリガ ボタンの処理 システムフック処理は左右トリガ ボタンの押下(Key_F11、 Key_F12)を検出すると、次の名前のイベント(名 前付き自動リセットイベント)をシグナル状態にします。 左トリガ ボタンのイベント名 : “PxEmEvt1” 右トリガ ボタンのイベント名 : “PxEmEvt2” 従って、左右トリガ ボタンの押下で値を返すような関数では、上記名前で作成したイベント配列を指定し、 WaitForMultipleObject() で待つことで実現できます。 以下はエミュレーター版 TDWaitForDecode()の例です。 #include "pxemevt.
[説明] この関数がアプリケーションから呼び出されると以下の処理を行います。 ①の PxEmEvt_Init() で名前付きイベントを作成します。 ②の WaitForMultipleObjects( PXEVENT_NUM, hPxEmEvt, FALSE, dwTime) でイベントを待ちます。 ②, ③’で WaitForMultipleObjects を抜けた要因を判定します。 ④の PxEmEvt_End() でイベントを削除します。 ①、④の関数および、②のイベント数、イベント配列は以下のヘッダファイルで定義されていますので、このヘッ ダファイルをインクルードすることによっても利用できます。 インクルードファイル名: pxemevt.h [pxemevt.
DT-5100 エミュレータ機能解説書 Ver3.