abc DT-970SDK アプリケーション開発ガイド このガイドは DT-970 のアプリケーション開 発者向けの開発ガイドブックです。 DT-970 SDK として提供する開発環境を利 用した、アプリケーションプログラム開発の 概要(プログラムの開発、ダウンロード等)を、 開発の流れにしたがって説明します。 Ver. 1.
ご注意 ● このソフトウェアおよびマニュアルの、一部または全部を無断で使用、複製することはできません。 ● このソフトウェアおよびマニュアルは、本製品の使用許諾契約書のもとでのみ使用することができま す。 ● このソフトウェアおよびマニュアルを運用した結果の影響については、一切の責任を負いかねますの でご了承ください。 ● このソフトウェアの仕様、およびマニュアルに記載されている事柄は、将来予告なしに変更すること があります。 ● このマニュアルの著作権はカシオ計算機株式会社に帰属します。 ● 本書中に含まれている画面表示は、実際の画面とは若干異なる場合があります。予めご了承ください。 © 2013-2014 カシオ計算機株式会社 Microsoft, MS, ActiveSync, Active Desktop, Outlook, Windows, Windows NT, および Windows ロゴは、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。Microsoft 社の製品は、OEM 各社に、Microsoft Corporation の 10
変更履歴 バージョン 変更日付 1.00 1.01 2013.10 2013.12 1.02 1.03 1.04 2014.03 2014.07 2014.09 ページ 72-74 39-46 40 75 9 71 70 77 73-75 19 39 75 15,39,47, 67-69 内容 新規作成 付録を追加 未サポート関数(シリアル通信制御、マルチドロップ通信ユー ティリティ制御、DT500 通信ユーティリティ制御、TEC IrDA プリ ンタ、送受信切替)の削除 ビットマップ表示関数をデバイス制御ライブラリ側へ移動 PATCH970.LOD を追加 開発環境構築についての説明を修正 リンクオプションに-SHow=SYmbol を追加 プロトタイプ宣言なしに関数を呼び出した場合にエラーとする 対応を追加 裏表紙を変更 付録に注意事項を追記 lAppBuilderRXC.
目次 1.1. 1.2. 1.3. 1.4. 1.5.
4.4.5. 4.4.6. 4.4.7. 4.4.8.
1. はじめに このたびは、CASIO DT-970 SDK をお買い上げありがとうございます。 本書は、DT-970 アプリケーション開発キットを使用して、アプリケーションの開発をするための手順を説 明したものです。 1.1. 概要 DT-970 アプリケーション開発環境は、DT-970 上で動作するアプリケーションのコンパイル/リンク/転 送を Windows PC 上で行うものです。 上記に加えて、Windows CE Emulator を用いて、Windows PC 上の DT-970 仮想デバイスでの Emulator 実行が可能です。この Emulator 実行には、Windows CE 開発環境が必要となります。 DT-970 アプリケーション開発環境では、これらの操作を、視覚的/直感的な操作で実現することで、コン パイラ等に関しての専門的な知識を必要とせずアプリケーション開発が可能です 1.2.
プロジェクト ソースコード、ヘッダ、およびファイル転送に使用するスクリプトファイル(*.
1.3. 動作環境 ハードウェア • IBM PC/AT 互換機 (画面解像度 XGA [1024x768]以上) OS • • • • • Microsoft Microsoft Microsoft Microsoft Microsoft Windows Windows Windows Windows Windows XP SP3 (x86) Server 2003 SP2 (x86) 7 Professional SP1 (x86/x64) Server 2008 SP2 (x86) Server 2008 R2 SP1 (x64) ロケール • 日本語 • 英語 1.4. 必須ソフトウェア 以下のソフトウェアが必須です。 • Microsoft .NET Framework 3.5 もしくは 3.5.1 • LMWIN また、Emulator を使用する場合は、以下のソフトウェアが必須です。 • Microsoft Visual Studio 2008 Professional • Microsoft Device Emulator 3.
1.5.
2.
2.1. Application開発準備 本ツールのインストールや初期設定を行います。 2.1.1. 開発環境インストールおよびライセンス登録 ファーストステップガイドを参照してください。 2.1.2. 開発環境構築 統合開発環境ツールを起動し※、メニューから「ツール」>「設定」を選択してください。 ソースコード等の編集に使用するエディタ、端末へのファイルの転送に使用する LMWIN、および Emulator 用ビルドに使用する VisualStudio のパス設定を使用します。 エディタが空欄の場合は、メモ帳(Notepad)でソースコードの編集を行います。 VisualStudio2008 がインストールされていない場合は、空欄です。 ※ 統合開発環境ツールの起動については、「3.
2.2. Application開発 プロジェクトの作成やソースコードの編集等を行います。 2.2.1. 新規にApplicationを開発する場合 メニューの「ファイル」>「プロジェクトの新規作成」を選択すると、以下のダイアログを表示します。 保存場所 プロジェクトファイル [保存先フォルダ]¥[プロジェクト名] [保存先フォルダ]¥[プロジェクト名]¥[プロジェクト名].
次に下記ダイアログが表示されますのでプロジェクトの内容を指定して下さい。 「モジュール種別」以外の項目は、プロパティ領域から変更することができます。 生成ファイルは、プロジェクト名に対して、モジュール種別毎の拡張子を付与したものとなります。 アプリケーション [プロジェクト名].lod ライブラリ [プロジェクト名].
2.2.2. 既存のApplicationを使用する場合 既存の DT-930 の Application を使用する場合は、以下の手順で本ツールに取り込むことができます。 1. メニューの「ツール」>「DT-930 アプリケーション移行」を選択し、既存のソースコードを DT-970 用 に変換します。 (詳細は DT-900/930/940 アプリケーション移行ガイドを参照してください) 2. メニューの「ファイル」>「DT-930 プロジェクトを取り込む」を選択し、参照フォルダに手順 1.で変換 したソースコード等を格納したフォルダを指定してください。 3. ファイルを取り込んだ後は、「2.2.1新規にApplicationを開発する場合」と同様の手順でプロジェクト の設定を行なってください。 2.2.3.
2.3. ビルド/テスト 開発した Application を端末上または Emulator 上で動作させるためにビルドを行います。 メニューの「ビルド」>「端末ビルド」を選択すると端末上で動作する Application が、また「ビルド」>「エミ ュレータビルド」を選択すると Emulator 上で動作する Application がそれぞれ生成されます。 これらの動作テストを行う手順の詳細は、「4.
3. ツール詳細機能 3.1. 機能一覧 本ツールの機能一覧を以下に示します。 No 1 2 3 4 名称 各種ファイル編集 説明 登録したエディタを呼び出し、ソース等の編集を行います。 (デフォルトは Notepad.exe で表示します) 端末/Emulator 用のアプリケーションをビルドします。 端末/Emulator に対してファイルを転送します。 フォントの編集や DT-930 アプリケーションの移行を行います。 ビルド ファイル転送 ツール起動 3.2. ファイル構成 本ツールのファイル構成を以下に示します。 *.ciprj *.c *.h *.
3.2.1. ciprjファイル 本ツールで使用するプロジェクト情報を格納します。 ここに保存する情報の詳細については、「3.5.1ソースツリー領域」および「3.5.2プロパティ領域」を参照し てください。 PAGE 183.3. 起動 本ツールの起動は以下の 5 点です。 1. エクスプローラから IAppBuilder.exe を実行 2. エクスプローラから ciprj ファイルを実行 3. エクスプローラ上で ciprj ファイルを IAppBuilder.exe にドラッグ&ドロップ 4. スタートメニューから「CASIO DT-970 IDE」>「IAppBuilder」を選択 5. Dos から IAppBuilder.exe を実行(詳細は下記を参照) start IAppBuilder.exe [xxx.ciprj] []内は省略可能 引数なしで本ツールを起動した場合は、何も設定していない状態で起動します。 ciprj ファイルを引数として指定して本ツールを起動した場合は、ciprj ファイルに格納した情報をもとに各 項目を設定した状態で起動します。 3.4.
3.5.
3.5.1. ソースツリー領域 ciprj ファイルに保存してあるソース、ヘッダ、SCR ファイルをそれぞれツリービューで表示し、各ファイルの 編集を行います。 ソースファイル等を編集する場合は、対象のファイル名をダブルクリックすることにより、登録したエディタ でその内容を表示します。エディタの登録については、「3.
3.5.2. プロパティ領域 コンパイラ等の各種設定を行います。 コンパイラの初期設定は下記のとおりです。 No 1 2 3 4 5 6 7 項目 CPU 選択 エンディアン選択 ビットフィールド 符号指定無ビットフィールド型 符号指定無 char 型 double 型サイズ コンパイルエラーレベル 内容 -cpu=rx600 -endian=big -bit_order=left -signed_bitfield -signed_char -dbl_size=8 -change_message=error=20223 これらの設定は、下記の場所にある"IAppBuilderRXC.ini"に定義されています。必要に応じて修正してく ださい。 Windows XP/Windows Server 2003 C:¥Documents and Settings¥All Users¥Application Data¥CASIO¥DT970¥IDE¥ IAppBuilderRXC.
No 1 名称 プロジェクト種別 2 オブジェクトファイル名 3 文字列の 16 進数変換 4 ビルドターゲット 5 ターゲット転送 説明 アプリケーション(デフォルト) ライブラリ プロジェクトの新規作成時にのみ選択できます プロジェクト名.lod またはプロジェクト名.
No 1 名称 出力ファイル名 2 オブジェクト/ ライブラリモジュール 3 追加インクルードのパス 4 追加ライブラリのパス 5 プリプロセッサの定義 説明 デフォルトは下記のとおりです。 端末: プロジェクトフォルダ¥ReleaseHT¥xxx エミュレータ: プロジェクトフォルダ¥ReleaseEmulator¥xxx (xxx:プロジェクト名.lod またはプロジェクト名.lib) 任意 デフォルトは下記のとおりです。(環境により異なります) 端末: "C:¥Program Files (x86)¥Windows CE Tools¥ wce500¥DT-970¥Object¥Rx600¥AP_START.OBJ" エミュレータ: commctrl.lib coredll.lib corelibc.lib ole32.lib uuid.lib itfw970.lib itapi970.
3.5.3. ビルド結果領域 ビルドの結果を表示します。 ビルドエラーが発生した場合は、ファイル名、行数、およびその内容を表示します。 3.6.
No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 項目 ファイル プロジェクトの新規作 成 プロジェクトを開く DT-930 プロジェクトを 取り込む ファイルの追加 新しいファイル 既存のファイル プロジェクトを閉じる プロジェクトを保存する プロジェクトを名前をつ けて保存する 終了 ビルド ビルド リビルド クリーン ツール ファイル転送 フォント変換 DT-930 アプリケーショ ン移行 設定 ヘルプ ヘルプの表示 バージョン情報 説明 新規プロジェクト作成ダイアログを表示します。 プロジェクトファイル選択ダイアログを表示します。 DT-930 のソースコード等を格納したフォルダ選択ダイアログを表示 します。 新しいファイルをプロジェクトに追加します。 既存のファイルをプロジェクトにコピーします。 (既存ファイルはそのままです) 本ツールを初期化します。 編集中のプロジェクトを上書き保存します。 ファイル保存ダイアログを表示します。 本ツールを終了します。 プロジェクトファイルに変更がある場合は、ファイル保存ダイアログを 表示します。 ビルドタ
ファイルの追加>新しいファイル 指定したファイルをプロジェクトファイルが存在するフォルダに新規作成します。 テンプレートから追加するファイルの種類を選択し、ファイル名を入力してください。 ファイルの追加>既存のファイル 指定したファイルをプロジェクトファイルが存在するフォルダにコピーします。 複数ファイルの選択が可能です。 24
プロジェクトを名前をつけて保存 ファイル保存ダイアログを表示します。 終了 プロジェクトファイル編集後に保存をせずに終了する場合は、以下のメッセージを表示します。 「はい」を選択した場合は、プロジェクトファイルを上書き保存します。 「いいえ」を選択した場合は、プロジェクトファイルを保存せずに本ツールを終了します。 バージョン情報 本ツールのバージョン情報を表示します。 25
4. Emulator機能 4.1.
4.2. DT-970 エミュレータでの操作 4.2.1. DT-970 エミュレータ マウスや PC のキーボードによるキー入力や、実行 画面の表示等、DT-970 実機上の動作を再現しま す。 4.2.2. キー入力機能 DT-970 実機と同等のキー入力機能を搭載しています。 画面上のキーをマウスでクリックすることにより入力が可能です。 PC のキーボードからの入力も可能です。 4.2.3. 表示機能 DT-970 実機と同等のフォントイメージを搭載し、実機同等の表示イメージを再現します。 4.2.4. バーコード入力機能 I/O シミュレータに登録されたバーコードデータを、トリガキーの押下等、バーコードの入力操作を行うこと により、指定したバーコードデータを入力することが可能です。 DT-970 エミュレータのトリガキーを押下(マウスクリック)する場合は、必ず 1 秒以上押し続けてください。 押下(マウスクリック)する時間が短いと、正しく入力ができない場合があります。 4.2.5.
4.2.6. ファイル操作 エミュレータ上でファイルの操作(コピーや削除等)を行う場合は、Windows XP/Windows Server 2003 では ActiveSync、Windows Server 2008/Windows 7 では Windows Mobile デバイスセンター(バージョ ン 6.
右記の画面が表示されるので、「キャンセ ル」をクリックします。 続いて右記の画面が表示されるので、「OK」 をクリックします。 続いて右記の画面が表示されるので、「エク スプローラ」ボタンをクリックします。 「モバイル デバイス」ウィンドウにより、エミュ レータ上のフォルダとファイルが表示されま す。 (3) ファイルのコピー/削除 ファイルのコピーや削除は、「モバイル デバイス」ウィンドウ上で行います。コピーや削除の手順は、 Windows XPなどに搭載されているファイルエクスプローラと同じ手順になります。なお、エミュレータと DT-970 実機では、ドライブレターに差異があるため、ご注意ください。ドライブレターの差異について は、「4.4.
Windows Mobile デバイスセンターの使用手順 (1) Windows Mobile デバイスセンターの設定 スタートメニューから「Windows Mobile デ バイスセンター」をクリックします。右記の画 面が表示されるので、「接続の設定」をクリッ クします。 接続の設定ダイアログにおいて、DMA 接続 を有効にします。 (2) Windows Mobile デバイスセンターの接続 デバイスエミュレータマネージャを起動しま す。リストから DT-970 エミュレータ上で右クリ ックし、「クレードルに接続」を選択します。 30
右記の画面が表示されるので、「デバイスを セットアップしないで接続」をクリックします。 続いて右記の画面が表示されるので、「ファ イル管理」>「デバイスのコンテンツの参照」 をクリックします。 続いて右記の画面が表示されるので、「¥」の アイコンをダブルクリックします。 エミュレータ上のフォルダとファイルが表示さ れます。 31
(3) ファイルのコピー/削除 ファイルのコピーや削除は、「ファイルエクスプローラ」ウィンドウ上で行います。コピーや削除の手順は、 Windows 7 などに搭載されているファイルエクスプローラと同じ手順になります。なお、エミュレータと DT-970 実機では、ドライブレターに差異があるため、ご注意ください。ドライブレターの差異について は、「4.4.
4.3. I/Oシミュレータの操作 入力バーコードの登録・ローバッテリー発生・IOBOX 装着動作を擬似的に行うものです。 また、LED・バイブレーション・バックライトの動作状態を表示します。 4.3.1.
(4) 登録完了 登録が完了すると、登録したバーコードが一 覧表に表示します。この登録操作を繰り返し て、デバッグに必要なバーコードを予め登録 しておいてください。 ※ バーコード登録時の注意事項 登録可能なバーコードは、DT-970 エミュレータ上で読み取り可能となっているコードに限ります。エ ミュレータ起動直後はすべてのコードが読み取り可能となっていますが、アプリケーションを起動した 場合は、そのアプリケーションで設定した読み取り可能コードのみが、登録可能となります。 (5) 登録内容の編集 編集したいバーコードを一覧表から選択し、 「編集」ボタンをクリックすると、右記の画面を 表示しますので、編集してください。 (6) 登録内容の削除 削除したいバーコードを一覧表から選択し、 「削除」ボタンをクリックすると、右記の画面を 表示しますので、確認後、削除してくださ い。 34
4.3.2.
4.3.3.
4.4. Emulatorでの動作差異 DT-970 実機と、DT-970 エミュレータの動作の違いを説明します。 4.4.1. ドライブレター ドライブレターは DT-970 実機と下記のように異なります。 (1) FAT ファイルモードで使用する関数を実行した場合 DT-970 実機 A ドライブ B ドライブ D ドライブ E ドライブ DT-970 エミュレータ ¥windows ¥FlashDisk ¥SD カード ¥USBStorage ※ プログラム内では、A:¥data.dat と記載すると、自動的に¥windows¥data.dat と読み替えを行いま す。 4.4.2. 通信機能 赤外線および Bluetooth 等の通信機能を使用する関数は、エミュレータでは動作しません。該当する関 数を実行した場合は、何もせずにエラーコードを返し、次の行に処理が移ります。 4.4.3. システムファイル 下記のシステムファイルは動作しません。 CONFIG.HTS / CONFIG.OBR / CONFIG.ID / CONFIG.PAS / ASTART.HTS / PatchXXX.
4.4.7.
4.4.8. 関数インタフェース (1) デバイス制御ライブラリ 関数 システムデータ管理 dat_system dat_OSVer_Read dat_dealer_chk 実機動作との違い 電源 :値の設定/読出のみ 日本語/英語モード :値の設定/読出のみ コントラスト設定 :値の設定/読出のみ 通信 :値の設定/読出のみ 機器 ID :CONFIG.ID の値を返却/無い場合は「??????」を返却 BIOS バージョン :固定値 1.0000 を返却 パッチバージョン :固定値 1.0000 を返却 拡大表示・行間挿入 :値の設定/読出のみ 電池設定表示 :値の設定/読出のみ LAN・USB 設定 :値の設定/読出のみ DT970 エミュレータのバージョン/日付を返却 Itlaunch.
関数 dat_fdir dat_fdel dat_frname dat_F_Search open close read write lseek sbrk イベント通知機能 pwr_inhabit pwr_inhabit_clr key_fnc_mode s_settimer s_timerend s_settimer2 s_timerend2 flg_sts clr_flg wai_flg 画面表示 lcd_cls lcd_csr_set lcd_csr_put lcd_csr_get lcd_char lcd_string lcd_string2 lcd_userstr lcd_line lcd_gaiji lcd_usrfont lcd_romfont lcd_led lcd_el lcd_expand_set lcd_expand_get lcd_expand_pos_set lcd_expand_pos_get ビットマップ表示 bmp_iDisplayBmpImage bmp_iDisplayBmpData 実機動作との違い LB1 の通知のみ タイマーフラグ待ちのみ ESC(画面クリア/カーソ
関数 キー制御 key_select key_read key_string key_num key_check key_clear key_fnc OBR 制御 OBR_open OBR_close OBR_getc OBR_gets OBR_flush OBR_stat OBR_moderd OBR_modewt OBR_chgbuf OBR_trigmode OBR_swing OBR_widenarrow OBR_getadjust OBR_setadjust OBR_getmargincheck OBR_setmargincheck OBR_getfocus OBR_setfocus USB HID 通信 c_open c_close c_dout c_tmdin 実機動作との違い E_NG を返却(動作無し) 値の設定/読出のみ 値の設定/読出のみ 値の読出のみ 値の設定のみ 値の読出のみ 値の設定のみ 値の読出のみ 値の設定のみ E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) 41
関数 IrDA 制御 Ir_Open Ir_Close Ir_Read Ir_Write Ir_QueryTx Ir_QueryRx Ir_EROn Ir_EROff Ir_RSOn Ir_RSOff Ir_BreakOn Ir_BreakOff Ir_CheckCD Ir_CheckDR Ir_CheckCS Ir_CheckCI Ir_CheckBreak Ir_Err_Get Ir_State_Set Ir_SetPortConfig Ir_Init Ir_SetWinMode Bluetooth 制御 BT_Start BT_Stop BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_Close BT_Read BT_Write BT_QueryRx 実機動作との違い E_IRNG を返却(動作無し) E_IRNG を返却(動作無し) E_IRNG を返却(動作無し) E_IRNG を返却(動作無し) E_IRNG を返却(動作無し)
関数 実機動作との違い BT_SaveDevInfo E_BTNG を返却(動作無し) BT_LoadDevInfo E_BTNG を返却(動作無し) BT_Err_Get E_BTNG を返却(動作無し) BT_GetPassKey E_BTNG を返却(動作無し) BT_SelectProfile E_BTNG を返却(動作無し) 通信ユーティリティ制御(共通ファンクション) cu_stopKeySet E_NG を返却(動作無し) cu_setDrive E_NG を返却(動作無し) 通信ユーティリティ制御(FLNK プロトコル) cu_open E_NG を返却(動作無し) cu_fileSend E_NG を返却(動作無し) cu_fileAdd E_NG を返却(動作無し) cu_fileRecv E_NG を返却(動作無し) cu_close E_NG を返却(動作無し) cu_readErrStat E_NG を返却(動作無し) cu_idle E_NG を返却(動作無し) cu_cmdRecv E_NG を返却(動作無し) cu_fileDelete E_NG を返却(動作無し) cu_f
関数 Socket 制御 net_socket net_bind net_connect net_listen net_accept net_send net_sendto net_recv net_recvfrom net_shutdown net_close net_select net_getsockopt net_setsockopt net_getsockerr net_inet_aton net_inet_addr net_inet_ntoa net_tcpip_ini net_tcpip_wai_rdy net_ascii_to_ipaddr net_ipaddr_to_ascii net_byte4_to_long net_long_to_byte4 net_ping_send net_get_myip_info LAN 制御 lan_setParam_IPmode lan_setParam_IPaddr lan_setParam_subnet lan_setParam_gateway LAN クレードル制御 lancradle_get_IPaddr lancradle_set_IPaddr
(2) 拡張機能ライブラリ 関数 アプリケーション支援ライブラリ ht_CheckDate ht_CheckYear ht_ConvertYear ht_Checksum ht_CalcCRC_ANSI ht_CalcCRC_CCITT ht_CalcCRC_X ht_CalcLRC ht_CheckCD ht_FCWait ht_StrInp ht_NumInp ht_DateInp ht_TimeInp ht_ShiftMode ht_FLNKsend ht_FLNKrecv Ir_c_open Ir_c_close Ir_c_status Ir_c_hold Ir_c_chkopen Ir_c_dout Ir_c_din Ir_c_tmdin Ir_c_out Ir_c_break Ir_c_txrx Ir_c_iobox Ir_c_irout Ir_c_timer Ir_c_rs Ir_c_er Ir_c_errs Ir_c_flush Ir_c_bfsts Ir_c_errbfring Ir_c_rderrsts Ir_c_chghdr ht_fileopen ht_fileclose 実機動作と
関数 ht_fileread ht_filewrite ht_filesize ht_filelof ht_waitmsec ht_dbgsendmsg ht_beep Ir_xy_modem 高速ファイルサーチライブラリ iHashAssign iHashRead iHashWrite iHashAdd MobilePrinter 制御ライブラリ MPRInit MPRDeinit MPROpen MPRClose MPRSend MPRReceive MPRCalcCRC16 MPRSetIrDA MPRGetIrDA MPRSetBluetooth MPRGetBluetooth 実機動作との違い 動作無し エラー終了(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) E_NG を返却(動作無し) 46
5. その他機能 5.1. フォントコンバータ DT-970 SDK ではツールとして「フォントコンバータ」を用意しています。 DT-970 エミュレータと実機ではフォントファイルのフォーマットが異なるため、DT-970 エミュレータでユー ザ定義フォント(*1)を使用する場合は、DT-970 実機で使用しているユーザ定義フォントファイルをエミュ レータ用のユーザ定義フォントファイルに変換する必要があります。 また、本ツールを使用して、新規にユーザ定義フォントファイル(for エミュレータ)を作成することが可能 です。 *1…ユーザ定義フォント 縮小 ANK(6×6)、縮小 ANK(8×8)、縮小 ANK(10×10) 標準 ANK(6×12)、標準 ANK(8×16)、標準 ANK(10×20) 漢字(12×12)、漢字(16×16)、漢字(20×20) 外字(12×12)、外字(16×16)、外字(20×20) フォントコンバータの構成 DT-900.
DT-900.kcg DT-900.kcg は DT-970 基本開発環境でインストールされます。 ユーザ定義フォントファイル(for DT-900、DT-930/970、エミュレータ)を新規に作成する場合は、本ファ イルをもとにフォントデータを作成します。 ユーザ定義フォントファイル(for DT-900) ユーザ定義フォントファイル(for DT-900)は DT-900 実機で使用するユーザ定義フォントファイルです。 既にユーザ定義フォントファイル(for DT-900)がある場合は、その編集および DT-930/970、エミュレータ 用のユーザ定義フォントファイルに変換することが可能です。 また、DT-900.
5.1.1. 機能 フォントデータ表示/反映 作成または編集したユーザ定義フォントファイルを確認するための Viewer 機能です。 既存のユーザ定義フォントファイル(for DT-900、DT-930/970)を表示する場合は、以下のファイル名お よび拡張子に修正してください。 • ファイル名 ファイル名 内容 縮小 ANK(6×6) 縮小 ANK(8×8) 縮小 ANK(10×10) 標準 ANK(6×12) 標準 ANK(8×16) 標準 ANK(10×20) 漢字(12×12) 漢字(16×16) 漢字(20×20) 外字(12×12) 外字(16×16) 外字(20×20) ANK6 ANK8 ANK10 ANK12 ANK16 ANK20 Kanji12 Kanji16 Kanji20 Gaiji12 Gaiji16 Gaiji20 • 拡張子 拡張子 *.ufh *.
フォント変換 作成または編集したユーザ定義フォントファイルを指定した機種用(DT-900、DT-930/970、エミュレー タ)のユーザ定義フォントファイルまたは 1 文字ビットマップファイルに変換します。 DT-900、DT-930/970 用のユーザ定義フォントファイルは上記のファイル名と拡張子で出力します。 また、エミュレータ用のユーザ定義フォントファイルは下記のファイル名で出力します。 • ユーザフォント定義ファイル(for エミュレータ) ファイル名 UserAL6.ttf UserAL6W.ttf UserAL8.ttf UserAL8W.ttf UserAL10.ttf UserAL10W.ttf UserAS6.ttf UserAS6W.ttf UserAS8.ttf UserAS8W.ttf UserAS10.ttf UserAS10W.ttf GaijiAS6.ttf GaijiAS6W.ttf GaijiAS8.ttf GaijiAS8W.ttf GaijiAS10.ttf GaijiAS10W.
5.1.2.
Conversion 画面 ① ② ③ No ① 項目名 出力ファイルの種類 ② OK ボタン ③ Cancel ボタン 説明 出力するファイル形式を選択します • True Type Font Files ユーザ定義フォントファイル(for エミュレータ) • DT-930/970 User Font Files ユーザ定義フォントファイル(for DT-930/970) • DT-900 User Font Files ユーザ定義フォントファイル(for DT-900) • Bitmap File 1 文字ビットマップファイル 出力ファイルは「5.1.
Import 画面 ① ② ③ ⑤ ④ ⑥ No ① ② 項目名 ファイルの場所(I) ファイル表示領域 ③ ファイル名(N) ④ ⑤ ファイルの種類(T) 開く(O) ボタン ⑥ キャンセル ボタン 説明 取り込むファイルが存在するフォルダを選択します ①で指定したフォルダ内にある④で指定した拡張子のファイルを表示し ます 取り込むファイルを指定します(複数指定可能) 「5.1.1機能」に示したすべてのファイルを指定しなくても、エラーにはなり ません 指定したファイルに関するフォントのみ、基本画面の Font 表示領域を変 更します 「5.1.
メッセージダイアログ • エラーメッセージダイアログ 本ツール使用時に、エラーが発生した場合は、エラーメッセージダイアログを表示します。 図中の点線内に下表のメッセージのいずれかを表示します。 エラーメッセージ The KCG file is not found. Application will close. The memory which this application uses is short. The formats of the KCG file are different. Application will close. File name is different. Please choose 1 character to change. Size of 1 character to change is different from a Bitmap file. The BIN files are not found. This application cannot read an external character file. 説明 DT-900.
5.1.3. 使用方法 (1) 起動方法 アプリケーション開発環境メニューの「フォント変換」をクリックすることにより、「5.1.
(2) ユーザ定義フォントファイルの新規作成 ユーザ定義フォントファイルを新規作成します。ここでは、縮小 ANK(8×8)の「A」を変更し、ユーザ定 義フォントファイル(for エミュレータ)を作成する手順を示します。 1. フォントコンバータを起動し、Display Font を「ANK 8*8dot」に変更します。 2.
3. 「Conversion」ボタンを押下し、Conversion 画面が起動したことを確認します。 4. 「Bitmap File」にチェックを入れ、「OK」を押下します。 5. 出力する任意のフォルダを選択し、「OK」を押下します。ここでは、C:¥TEMP に出力します。 出力フォルダ内に同名のファイルが存在する場合は上書き確認ダイアログを表示します。上書きし ない場合は別のフォルダを指定してください。 6. C:¥TEMP に ANK8_66.bmp が存在することを確認し、ビットマップエディタを用いて編集し、 ANK8_66.
7. 手順 1.および 2.と同様に、「ANK 8*8dot」の「A」を選択した状態で、「Import」ボタンを押下し、 Import 画面が起動したことを確認します。 8. 「ファイルの場所」に手順 5.で指定した C:¥TEMP を、「ファイルの種類」に「Bitmap File (*.bmp)」 を選択すると、手順 6.で編集した ANK8_66.bmp が表示されていることを確認します。 9. ANK8_66.
10. Font 表示領域内の「A」が手順 6.で編集した文字に変わっていることを確認します。 11. 「Conversion」ボタンを押下し、Conversion 画面を起動したことを確認します。 12. 「True Type Font Files」にチェックを入れ、「OK」ボタンを押下します。 13. 手順 5.と同様に、出力先フォルダに C:¥TEMP を選択し、「OK」ボタンを押下します。 出力フォルダ内に同名のファイルが存在する場合は上書き確認ダイアログを表示します。上書きし ない場合は別のフォルダを指定してください。 14. C:¥TEMPフォルダ内に「5.1.1機能」のユーザフォント定義ファイル(forエミュレータ)に示したファイ ルが存在することを確認します。 ユーザ定義フォントファイル(for DT-900、DT-930/970)を新規作成する場合は、手順 12.
(3) 既存のユーザ定義フォントファイルの編集 既存のユーザ定義フォントファイル(for DT-930/970)を編集します。ここで使用する既存のユーザ定 義フォントファイルは、漢字(20×20)の「亜」を「DT930」に変更しているものとします。ここでは、 「DT930」を変更し、ユーザ定義フォントファイル(for DT-930/970)を編集する手順を示します。 1. 既存のユーザ定義フォントファイルを「5.1.1機能」に示したファイル名および拡張子に変更します。 2. フォントコンバータを起動し、「Import」ボタンを押下します。 3. 「ファイルの場所」に手順 1.でファイル名および拡張子を変更したファイルが存在するフォルダを、 「ファイルの種類」に「DT-930/970 User Font File (*.
4. 「Kanji20.ufv」を選択し、「開く」ボタンを押下します。 (ファイルを複数選択することも可能です。ここでは漢字(20×20)を編集するため、Kanji20.ufv の みを選択しています。) 5. Display Font を「Kanji 20*20dot - 1」に変更します。 6.
7. 「(2) ユーザ定義フォントファイルの新規作成」の手順 3.~10.と同様に、「DT930」を編集し、その 編集した文字が Font 表示領域に表示されていることを確認します。 8. 「Conversion」ボタンを押下し、Conversion 画面を起動したことを確認します。 9.
10. 出力する任意のフォルダを選択し、「OK」を押下します。ここでは、C:¥TEMP に出力します。 出力フォルダ内に同名のファイルが存在する場合は上書き確認ダイアログを表示します。上書きし ない場合は別のフォルダを指定してください。 11. C:¥TEMPフォルダ内に「5.1.1機能」のユーザフォント定義ファイル(for DT-930/970)に示したファイ ルが存在することを確認します。 編集したユーザ定義フォントファイル(for DT-930/970)をエミュレータ、DT-900 で使用する場合は、 手順 9.で「True Type Font Files」または「DT-900 User Font Files」を選択してください。 また、手順 3.で「ファイルの種類」に「DT-900 User Font File (*.
5.1.4. 注意事項 外字について 本ツールの初回起動時は、Display Font を「Gaiji 12*12dot」、「Gaiji 16*16dot」、「Gaiji 20*20dot」に 設定しても、Font 表示領域に何も表示しません。 外字を編集するためには、「5.1.3使用方法」の「(3) 既存のユーザ定義フォントファイルの編集」の手順 3.
6. アプリ開発ステップ詳細 6.1. 目的 DT-970 アプリ開発は、Visual 開発環境(本ツール)を用意することで、視覚的/直感的な操作で、コンパ イラ等に関しての専門的な知識を不要としています。 一方で、コンパイラ等の専門的な知識があれば、ツール操作ではなく、アプリ開発手順をバッチ処理化 することで、自動化なども可能です。 このような用途に向けて、DT-970 アプリ開発手順のステップ詳細を記載します。 アプリ開発手順のステップは、基本的には、DT-930 と同一ですが、利用するコンパイラ/リンケージエデ ィタが異なるため、これらに対してのオプション指定などに差異があります。 DT-900/930/940 では、アプリケーション生成用に、スタートアップ用オブジェクトとして AP_START.OBJ と AP_INIT.OBJ を提供していましたが、DT-970 では、この2つのオブジェクトを統合し AP_START.OBJ のみの提供となります。(AP_INIT.
6.2. 全体の流れ Windows PC ① エディタ ソースファイル[*.C] 文字列の 16 進数変換 ② (*1) ソースファイル[*.C] RX C コンパイラ ③ ヘッダ[*.H] リロケータブルファイル[*.OBJ] RX C リンケージエディタ ④ ライブラリ[*.LIB] モトローラ S 形式ファイル[*.MOT] ⑤ オブジェクト変換 LMWIN-FLINK ダウンロード形式[*.LOD] LMWIN ⑥ 転送 DT-970 ⑦ FLINK アプリケーション *1...
No ① 説明 エディタで、C ソース、C ヘッダを作成します。 ② 文字列表記を 16 進数に変換します。(KJ_CNVRT) ③ ④ 本処理を実施しない場合には、C コンパイラのエンコードオプションで、対象ファイルのエンコ ードを正しく指定する必要かあります。 C ソースに対して、C ヘッダ(ユーザ作成、及び、SDK 提供)を適応し、オブジェクトを生成しま す。(ccrx) コンパイラには、各種オプション指定があります。 複数のオブジェクトから、ロードモジュール、もしくは、ライブラリを作成します。(rlink) ロードモジュールを作成する場合は、参照するライブラリ(ユーザ作成、及び、SDK 提供)を指 定します。 ⑤ リンケージエディタには、各種オプションがあります。 LMWIN-FLINK ダウンロード形式への変換(APCNVY) ⑥ LMWIN-FLINK でアプリ転送 ⑦ DT-970 で動作確認 6.3.
6.4. DT-970 開発環境 「DT-970 基本開発環境」には、前述、「RENESAS C コンパイラ」以外に各種ツールが含まれています。 「RENESAS C コンパイラ」以外の各種ツールは、標準設定でインストールすると、下記フォルダにインスト ールされます。 32 ビット OS: C:¥Program Files¥Windows CE Tools¥wce500¥DT-970 64 ビット OS: C:¥Program Files (x86)¥Windows CE Tools¥wce500¥DT-970 バッチビルドでは、上記フォルダ下の下記モジュールを利用します。 • • • • 文字列の 16 進数変換 オブジェクト変換 SDK ヘッダ SDK ライブラリ フォルダ bin obj include¥rx600 lib¥rx600 モジュール KJ_CNVRT.EXE APCNVY.EXE AP_START.OBJ AP_START1.OBJ AP_START2.OBJ 内容 文字列の 16 進数変換 LMWIN-FLINK ダウンロード形式(.
6.5. 動作環境設定 「RENESAS C コンパイラ」及び「DT-970 Export SDK」で用意されているツール、ヘッダ、ライブラリを利用 するために、環境変数の指定が必要となります。 それぞれが標準設定でインストールされている場合 32 ビット OS: C:¥Program Files¥Windows CE Tools¥wce500¥DT-970 64 ビット OS: C:¥Program Files (x86)¥Windows CE Tools¥wce500¥DT-970 下記設定を実施して下さい。 6.5.1.
6.6. コード/オブジェクト変換 KJ_CNVRT 漢字変換ツールは、変換元プログラムの漢字コードを 16 進数値データに変換して、結果を変換先 ファイルに出力します。 変換元(foo.c)から、変換先(bar.c)を生成する場合は、以下の記述となります。 KJ_CNVRT foo.c bar.c ccrx ccrx はコンパイルドライバの起動コマンドです。 本コマンド起動により,コンパイル,アセンブル,リンクを行うことができます。 入力ファイルの拡張子が「.s」「.src」「.S」「.SRC」のいずれかである場合,コンパイラはそのファイル をアセンブリ言語ファイル(.src, .s)と解釈して,アセンブラを起動します。 これら以外の拡張子のファイルは,C/C++ 言語ソースファイル(.c, .cpp)としてコンパイルします。 C 言語ソースファイルから、リロケータブルファイル(.
rlink rlink は,最適化リンケージエディタの起動コマンドです。 リンク処理だけではなく,以下に挙げる機能も含んでいます。 - リロケータブルファイル結合時の最適化 - ライブラリファイルの作成や編集 リロケータブルファイル(foo.obj、bar.obj)から、ライブラリ(sample.lib)をリンクした上で、モトローラ S 形式 ファイル(baz.mot)を生成する場合は、以下の記述となります。 rlink -subcommand=cmd.sub -list -SHow=SYmbol ※ -list -SHow=SYmbol: マップファイル(baz.map)にシンボル名一覧を出力します cmd.sub form stype input AP_START.OBJ,foo.obj,bar.obj output baz.mot library sample.lib rom D=R, D_1=R_1, D_2=R_2 start P,C*,D*,L,W*,B*/5335030 リロケータブルファイル(foo.obj, bar.obj)から、ライブラリファイル(baz.
7. 付録 7.1.
2) ループの処理時間 ループウェイト(for 文などでの繰り返し処理によるウェイト)は、CPU 性能などの動作環境で消費時間 は異なります。DT-930 と DT-970 では CPU 性能が異なるため、DT-930 のソースをそのまま DT-970 で利用すると、ウェイトされる時間は異なります。このため、期待する時間ウェイトさせるためにはソース 修正が必要となります。 3) 互換表示モード DT-930 互換表示モード 2 を使用した場合、グラフィック描画には互換性はないため表示位置の修正 が必要となります。 互換表示モードについては、「デバイス制御ライブラリリファレンスマニュアル」を参照してください。 4) sprintf 関数のゼロパディング printf 系書式のフィールド長先頭に 0 を記載して文字列を整形した場合(例:"%05s")、DT-930 で は、空白部分は 0 埋めされていましたが、DT-970 では、空白部分はそのままとなります。0 埋めをす るには別途アプリケーションの修正が必要となります。 (数値に対する書式 "%05d" の場合は、DT-930, DT-970 ともに 0 埋め
6) 関数のプロトタイプ宣言 プロトタイプ宣言せずに関数を呼び出すと、ビルド時にエラーとなります。関数を使用する際は必ずプ ロトタイプ宣言をしてください。 ※ DT-970 基本開発キット Ver.1.02 以前は、プロトタイプ宣言しなくてもビルドエラーにならず、第 5 引数以 降の値が正しく参照されませんでした。 <NG 例> #include #include #include #include #include #include void ap_start( void ) { ER ret = 0; ret = MyFunc1(1,2,3,4,5); } 上記 NG 例では、ビルド時に下記のエラーが表示されます。 <OK 例> #include #include #include #include #include #include
7) pwr_vibrator 関数による振動の継続 DT-930 では pwr_vibrator 関数は停止するまで振動し続けていましたが、DT-970 では振動開始後約 4 秒で自動的に停止されます。 振動を継続するためには、再度 pwr_vibrator 関数で振動を開始してください。 pwr_vibrator 関数については、「デバイス制御ライブラリ リファレンスマニュアル」を参照してください。 8) カシオ IR インターフェイスの廃止 DT-970 では、カシオ Ir インターフェイスはサポートしていません。DT-970 で IrDA を使用するアプリケ ーションを作成する場合は、IrCOMM プロトコルの IrDA 制御関数(Ir_xxx)を使用してください。 この 場合、相手先は IrCOMM に対応している機器に変更する必要があります。 IrDA 制御関数については、「デバイス制御ライブラリ リファレンスマニュアル」を参照してください。 9) トリガーキーの検出処理 DT-970 では、OBR 使用時のトリガーキー、L/R キーの動作が DT-930 と異なります。DT-930 では、ト リ
76
カシオ計算機お問い合わせ窓口 製品に関する最新情報 ●製品サポートサイト(カシオペア・ハンディターミナル) http://casio.