abc DT-970SDK デバイス制御ライブラリ リファレンスマニュアル DT-970 に搭載のハードウェアを制御する API を、 リファレンス形式で説明します。 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 2014.07 1.03 2014.
目次 1. はじめに ········································································································································································ 11 1.1 構成ファイルについて ······································································································································ 11 1.1.1 基本的な使い方·········································································································································· 11 2.
2.2.40 2.2.41 2.2.42 2.2.43 2.2.44 2.2.45 2.2.46 2.2.47 2.2.48 2.2.49 2.2.50 2.2.51 2.2.52 2.2.53 2.2.
9.1.2 9.1.3 9.1.4 9.1.5 9.1.6 9.1.7 9.1.8 9.1.9 9.1.10 9.1.11 9.1.12 9.1.13 9.1.14 9.1.15 9.1.16 9.1.17 9.1.18 9.1.19 9.1.20 9.1.21 9.1.22 9.1.23 9.1.
11.1.2 2バイトコード ············································································································································· 146 11.2 フォントモード ····················································································································································· 147 11.3 フォントデータ ···················································································································································· 147 11.3.
12.3.2 キー入力無効の設定 ······························································································································ 187 12.4 キーバッファ ······················································································································································· 187 12.5 バックライト制御 ··············································································································································· 188 12.
15.1.1 シリアルポートエミュレーション ············································································································ 226 15.1.2 ファンクションコール ································································································································ 226 15.1.3 ファンクションの優先順位 ······················································································································ 232 15.
16.4.15 16.4.16 16.4.17 16.4.18 16.4.19 16.4.
18.2 関数リファレンス ··············································································································································· 343 18.2.1 cu_open ························································································································································ 344 18.2.2 cu_fileSend ·················································································································································· 345 18.2.
21.2.4 wkup_cost ···················································································································································· 388 21.2.5 wkup_calib···················································································································································· 389 22.
1. はじめに このマニュアルは DT-970 に搭載した各種デバイスを制御するためのライブラリについて記載します。 1.1 構成ファイルについて DT-970 デバイス制御ライブラリを構成するさまざまなファイルについて説明します。 ヘッダファイル ファイル名 ITRON.H CMNDEF.H BIOS1DEF.H BIOS1MAC.H BIOS5DEF.H BIOS5MAC.H DTBMP.H 内容 システム用データと関数の定義 BIOS 用データと構造体の定義 BIOS ファンクションコールジャンプテーブルの型定義 BIOS ファンクションコールマクロの定義 Bluetooth ファンクションコールジャンプテーブルの型定義 Bluetooth 通信用マクロの定義 ビットマップ表示関数用データの定義 オブジェクトファイル AP_START.OBJ AP_START1.OBJ AP_START2.
2. データ型 DT-970 C ライブラリで使用するデータ型について説明します。 2.
2.2 構造体 DT-970 C ライブラリで使用する構造体を説明します。 2.2.
2.2.2 DAT_KEY_STR構造体 キー関連のシステムデータを格納します。 typedef struct sys_key{ W clk_md; } DAT_KEY_STR; メンバ clk_md クリック音の ON/OFF を次の値で格納します。 :クリック音 ON CLICK_ON :クリック音 OFF CLICK_OFF 参照 dat_system関数 2.2.
2.2.
2.2.
2.2.
2.2.
2.2.
2.2.
2.2.
2.2.11 DAT_SYS_STR構造体 端末に関するシステムデータを格納します。 typedef struct sys_dat{ UB sys_id[7]; UB bios_ver[7]; UW mac_type; } DAT_SYS_STR; メンバ sys_id 機器 ID を格納します。 bios_ver BIOS バージョンを格納します。読み取り専用です。 mac_type 機器種別を格納します。読み取り専用です。 参照 dat_system関数 2.2.
2.2.13 DAT_BAT_STR構造体 電池に関するシステムデータを格納します。 typedef struct sys_bat { W auto_disp; W type; } DAT_BAT_STR; メンバ auto_disp 電池を交換する度に、電池の種類(乾電池/充電池)の設定画面を表示するか否かを格納します。 :電池交換する度に、設定画面を表示する BAT_AUTODISP_ON :電池交換しても、設定画面を表示しない BAT_AUTODISP_OFF type 電池の種類を格納します。 BAT_TYPE_DRY BAT_TYPE_RECHARGE :乾電池 :充電池 参照 dat_system関数 2.2.
2.2.
2.2.16 DAT_HIP_STR構造体 端末 IP に関するシステムデータを格納します。 typedef struct sys_hip { W dhcp; UB ipaddr[IPADDR_BUF_LEN]; UB smask[IPADDR_BUF_LEN]; UB gateway[IPADDR_BUF_LEN]; UB dns1[IPADDR_BUF_LEN]; UB dns2[IPADDR_BUF_LEN]; } DAT_HIP_STR; メンバ dhcp DHCP を使用するか否かを格納します。 :IP を DHCP から取得する LAN_DHCP_ON :固定 IP LAN_DHCP_OFF ipaddr DT-970 の IP アドレスをドットノーテーション形式(xxx.xxx.xxx.xxx)で格納します。 smask サブネットマスクをドットノーテーション形式(xxx.xxx.xxx.xxx)で格納します。 gateway ゲートウェイアドレスをドットノーテーション形式(xxx.xxx.xxx.
2.2.17 DAT_CIP_STR構造体 LAN クレードルの IP に関する情報を格納します。 typedef struct sys_cip { UB ipaddr[IPADDR_BUF_LEN]; UB smask[IPADDR_BUF_LEN]; UB gateway[IPADDR_BUF_LEN]; } DAT_CIP_STR; メンバ ipaddr LAN クレードルの IP アドレスをドットノーテーション形式(xxx.xxx.xxx.xxx)で格納します。 smask サブネットマスクをドットノーテーション形式(xxx.xxx.xxx.xxx)で格納します。 gateway ゲートウェイアドレスをドットノーテーション形式(xxx.xxx.xxx.xxx)で格納します。 参照 dat_system関数 2.2.
2.2.19 DAT_HST_STR構造体 LAN 接続する際の接続先端末に関する情報を格納します。 typedef struct sys_hst { UB ipaddr[IPADDR_BUF_LEN]; W port; } DAT_HST_STR; メンバ ipaddr IP アドレスをドットノーテーション形式(xxx.xxx.xxx.
2.2.
2.2.21 FIL_SIZE構造体 ファイルの個数と総サイズ(4GB 以内)を格納します。 typedef struct cnt_and_size{ UW cnt; UW size; } FIL_SIZE; メンバ cnt ファイルの個数を格納します。 size ファイルの総サイズをバイト単位で格納します。 参照 fil_filesize関数 2.2.
2.2.
2.2.
2.2.
解説 エコーバックの強調反転表示を行なう場合は、type メンバに LCD_ATTR_REVERS と LCD_ATTR_WIDTH の OR を指定します。 echo メンバに ECHO_OFF を指定した場合、font_size、type、column_pos、line_pos それぞれのチェ ックは行ないません。 参照 key_read関数 33
2.2.
column_pos 入力桁座標を格納します。 line_pos 入力行座標を格納します。 column_len 入力文字の位置を半角で格納します。 key_num関数では、使用しません。 clr_type 初期データ表示後のクリアをする/しないを格納します。 :クリアします KEY_NUM_CLR_ON :クリアしません KEY_NUM_CLR_OFF key_string関数では、使用しません。 解説 エコーバックの強調反転表示を行なう場合は、type パラメータに LCD_ATTR_REVERS と LCD_ATTR_WIDTH の OR を指定します。 echo パラメータに ECHO_OFF を指定した場合、font_size、type、column_pos、line_pos それぞれの パラメータのチェックは行ないません。 参照 key_string関数、key_num関数 35
2.2.27 KEYFORM構造体 キーコードデータを格納します typedef struct stKeyCode{ UB attr; UB code; } KEYFORM ; メンバ attr code に指定するキーコードの属性を格納します。 :code メンバがアスキーコード 00h :code メンバが内部処理コード FFh アプリケーションプログラムがキー入力関数でキーコードを取得できるのは、attr に 00h を指定した code のみです。 code キーコードのコードを格納します。 attrが 00hの場合は、「11.1.
2.2.
各メンバに対し、キー入力有効/無効を格納します。 :キー入力有効 KEY_MODE_ENA :キー入力無効 KEY_MODE_DIS 参照 key_select関数 38
2.2.29 DAY_DAT構造体 日付データを格納します。 typedef struct day_tabl { UH year; UB month; UB day; } DAY_DAT; メンバ year 西暦年を 2000~2100 の範囲で格納します。 month 月を 1~12 の範囲で格納します。 day 日を 1~31 の範囲で格納します。 参照 s_dateset関数、s_dateget関数 2.2.
2.2.
Nw7[6] NW-7 の以下の情報を格納します。 :リザーブ Nw7[0] :NW-7 最小桁数 Nw7[1] :NW-7 最大桁数 Nw7[2] :NW-7 出力フォーマット Nw7[3] :NW-7 チェックデジット計算設定 Nw7[4] :NW-7 チェックキャラクタ出力設定 Nw7[5] Wpcea[6] WPC Addon の以下の情報を格納します。 :リザーブ Wpcea[0] :WPC Addon 最小桁数 Wpcea[1] :WPC Addon 最大桁数 Wpcea[2] :WPC Addon 出力フォーマット Wpcea[3] :WPC Addon チェックデジット計算設定 Wpcea[4] :WPC Addon チェックキャラクタ出力設定 Wpcea[5] ※ WPC Addon のチェックデジット計算を無効にする場合は、WPC Addon、WPC 双方のチェックデ ジット計算を無効に設定する必要があります。 Wpce[6] WPC の以下の情報を格納します。 :リザーブ Wpce[0] :WPC 最小桁数 Wpce[1] :WPC 最大桁数 Wpce[2] :WPC 出力フォーマッ
Upce[6] UPC-E の以下の情報を格納します。 :リザーブ Upce[0] :UPC-E 最小桁数 Upce[1] :UPC-E 最大桁数 Upce[2] :UPC-E 出力フォーマット Upce[3] :UPC-E チェックデジット計算設定 Upce[4] :UPC-E チェックキャラクタ出力設定 Upce[5] ※ UPC-E のチェックデジット計算を無効にする場合は、UPC-E Addon、UPC-E 双方のチェックデジッ ト計算を無効に設定する必要があります。 Idsf[6] Industrial 2of5 の以下の情報を格納します。 :リザーブ Idsf[0] :Industrial 2of5 最小桁数 Idsf[1] :Industrial 2of5 最大桁数 Idsf[2] :Industrial 2of5 出力フォーマット Idsf[3] :Industrial 2of5 チェックデジット計算設定 Idsf[4] :Industrial 2of5 チェックキャラクタ出力設定 Idsf[5] (9) Industrial 2of5 と IATA を別々に設定することはできません。 Co
Msi[6] MSI の以下の情報を格納します。 :リザーブ Msi[0] :MSI 最小桁数 Msi[1] :MSI 最大桁数 Msi[2] :MSI 出力フォーマット Msi[3] :MSI チェックデジット計算設定 Msi[4] :MSI チェックキャラクタ出力設定 Msi[5] Iata[6] IATA の以下の情報を格納します。 :リザーブ Iata[0] :IATA 最小桁数 Iata[1] :IATA 最大桁数 Iata[2] :IATA 出力フォーマット Iata[3] :IATA チェックデジット計算設定 Iata[4] :IATA チェックキャラクタ出力設定 Iata[5] (9) Industrial 2of5 と IATA を別々に設定することはできません。 Code に両方のコードを指定した場合、Idsf に設定した値が IATA に対して適用され、本パラメー タの値は使用されません。 Rss14[6] RSS-14 の以下の情報を格納します。 :リザーブ Rss14[0] :RSS-14 最小桁数 Rss14[1] :RSS-14 最大桁数 Rss14[2] :RSS-14 出
RssExp[6] RSS Expanded の以下の情報を格納します。 :リザーブ RssExp[0] :RSS Expanded 最小桁数 RssExp[1] :RSS Expanded 最大桁数 RssExp[2] :RSS Expanded 出力フォーマット RssExp[3] :RSS Expanded チェックデジット計算設定 RssExp[4] :RSS Expanded チェックキャラクタ出力設定 RssExp[5] (9) RSS Expanded と RSS Expanded Stacked を別々に設定することはできません。 Code に両方のコードを指定した場合、本パラメータに設定した値は RSS Expanded Stacked に 対しても適用されます。 Rss14S[6] RSS-14 Stacked の以下の情報を格納します。 :リザーブ Rss14S[0] :RSS-14 Stacked 最小桁数 Rss14S[1] :RSS-14 Stacked 最大桁数 Rss14S[2] :RSS-14 Stacked 出力フォーマット Rss14S[3] :RSS-14 Stack
Ledc LED の設定情報を格納します。 Bufc 出力方式の設定情報を格納します。 Endc 終了コードの設定情報を格納します。 Mode 段数読みの設定情報を格納します。 Dumy リザーブ領域です。 解説 項目 読み取り可 能コード 内容 b31 b0 Code39 リザーブ NW-7 WPC addon WPC UPCE addon UPCE IDF ITF CODE93 CODE128 MSI IATA RSS-14 RSS Limited RSS Expanded RSS-14 Stacked RSS Expanded Stacked (4 バイト) *1 読み取るコードに該当するビットを ON (1)にしま す。 *2 読み取り性能を向上させるため、必要な読み取り コードのみ設定することを推奨します。 45 初期値 RSS 以外す べて (FFFh) 設定 ○ 参照 ○
項目 内容 読み取り桁数 の設定 出力フォーマ ットの設定 チェックデジッ トの実行指定 チェックキャラ クタの出力指 定 初期値 38 38 18 13 12 7 40 40 40 64 40 40 14 14 74 14 出力 フォーマット 0 *1 0 *2 0 *6 0 *7 0 *8 1 *3 - - - 0 *4 - - 0 *9 0 *10 - 0 *11 チェック デジット 0 - 1 1 1 1 0 1 1 1 1 *5 1 1 1 1 1 チェック キャラクタ 1 - - - 1 0 1 1 - - 1 - 1 1 1 1 1 74 - 1 1 - - - - - リザーブ Min Max FFh FFh FFh FFh FFh FFh FFh FFh FFh FFh FFh FFh FFh FFh FFh FFh 2 2 10 8 9 7 2 4 3 2 2 2 14 14 1 14 FFh FFh - CODE39 NW-7 WPC(UPCE以外)addon WPC(UPCE以外) UPCE addon UPCE Industr
項目 読み取り方式の設定 内容 b7 b0 00h:単発読み 01h:連続読み(トリガキー有り) (1 バイト) ブザー制御の設定 b7 b0 00h:ブザー制御なし 01h:ブザー制御あり (1 バイト) LED/Vibrator 制御の設定 b7 b0 00h:LED制御無し・V ibrator制御無し 01h:LED制御有り・V ibrator制御無し 02h:LED制御有り(エラー除く) ・V ibrator制御無し 初期値 連続 読み (01h) 参照 ○ 設定 ○ ブザー あり (01h) ○ ○ LED あり Vib あり (11h) ○ ○ OBR バッファ (00h) ○ × CR のみ (00h) ○ ○ 通常 読み (00h) ○ ○ 10h:LED制御無し・V ibrator制御有り 11h:LED制御有り・V ibrator制御有り (1 バイト) 出力バッファの参照 (1 バイト) 終了コードの設定 (バーコードの最後 尾に付加するコード) (1 バイト) 読み取り動作の設定 (1 バイト) 12h:LED制御有り(エ
2.2.32 TIM_TBL構造体 シリアル通信制御の監視タイムアウト値を格納します。 typedef struct { H cs; H dr; H cd; } TIM_TBL; メンバ cs CS タイムアウト監視値を 0~32767 の範囲で格納します。単位は 7.8ms です。 dr DR タイムアウト監視値を 0~32767 の範囲で格納します。単位は 7.8ms です。 cd CD タイムアウト監視値を 0~32767 の範囲で格納します。単位は 7.8ms です。 参照 c_open関数 2.2.
2.2.
2.2.
baudRate RS232C の通信速度に次の値を格納します。 :RS232C の通信速度を 1200bps に設定 BPS_12 :RS232C の通信速度を 2400bps に設定 BPS_24 :RS232C の通信速度を 4800bps に設定 BPS_48 :RS232C の通信速度を 9600bps に設定 BPS_96 :RS232C の通信速度を 19200bps に設定 BPS_192 :RS232C の通信速度を 38400bps に設定 BPS_384 :RS232C の通信速度を 57600bps に設定 BPS_576 :RS232C の通信速度を 115200bps に設定 BPS_1152 DataLen RS232C のデータ長に次の値を格納します。 :RS232C のデータ長を 7bit に設定 LEN_7B :RS232C のデータ長を 8bit に設定 LEN_8B StopBit RS232C のストップビットに次の値を格納します。 :RS232C のストップビットを 1bit に設定 STOP_1B :RS232C のストップビットを 2bit に設定
2.2.
MinTurnTime 最小ターンアラウンドタイムを格納します。 :最小ターンアラウンドタイムを 5ms に設定 TURN_5MS :最小ターンアラウンドタイムを 1ms に設定 TURN_1MS DiscTime リンク開放時間に次の値を OR して格納します。 :リンクを開放する時間を 3s に設定可能 RELEASE_3S :リンクを開放する時間を 8s に設定可能 RELEASE_8S :リンクを開放する時間を 12s に設定可能 RELEASE_12S :リンクを開放する時間を 16s に設定可能 RELEASE_16S :リンクを開放する時間を 20s に設定可能 RELEASE_20S :リンクを開放する時間を 25s に設定可能 RELEASE_25S :リンクを開放する時間を 30s に設定可能 RELEASE_30S :リンクを開放する時間を 40s に設定可能 RELEASE_40S 参照 Ir_SetPortConfig関数 53
2.2.
2.2.
2.2.39 CU_RSPRM構造体 FLINK プロトコルにおける通信パラメータを格納します。 typedef struct { H speed; H length; H parity; H stop_bit; } CU_RSPRM; メンバ speed 転送速度を格納します。 CU_B1200 CU_B2400 CU_B4800 CU_B9600 CU_B19K CU_B38K CU_B57K CU_B115K :ボーレート 1200bps の指定 :ボーレート 2400bps の指定 :ボーレート 4800bps の指定 :ボーレート 9600bps の指定 :ボーレート 19.2Kbps の指定 :ボーレート 38.4Kbps の指定 :ボーレート 57.
2.2.
2.2.
2.2.
category, detail カテゴリと詳細エラーコードでエラー状態を判断します。 値 カテゴリ 意味 詳細 正常終了状態 00 00 DC~ 00 F5 F6 00 F7 00 F8 00 F9~FF - プロトコルエラー 01 00 01 03 04 05 07 08 10 04 00 10 00 01 02 03 04 05 06 07 08 09 0A 0B 正常終了 フォーマット指示コマンド(A~Z) 電源 OFF 終了通知 リセット指定終了通知 中断キーによる終了通知 予約領域 受信フレームファンクションコード未定義エラー 受信フレームサブファンクションコード未定義エラー 受信フレームチェックサムエラー シーケンスエラー シーケンス番号エラー 受信フレーム内情報パラメータエラー 受信タイムアウト コマンドレングスエラー ファイルエラー[プロトコル論理] リードオンリィファイルアクセスエラー ユーティリティエラー 回線オープンエラー (9) 回線がオープンされていない ・オープン時にエラーが発生していないか確認 使用関数フェーズエラー (9) 関数の使い方に誤りがある ・動作モー
ファイルエラー[ファイル関数] 11 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 20 00 01 02 03 04 0F 0x 1x クリエートエラー オープンエラー リードエラー ライトエラー シークエラー ファイル削除エラー ディレクトリ削除エラー ファイル名変更移動エラー タイムスタンプ設定エラー タイムスタンプ取得エラー ファイル属性設定エラー ファイル属性取得エラー ディレクトリ作成エラー ファイルサイズ変更エラー システムメニュー通信エラー フォーマット実行エラー (9) フォーマット中にエラー発生 ・再フォーマットする 環境設定ファイル未存在エラー ・CONFIG.HTS ファイルが存在しない 環境設定ファイル更新エラー (9) CONFIG.
2.2.
2.2.
2.2.
2.2.
2.2.
2.2.48 sockaddr_in構造体 ソケット関数で使用する IPv4 アドレス情報を格納します。 struct sockaddr_in short unsigned short struct in_addr char }; { sin_family; sin_port; sin_addr; sin_zero[8]; メンバ sin_family アドレスファミリーを格納します。通常は AF_INET を格納します。 sin_port ネットワークバイトオーダでのポート番号を格納します。 sin_addr IPv4 アドレス構造体(in_addr)を格納します。 sin_zero 使用しません。 参照 net_bind関数、net_connect関数、net_sendto関数、net_recvfrom関数 2.2.
2.2.50 sockaddr構造体 ソケット関数で使用するアドレス情報を格納します。 struct sockaddr { unsigned short sa_family; char sa_data[14]; }; メンバ sa_family アドレスファミリーを格納します。通常は AF_INET を格納します。 sa_data ソケットデータを格納します。 参照 net_bind関数、net_connect関数、net_accept関数、net_sendto関数、net_recvfrom関数 2.2.
2.2.
2.2.
2.2.
3.
数値計算 関数 acos asin atan atan2 cos sin tan cosh sinh tanh exp frexp ldexp log log10 modf pow sqrt ceil fabs floor fmod 機能概要 浮動小数点数の逆余弦 浮動小数点数の逆正弦 浮動小数点数の逆正接 浮動小数点どうしを除算した結果の逆正接 浮動小数点数のラディアン値の余弦 浮動小数点数のラディアン値の正弦 浮動小数点数のラディアン値の正接 浮動小数点数の双曲線余弦 浮動小数点数の双曲線正弦 浮動小数点数の双曲線正接 浮動小数点数の指数 浮動小数点数を(0.5,1.
ストリーム入出力 関数 fclose fopen freopen 機能概要 ファイルのクローズ ファイルのオープン 現在オープンしているファイルをクローズし、新たに指定ファイル名の ファイルをオープン データを書式に従って変換し、指定領域に出力 指定領域からデータを入力し、書式に従って変換 ファイルから指定領域にデータを入力 指定領域からファイルにデータを出力 ファイルの現在の読み書き位置を移動 ファイルの現在の読み書き位置を取得 ファイルの現在の読み書き位置をファイル先頭に移動 ファイルがエラー状態であるかを判定 ファイルのエラー状態をクリア sprintf sscanf fread fwrite fseek ftell rewind ferror clearerr ※ データファイルへの入出力のみサポートします。標準入出力ファイル(コンソール、プリンタ、デイスクフ ァイル等)についての入出力はサポートしません。 C プログラム標準処理 関数 atof atoi atoll strtod strtol srand calloc free malloc realloc abort exit bsearch
文字配列操作 関数 memcpy strcpy strncpy strcat memcmp strcmp strncmp memchr strchr strcspn strpbrk strrchr strspn strstr memset strerror strlen 機能概要 複写元の記憶域の内容を、指定サイズ分複写先の記憶域に複写 複写元の文字列を複写先の記憶域に NULL も含めて複写 複写元の文字列を指定文字数分、複写先の記憶域に複写 文字列の後に文字列を連結 指定した 2 つの記憶域の比較 指定した 2 つの文字列の比較 指定した 2 つの文字列を、指定文字数分まで比較 指定記憶域で、指定文字が最初に現れる位置を検索 指定文字列で、指定文字が最初に現れる位置を検索 指定文字列を先頭から調べ、別の指定文字列以外の文字が先頭から 何文字続くかを取得 指定文字列で、別の指定文字列が最初に現れる位置を検索 指定文字列で、指定文字が最後に現れる位置を検索 指定文字列を先頭から調べ、別の指定文字列が先頭から何文字続く かを取得 指定文字列で、別の指定文字列が最初に現れる位置を検索 指定記憶域の先頭から指定文
4. システムデータ管理 ここでは、DT-970 のシステムデータ管理関数について説明します。 4.
4.1.
sys_dt 取得/設定対象のシステムデータ構造体アドレスを指定します。 sys_id の指定によって、sys_dt パラメータに指定する構造体は次のようになります。 :DAT_PWR_STR構造体 SYSD_PWR :DAT_KEY_STR構造体 SYSD_KEY :DAT_OBR_STR構造体 SYSD_OBR :DAT_DSP_STR構造体 SYSD_DSP :DAT_DSP_STR2 構造体 SYSD_DSP2 :DAT_DSP_STR3 構造体 SYSD_DSP3 :DAT_COMINF_STR構造体 SYSD_COM :DAT_COM_STR構造体 SYSD_COM0 :DAT_TIM_STR構造体 SYSD_TIM :DAT_SYS_STR構造体 SYSD_SYS :DAT_SYS_STR2 構造体 SYSD_SYS2 :DAT_PRO_STR構造体 SYSD_PRO :DAT_BAT_STR構造体 SYSD_BAT :DAT_BTH_STR構造体 SYSD_BTH :DAT_LAN_STR構造体 SYSD_LAN :DAT_HIP_STR構造体 SYSD_HIP :DAT_CIP_STR構造体
4.1.2 dat_OSVer_Read OS バージョンを取得します。 void dat_OSVer_Read( B *rd_buf ); パラメータ rd_buf OS バージョンを取得するバッファのアドレスを指定します。 16 バイト以上の領域を指定してください。 戻り値 ありません。 解説 取得する OS バージョンのフォーマットを以下に示します。 *.***(SP)**.**.**(SP)(SP) 1~6 バイト バージョン NO. 7 バイト スペース 8~9 バイト 年 10 バイト . 11~12 バイト 月 13 バイト .
4.1.3 dat_dealer_chk 代理店 ID のチェックを行ないます。アプリケーションの不正コピー防止などに使用します。 ER dat_dealer_chk( UB *dealer_no ); パラメータ dealer_no チェック対象代理店 ID を格納した領域のアドレスを指定します。 戻り値 代理店 ID が一致すると E_OK が返ります。 一致しないと E_NG が返ります。 4.1.4 dat_mem_size メモリ領域の未使用領域サイズを取得します。 UW dat_mem_size(); パラメータ ありません。 戻り値 メモリ領域の未使用領域サイズが、バイト単位で返ります。 4.1.
5. 電源管理 5.
5.
5.2.1 pwr_hold_apo APO 禁止の設定と解除を行ないます。 ER pwr_hold_apo( UH OnOff, UW BitPtrn ); パラメータ OnOff APO 禁止の設定、解除を次の値で指定します。 :APO 禁止を設定します PWR_ON :APO 禁止を解除します PWR_OFF BitPtrn ビットパターンを指定します。FL_INV_APO_USR を指定してください。 戻り値 関数が成功すると E_OK が返ります。失敗すると次のエラーが返ります。 :パラメータエラー E_PRM 5.2.
5.2.
6. ブザー鳴動 6.1 概要 DT-970 は、次の 3 つの音を鳴動させることができます。 • キークリック音 • エラービープ音 • サウンド音 内容 キークリック音 キー押下時に使用しま す。 エラービープ音 入力禁止中のキー押下/エ ラー発生時等に使用しま す。 周波数 2048Hz 4096Hz 長さ 50msec 100msec その他 システム専用 アプリケーション使用可能 サウンド音 周波数/長さを指定してサウンド 音を鳴動します。 サウンド音鳴動前に、鳴動中のブ ザーを停止します。 0 128~4096Hz 1~160(×25msec) 0(停止) アプリケーション使用可能 エラービープ音は s_beep関数を、サウンド音は s_sound関数を使用して、アプリケーションからブザーを 鳴動することができます。 6.
6.
6.3.1 s_beep エラービープ音を鳴らします。 void s_beep(); パラメータ ありません 戻り値 ありません 解説 ビープ音の音量は、dat_system関数 DAT_TIM_STR構造体で設定した値にしたがいます。 6.3.
7. バイブレータ 本体内蔵のバイブレータを振動させることができます。 7.
7.1.
8.
8.
8.1.
8.1.
8.1.
8.1.
9. ファイル管理 9.
9.1.1 fil_mkdir ディレクトリを作成します。 ER fil_mkdir( const char ); *path パラメータ path 作成するディレクトリのフルパスを指定します。 戻り値 関数が成功すると E_OK が返ります。失敗すると、次のエラーが返ります。 :異常終了 E_NG 解説 本関数は、DT-700 互換ファイルシステムでは使用できません。 MS-DOS の予約デバイス(con、prt 等)に相当するファイル名の制限はありません。 path パラメータに、9 文字以上 11 文字のディレクトリ名を指定した場合は、8.3 形式に変換してディレ クトリを作成します。 (例) A:¥12345678901 → A:¥12345678.
9.1.
9.1.3 fil_remove ファイルを削除します。 ER fil_remove( const char ); *pathname パラメータ pathname 削除するファイルのパスを指定します。 戻り値 関数が成功すると E_OK が返ります。失敗すると、次のエラーが返ります。 :異常終了 E_NG E_PRM :パラメータエラー 解説 Pathname パラメータに指定するパスは、ファイルシステムにより指定可能な形式が異なります。 指定形式 形式 1 形式 2 ファイル名.拡張子 nnnnnnnn.mmm ドライブ:パス¥ファイル名.拡張子 d:¥pppppppp¥nnnnnnnn.
9.1.
9.1.
9.1.
9.1.7 fil_getsize ファイル領域の空きサイズ(4GB 以内)を取得します。 UW fil_getsize( B *path ); パラメータ path 空きサイズを取得するドライブ名を指定します。 戻り値 関数が成功するとファイル領域の空き領域のサイズが返ります。 失敗すると、次のエラーが返ります。 :異常終了 E_NG :パラメータエラー E_PRM 解説 ファイル領域の空きサイズが 4GB 以上の場合は、戻り値は 4,294,967,295 となります。 9.1.
9.1.
9.1.
9.1.
9.1.
9.1.
9.1.14 dat_fdir ファイル格納情報を取得します。(DT-700 互換モード専用) ER dat_fdir( B id, DIR_TBL *buf ); パラメータ id ファイル管理テーブルの読み込み位置を、次の値で指定します。 :ファイル管理テーブルの先頭から読み込みます DAT_FILE_TOP :次のファイル管理テーブルを読み込みます DAT_FILE_NEXT buf ファイル格納情報を取得する、DIR_TBL構造体のアドレスを指定します。 戻り値 関数が成功すると E_OK が返ります。失敗すると、次のエラーが返ります。 :ファイル管理テーブルの読み込み位置指定エラー E_PRM :ファイル格納情報が存在しない E_NG 参照 DIR_TBL構造体 9.1.
9.1.
9.1.
9.1.
解説 オープンしていないファイルに対して本関数を実行した場合、E_NG を返します。 それぞれのパラメータの関係は次のとおりです。 ファイル(filename) fieldsize(レコード長) start_adr 検索データ(code) keypos keylen 検索データ1 検索データ2 検索データ3 検索データ4 ・ ・ ・ <例: 検索データ3で検索できた場合> *srata = 検索データ3 *fpos = 検索データ3のアドレス 113
9.1.
9.1.
9.1.
9.1.
9.1.
9.1.
10.イベント通知機能 10.
10.2 通知イベントの種類 10.2.
電源イベントのクリア 電源イベントを受け取ったアプリケーションプログラムは、pwr_inhabit_clr関数を使ってそのイベントをクリ アしなければなりません。これを行わないと、システムは何度も同じイベントを通知します。 10.2.2 キーイベント キーイベントの通知を有効にすることにより、アプリケーションプログラムはキーコードを受け取らずにキー 待ちから抜けることができます。これは、キー入力関数で入力待ち中にファンクションキーを処理する場合 などに有効です。 下表のとおり、キーイベントの通知を有効にできるのは、ファンクションキー、マルチファンクションキーの みです。 制御キー テンキー ファンクションキー マルチファンクションキー トリガーキー カーソルキー キー 入力モード切替(S) 後退(BS) クリア(CLR) テンキー 1 テンキー 2 テンキー 3 テンキー 4 テンキー 5 テンキー 6 テンキー 7 テンキー 8 テンキー 9 テンキー 0 テンキー .
10.2.3 タイマイベント アプリケーションプログラムは 2 種類のインターバル・タイマを使うことができます。アプリケーションプログラ ムが通知を有効に設定すると、指定時間を経過するたびに、繰り返しイベントを通知します。 タイマ 1:1 秒単位のインターバルタイマです。 項目 最小単位 設定時間 誤差 最大登録数 タイムアウト時の処理 仕様 1sec 1(1sec)~3600(1Hour) 要求時間+(最大)1sec 10 指定時間経過後、指定のイベントフラグによって通知します。 タイマ 2:31.25msec 単位のインターバルタイマです。 項目 最小単位 設定時間 誤差 最大登録数 タイムアウト時の処理 仕様 31.25msec 1(31.25msec)~115200(1Hour) 要求時間+(最大)31.
10.
キーイベントの通知(FL_FK_INT_ID 用) ビットパターン FL_FK_INT_FNC1 FL_FK_INT_FNC2 FL_FK_INT_FNC3 FL_FK_INT_FNC4 FL_FK_INT_FNC5 FL_FK_INT_FNC6 FL_FK_INT_FNC7 FL_FK_INT_FNC8 FL_FK_INT_MLTL FL_FK_INT_MLTR 内容 F1 キー押下イベント用 F2 キー押下イベント用 F3 キー押下イベント用 F4 キー押下イベント用 F5 キー押下イベント用 F6 キー押下イベント用 F7 キー押下イベント用 F8 キー押下イベント用 マルチファンクションキーL 用 マルチファンクションキーR 用 タイマイベントの通知(FL_TM1_INT_ID、FL_TM2_INT_ID 用) ビットパターン TM1 FL_TM1_INT_RTC1 FL_TM1_INT_RTC2 FL_TM1_INT_RTC3 FL_TM1_INT_RTC4 FL_TM1_INT_RTC5 FL_TM1_INT_RTC6 FL_TM1_INT_RTC7 FL_TM1_INT_RTC8 FL_TM
10.4 イベント通知の設定、取得とクリア イベント通知の設定には、イベントフラグID毎に用意された関数を使用します。イベントの通知状態(イベ ントフラグ)は、イベントの種類によらず ref_flg関数で取得することができます。また、通知されたイベント をクリアする場合、電源イベントには pwr_inhabit_clrを使い、それ以外には clr_flgを使います。 イベントフラグ ID 通知を有効 通知を無効 FL_LB_INT_ID pwr_inhabit ← FL_FK_INT_ID key_fnc_mode ← FL_TM1_INT_ID FL_TM2_INT_ID s_settimer s_settimer2 s_timerend s_timerend2 イベントフラ グを取得 ref_flg イベントフラグを クリア pwr_inhabit_clr clr_flg 通知待ち wai_flg、 key_read、 key_string、 key_num wai_flg 10.
10.
10.6.
10.6.
10.6.
戻り値 関数が成功すると E_OK が返ります。失敗すると次のエラーが返ります。 :パラメータエラー E_PRM 解説 本関数は mode に指定した値によって他の引数の扱いが変わります。 この関係を表したのが下表です。 mode func_num FNC_MODE_SET 設定対象のキー FNC_MODE_CLR FNC_MODE_RED クリア対象のキー 取得対象のキー flgid setptn FL_FK_INT_ID 固定 イベント発生時にセットする ビットパターン 取得した flgid 値を返します。 未設定時はゼロを返します。 (※) 取得した flgid 値を返しま す。未設定時はゼロを返し ます。(※) (9) key_fnc_mode関数呼出し前に値をセットする必要はありません。 131
10.6.
10.6.
10.6.6 s_settimer2 タイマ 2 にイベントの発生間隔を登録し、通知を有効にします。イベントの発生間隔は 31.25 ミリ秒単位 (最大 60 分)で指定でき、最大で 10 種類の値を登録することができます。登録に成功すると 0~9 のタイ マ登録IDを返します。このタイマ登録IDは、s_timerend2 関数による登録の削除に使います。 ER s_settimer2( ID flgid, UW setptn, UW tmcnt ); パラメータ flgid 対象のイベントフラグ ID を指定します。アプリケーションプログラムから呼び出す場合、この値は FL_TM2_INT_ID 固定です。 setptn タイムアップ時にイベントフラグにセットするビットを FL_TM2_INT_ITU0 ~ FL_TM2_INT_ITU31 の 範囲で指定します。複数のビットを OR で指定することもできます。 tmcnt タイマカウントを 1~115200(1 カウント = 31.
10.6.
10.6.
10.6.
10.6.
10.7 サンプルコード 10.7.
ソースコード ER UW T_RFLG KEY_INP err, retcd; i; rflg; keyinf; /* イベント通知を設定 LB0,LB1,LB2 */ pwr_inhabit( PWR_ON, FL_LB_INT_ID, FL_LB_INT_LB0|FL_LB_INT_LB1|FL_LB_INT_LB2 ); ・ ・ ・ for( i = 0, retcd = E_KEY_LB; i < 2 && retcd == E_KEY_LB; i++ ) { /* イベントフラグ状態の取得 */ rflg.wtskid = 0; rflg.flgptn = 0; err = ref_flg( FL_LB_INT_ID, &rflg ); if( rflg.flgptn & FL_LB_INT_LB0 ) /* LB0 通知あり */ { /* LB0 イベントのクリア */ pwr_inhabit_clr( FL_LB_INT_ID, FL_LB_INT_LB0 ); /* LB0 イベント処理を実行 */ sub_lb0(); } else if( rflg.
/* 1 文字入力 */ retcd = key_read( &keyinf ); } /* イベント通知の解除 */ pwr_inhabit( PWR_OFF, FL_LB_INT_ID, FL_LB_INT_LB0|FL_LB_INT_LB1|FL_LB_INT_LB2); ・ ・ ・ /* LB0 イベント処理*/ void sub_lb0( void ) { ・ ・ return; } /* LB1 イベント処理*/ void sub_lb1( void ) { ・ ・ return; } /* LB2 イベント処理*/ void sub_lb2( void ) { ・ ・ return; } 注意 電源イベントに対するイベント通知を使用する場合、下記の点を注意してください。 • 複数のイベントに対して通知を有効に設定する場合、必ず LB イベントを最優先して処理してください。 • イベントの発生を確認する処理は、キー入力待ちの前後で行なってください。 • イベントの発生を確認する処理の間隔が長いと、イベントに対応した処理が遅れることになります。この 間隔が長くなり過ぎないように注意してください。 •
10.7.
ソースコード ER err, retcd; UW ptn; T_RFLG rflg; KEY_INP keyinf; ID fid; ・ ・ /* イベント通知の設定 ファンクションキー1 */ fid = FL_FK_INT_ID; ptn = FL_FK_INT_FNC1; err = key_fnc_mode( FNC_MODE_SET, FNC_1, &fid, &ptn ); /* イベント通知の設定 ファンクションキー2 */ fid = FL_FK_INT_ID; ptn = FL_FK_INT_FNC2; err = key_fnc_mode( FNC_MODE_SET, FNC_2, &fid, &ptn ); ・ ・ ・ /* 1 文字入力 リターン条件の設定 */ keyinf.ext = KEY_INT_EXT; /* KEY 通知による脱出を指定 */ keyinf.echo = ECHO_OFF; keyinf.font_size = LCD_ANK_STANDARD; keyinf.type = LCD_ATTR_NORMAL; keyinf.
/* イベント通知の解除 ファンクションキー1 */ fid = FL_FK_INT_ID; ptn = FL_FK_INT_FNC1; err = key_fnc_mode( FNC_MODE_CLR, FNC_1, &fid, &ptn ); /* イベント通知の解除 ファンクションキー2 */ fid = FL_FK_INT_ID; ptn = FL_FK_INT_FNC2; err = key_fnc_mode( FNC_MODE_CLR, FNC_2, &fid, &ptn ); ・ ・ ・ /* ファンクションキー1 イベント処理*/ void sub_fnc1( void ) { ・ ・ return; } /* ファンクションキー2 イベント処理*/ void sub_fnc2( void ) { ・ ・ return; } 注意 キーに対するイベントの通知を有効にする場合、下記の点に注意してください。 • イベントに対応する処理は、キー入力待ちの後で行なってください。 • 押下されたキーの識別は、イベントフラグのビットで判別してください。 • キー入力待ちの終了条件に”イベント通知キー押下(
11.画面表示 DT-970 の表示について説明します。 画面サイズは、シンボル表示領域を含めて 128×128 ドットです。 11.1 表示コード 表示コードは、シフト JIS コードを使用します。DT-970 のコード体系を以下に示します。 11.1.
11.1.
11.2 フォントモード DT-970 には、次の 3 つのフォントモードがあります。 • 6 ドットフォントモード • 8 ドットフォントモード • 10 ドットフォントモード フォントモードは、dat_system関数を使用して設定します。 複数のフォントモードのフォントを混在して表示することはできません。 11.
1バイト 3バイト : : : 11バイト 標準 ANK (6×12 ドット) 1 フォント 12 バイト構造 □□□□□□ □□■■□□ □■□□■□ □■□□■□ □■□□■□ □■■■■□ □■□□■□ □■□□■□ □■□□■□ □■□□■□ □□□□□□ □□□□□□ ****** ****** ****** ****** 2バイト : : : 10バイト 12バイト bit 0 : : : : : : bit 7 bit 0 : : : : : : bit 7 00 00 FC 03 22 00 22 00 FC 03 00 00 1 2 3 4 5 6 7 8 9 10 11 12 バイト 1バイト 3バイト : : : : : : : : : 23バイト 漢字 (12×12 ドット) 1 フォント 24 バイト構造 □□□□□□□□□□□□ □□□□□□□□□□□□ □■■■■■■■■■□□ □□□□■□■□□□□□ □□■■■■■■■□□□ □□■□■□■□■□□□ □□■□■□■□■□□□ □□■□■□■□■□□□ □□■■■■■■■□□□ □□□□■□■□□□□□ ■■■■
11.3.
1バイト 3バイト : : : : : : : : : : : : : 31バイト 漢字 (16×16 ドット) 1 フォント 32 バイト構造 □□□□□□□□□□□□□□□□ □■■■■■■■■■■■■■■□ □□□□□□■□□■□□□□□□ □□□□□□■□□■□□□□□□ □□□□□□■□□■□□□□□□ □□□□□□■□□■□□□□□□ □□■■■■■■■■■■■■□□ □□■□□□■□□■□□□■□□ □□■□□□■□□■□□□■□□ □□■■■■■■■■■■■■□□ □□□□□□■□□■□□□□□□ □□□□□□■□□■□□□□□□ □□□□□□■□□■□□□□□□ □□□□□□■□□■□□□□□□ ■■■■■■■■■■■■■■■■ □□□□□□□□□□□□□□□□ 2バイト : : : : : : : : : : : : : 30バイト 32バイト bit 0 : : : : : : bit 7 bit 0 : : : : : : bit 7 00 42 02 40 C2 47 42 44 42 44 42 44 FE 7F 42 44 1 2 3 4 5 6 7 8 9 10 11
1バイト 4バイト : : : : : : : 28バイト 標準 ANK (10×20 ドット) 1 フォント 30 バイト構造 □□□□□□□□□□ □□□□■■□□□□ □□□■■■■□□□ □□■■□□■■□□ □■□□□□□□■□ □■□□□□□□■□ □■□□□□□□■□ □■□□□□□□■□ □■□□□□□□■□ □■■■■■■■■□ □■■■■■■■■□ □■□□□□□□■□ □■□□□□□□■□ □■□□□□□□■□ □■□□□□□□■□ □■□□□□□□■□ □■□□□□□□■□ □■□□□□□□■□ □■□□□□□□■□ □□□□□□□□□□ ********** ********** ********** ********** 3バイト : : : : : : : 27バイト 30バイト bit 0 : : : : : : bit 7 bit 0 : : : : : : bit 7 bit 0 : : : : : : bit 7 00 00 00 F0 FF 07 18 0C 00 0C 1 2 3 4 5 6 7 8 9 10 バイト 0C 06 00 0C 06 00 0C
11.
修飾 強調+横倍角 処理 横倍角修飾を行なったビットパターンに、強調修飾を行ないます。 □□□□□□ □□□□□□□□□□□□ □□□□□□□□□□□□ □□■■□□ □□□□■■■■□□□□ □□□□■■■■■□□□ □■□□■□ □□■■□□□□■■□□ □□■■■□□□■■■□ □■□□■□ □□■■□□□□■■□□ □□■■■□□□■■■□ □■□□■□ □□■■□□□□■■□□ □□■■■□□□■■■□ □■■■■□ □□■■■■■■■■□□ □□■■■■■■■■■□ → → □■□□■□ □□■■□□□□■■□□ □□■■■□□□■■■□ □■□□■□ □□■■□□□□■■□□ □□■■■□□□■■■□ □■□□■□ □□■■□□□□■■□□ □□■■■□□□■■■□ □■□□■□ □□■■□□□□■■□□ □□■■■□□□■■■□ □□□□□□ □□□□□□□□□□□□ □□□□□□□□□□□□ □□□□□□ □□□□□□□□□□□□ □□□□□□□□□□□□ 反転+横倍角 横倍角修飾を行なったビットパターンに、反転修飾を行ないます。 □□□□□□ □□□□□□□□□□□□ ■■■■■■■
11.5 フォントファイル ROM 搭載以外のフォントを表示することができます。 フォント全部を交換するユーザーフォントとフォントを一部追加する外字フォントがあります。 11.5.
11.5.
11.6 表示 ここでは、画面出力仕様を説明します。 • 表示座標系 • 文字表示 • 制御コード表示 • ESC シーケンス表示 • スクロール制御 • 例外処理 • DT-930 互換表示 • 行挿入 • 拡大表示 11.6.
11.6.2 文字表示 キャラクタ座標系に表示する関数には、1 文字表示(lcd_char)、文字列表示(lcd_string、lcd_string2)が あります。関数に指定するコードと実際に表示される文字の関係を以下に示します。 文字表示(lcd_char) 1 バイト目 00 81~84 89~9F,E0~EA 88 EB 上記以外 2 バイト目 00 0A,0D 01~09,0B,0C 0E~1F,81~9F E0~FC 20~7F,A0~DF FD~FF 40~7E,80~FC 00~3F,7F,FD~FF 9F~FC 00~9E,FD~FF 40~7E 80~C0 00~3F,7F,C1~FF 00~FF ROM フォント時 ユーザーフォント指定時 何も表示しません コントロールコード (「11.6.
11.6.
11.6.4 ESCシーケンス 画面クリア( ESC[2J ] 表示データをすべてスペースクリアします。カレントカーソル位置は 0 桁、0 行に移動します。 カーソル位置設定( ESC[Pn;PmH ESC[Pn;Pmf ] カレントカーソル位置を移動します。 n: 行を指定します。 m: 桁を指定します。 行列座標の始点は左上を 1 行、1 桁とします。座標の範囲は現在のフォントモードの縮小 ANK を基準とし ます。 Pm、Pn は省略することができます。省略した場合は1が指定されたものとします。 フォーマットエラー時の処理 ESC シーケンスのフォーマットに誤りがある場合は、文字列として表示します。 例) “ ESC [2J “ を “ ESC [2G “ と誤って指定した場合 11.6.
(例 2) 最上行に標準 ANK が表示されているときに、最下行-1 に標準 ANK を表示する場合 座標(14,14)に標準 ANK”ABCDEF”を表示 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 : 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1234567890ABCDEF ABCDEF 0 1 2 3 : 12 13 14 15 1234567890ABCDEF ANKスペースを表示 CDEF AB (例 3) 最上行に標準 ANK が表示されているときに、最下行に標準 ANK を表示する場合 座標(14,15)に標準 ANK”ABCDEF”を表示 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 : 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1234567890ABCDEF ABCDEF 0 1 2 3 : 12 13 14 15 CDEF AB ※ スクロール抑制の抑止
11.6.
行端での自動改行制御 文字列表示を行なうとき、行端で表示仕切れない場合には先頭文字により、1 または 2 行の改行を自動で 行ないます。(ただし、改行モードあり指定時) (9) 先頭文字が縮小 ANK の場合、座標(0,0)に“1234567890ABCDEFGHIJ あ”を表示 ※ 56 は上書きされます。 (例 2) 先頭文字が標準 ANK/漢字の場合、座標(0,0)に”1234567890ABCDEFGH あ”表示 行端での漢字表示制御 行端で切れ端になる場合には、1 または 2 行の改行を自動で行ないます。(ただし、改行モードありのと き) (9) 先頭文字が縮小 ANK の場合、座標(12,1)に“A あいうえ”を表示 ※ い‘が入りきらないので改行します。 ※ 先頭文字が縮小 ANK なので、1 行分改行します。 ※ 123456 は上書きされます。 (例 2) 先頭文字が標準 ANK/漢字の場合、座標(12,1)に”あいうえ”表示 ※ ‘う’が入りきらないので改行します。 ※ 先頭文字が標準 ANK なので、2 行分改行します。 162
11.6.7 DT-930 互換表示 本表示関数では、DT-930 と互換を取るため通常表示モードの他に、2 つの互換モードを提供します。 アプリケーション作成時に互換モード用のオブジェクト(AP_START1.OBJ、AP_START2.OBJ)をリンクして ください。 DT-930 互換モード1 • 画面の上部 64dot に、DT-930 のアプリケーションを表示します。 64dot シンボル表示領域 (空白) シンボル表示領域 DT-930 DT-970 (2)DT-930 互換モード2 • 各フォントモードのフォントを縦方向に 1.
11.6.8 行挿入(行間ピッチ設定) 行間ピッチを設定することにより、行間を広げて表示します。 行間ピッチを設定する場合は、dat_system関数を使用して設定します。 行間ピッチの設定範囲は、下記の通りです。 フォントサイズ 縮小 ANK 標準 ANK 漢字 設定範囲 0~9 縮小 ANK の 2 倍 縮小 ANK の 2 倍 行間ピッチ設定時は、下記のように表示されます。 行間設定無 行間設定有 縮小 ANK 時 (点線部が行間ピッチ) 縮小 ANK と標準 ANK 混在時 (点線部が行間ピッチ。標準 ANK 文字の行間ピッチは 2 倍となる) 11.6.
11.
11.7.1 lcd_cls 表示データをすべてスペースクリアします。 ER lcd_cls(); パラメータ ありません。 戻り値 関数が成功すると E_OK が返ります 解説 カレントカーソル位置をホームポジション(0,0)へ移動します。 11.7.
11.7.
11.7.
11.7.
11.7.
11.7.
11.7.
11.7.
11.7.
11.7.
11.7.12 lcd_romfont ユーザーフォントデータ表示から ROM フォントデータ表示へ切り替えます。 ER lcd_romfont(); パラメータ ありません。 戻り値 関数が成功すると E_OK が返ります。 解説 ユーザーフォントと ROM フォントの混在表示が可能です。 11.7.
11.7.
11.7.15 lcd_expand_set 画面の拡大表示を設定します。 拡大表示有効設定時は、本関数実行時の画面を拡大して表示します。 ER lcd_expand_set( H expand_mode ); パラメータ expand_mode 拡大表示の有効/無効を次の値で指定します。 :拡大表示 無効 LCD_EXPAND_OFF :拡大表示 有効 LCD_EXPAND_ON 戻り値 関数が成功すると E_OK が返ります。失敗すると次のエラーが返ります。 :パラメータエラー E_PRM 11.7.
11.7.17 lcd_expand_pos_set 拡大した画面イメージの表示開始位置(左上座標)を設定します。 開始位置は、8 ドット単位で指定します。 ER lcd_expand_pos_set( H xpos, H ypos ); パラメータ xpos 拡大した画面イメージの表示開始位置の X 座標(8 ドット単位)を 0~16 の範囲で指定します。 ypos 拡大した画面イメージの表示開始位置の Y 座標(8 ドット単位)を 0~16 の範囲で指定します。 戻り値 関数が成功すると E_OK が返ります。失敗すると次のエラーが返ります。 :パラメータエラー E_PRM 11.7.18 lcd_expand_pos_get 拡大した画面イメージの表示開始位置(左上座標)を取得します。 取得する開始位置は、8 ドット単位の座標となります.
11.7.
11.7.
12.キー制御 DT-970 では、キーに対して次の処理を行なうことができます • キーモードの切替え • 1 文字の入力 • 文字列の入力 • 数値の入力 • キーコードの設定 • キーイベント通知の設定 • キー入力無効の設定 • 多点押しの制御 • キーロールオーバー 12.1 キーモード DT-970 のキーモードには、数値入力モードと文字入力モードの 2 種類があります。 S キーを押下することで、数値入力モードと文字入力モードが順次切り替わります。 キーモードが文字入力モードの場合、ハードアイコンの S シンボルを表示します。 数値入力モード 0~9 の数値、小数点入力、+、-、入力の確定キーの入力が可能です。 ただし、+キーは、ファンクションキー(F1~F8)等にキーコード登録をした場合に入力できます。 文字入力モード 英字(A~Z、SP)、記号(-、$、/、+、%、:、*)、数値(0~9、.
12.2 文字入力 12.2.1 1 文字入力 任意の位置で 1 文字の入力を行ないます。 アスキーコードが入力されるか、終了条件を検出するまで待機します。 アスキーコードが確定すると、アプリケーションにそのアスキーコードを返します。 エコーバックの指定がある場合は、指定の位置にエコーバックを行ないます。 12.2.
12.2.
12.3 ファンクションキー制御 12.3.1 キーコードの設定 ストロークキー、マルチファンクションキー、およびトリガーキーに、任意のキーコードを設定することができ ます。キーコードの詳細は、KEYFORM構造体を参照してください。 設定可能なキーコードの組み合わせを以下に示します。 機能 コード 制御 コード その他 (ANK) コード値 属性 コード FFh 00h 01h 02h 03h 00h 08h 00h 0Ah 0Ch 0Dh 10h 1Ch 1Dh 1Eh 1Fh XXh コントラストを 1 段濃くします コントラスト 1 段を淡くします バックライト ON/OFF 切替え バーコード読み込み開始※1 1 文字後退 1 文字 入力 × 文字列 入力 × × ○ × × 改行 入力領域のクリア 復帰 1 文字削除 カーソル右移動 カーソル左移動 カーソル上移動 カーソル下移動 文字※2 ○ ○ 数字(0~9) +,-,.
キーコードを設定可能なキーを以下に示します。 ストロークキー マルチファンクションキー トリガーキー カーソルキー キー 入力モード切替(S) 後退(BS) クリア(CLR) テンキー 1 テンキー テンキー 3 テンキー テンキー 5 テンキー テンキー 7 テンキー テンキー 9 テンキー テンキー .
12.3.2 キー入力無効の設定 ストロークキー、マルチファンクションキー、およびトリガーキーに、キー入力を無効にすることができます。 キー入力有効/無効を設定可能なキーを以下に示します。 ストロークキー マルチファンクションキー トリガーキー カーソルキー キー 入力モード切替(S) 後退(BS) クリア(CLR) テンキー 1 テンキー テンキー 3 テンキー テンキー 5 テンキー テンキー 7 テンキー テンキー 9 テンキー テンキー .
12.5 バックライト制御 バックライトは F8(BL)キーで ON/OFF できます。バックライト ON 後、一定時間キー操作が行なわれない場 合は ABO(Auto Backlight Off)します。ABO でバックライトが消えた場合、次のキータッチでバックライトは ON します。 再度、F8(BL)キーの押下でバックライト OFF モードに移行します。 バックライト ON/OFF の状態遷移を以下に示します。 バックライトONモード バックライトOFFモード BL押下 ON状態 OFF状態 キー押下 ABO発生 BL押下 OFF状態 12.
多点押し(順次押下) • OBR キー押下後の OBR キー押下 変化はありません。継続してバーコードを読み込みます。すべての OBR キーが離された時点でバー コード読み込みを中止します。 • OBR キー押下後の通常キー 通常キーは無視されます。OBR キーが離された時点で通常キーは入力されます。 • 通常キー押下後の OBR キー押下 バーコード読み込みを開始します。 多点押し時の入力キー 1 キー目 OBR キー OBR キー 通常キー 通常キー 通常キー 無効キー 無効キー 2 キー目 OBR キー 通常キー OBR キー 通常キー 無効キー 通常キー 無効キー 2 キー目の動作 無視 無視(OBR キーリリース後確定) バーコード読み込み開始 未確定 無視 キー確定 無視 備考 バーコード読み込み継続 バーコード読み込み継続 ロールオーバー機能 ※ 無効キー:OBR キーであっても OBR が未オープン状態の場合 キーロールオーバー 本キー関数は、通常キーに対してのみ 2 キーロールオーバー機能を有します。 (例1) 1 キー押下(押したまま) → 1入力 2 キー押下(押したま
12.
12.7.
12.7.
12.7.
12.7.4 key_num 数値文字列入力を行ないます。数値(0~9)および記号(+, -, .
12.7.5 key_check キーバッファの先頭に格納されているキーコードを読み出します。キーバッファの読み込み位置は更新し ません。 ER key_check (); パラメータ ありません。 戻り値 キーバッファにデータがある場合には、そのデータの ANK コードが返ります。 キーバッファにデータがない、または入力途中の場合は、次のコードが返ります。 :入力途中(アルファベット記号入力中です) E_KEY_MD :データなし E_NG 12.7.
12.7.
13.OBR制御 DT-970 OBR について説明します。 13.
読み取り桁数と出力フォーマット バーコード WPC 規格 JAN-13 13 出力フォーマット 備考 FFMMMMMNNNNNC」 F: カントリーフラグ 生産者コード EAN-13 13 FFMMMMMNNNNNC」 M JAN-8 8 FFMMMNC」 : EAN-8 8 FFMMMNC」 N: 商品コード システムメンバーキャラクタ JAN-13 addon+2 15 FFMMMMMNNNNNCAA」 S: EAN-13 addon+2 15 FFMMMMMNNNNNCAA」 A: addon データ JAN-13 addon+5 18 FFMMMMMNNNNNCAAAAA」 」: 終了コード EAN-13 addon+5 18 FFMMMMMNNNNNCAAAAA」 JAN-8 addon+2 10 FFMMMMNCAA」 EAN-8 addon+2 10 FFMMMMNCAA」 JAN-8 addon+5 13 FFMMMMNCAAAAA」 EAN-8 addon+5 13 FFMMMMNCAAAAA」
1~48 AAA・・・・・・AAC」 チェックデジットなしの場合、 データとなります。 NW-7 3~40 SDDD・・・・・DDDE」 1~38 DDD・・・・・・DDD」 S: スタート・ストップキャラクタ S: スタートコード (A,B,C,D のいずれか) E: エンドコード (A,B,C,D のいずれか) Interleaved 2~40 DDD・・・・・・DDDC」 2 of 5 D: データ D: データ C: チェックデジット(mod 10) チェックデジットなしの場合、 データとなります。 読み取り桁数は偶数桁のみ Industrial 2~40 DDD・・・・・・DDDC」 2of5 D: データ C: チェックデジット(mod 10) チェックデジットなしの場合、 データとなります。 Code93 1~40 DDD・・・・・・DDD」 Code128 1~64 1~64 D: データ AAA・・・・・・AAA」 A: ASCII 変換後データ SBBB・・・・・BBCS」 B: ASCII 変換前デー
13.
13.2.
読み取り桁数 読み取り対象のコードごとに、読み取り桁数の有効範囲を設定します。 読み取り桁数の設定範囲は次のとおりです。 コード WPC CODE-39 NW-7 Industrial 2of5 Interleaved 2of5 CODE-93 CODE-128 MSI IATA RSS-14 RSS Limited RSS Expanded RSS-14 Stacked RSS Expanded Stacked 設定範囲 (単一コード設定) 桁数固定 1~48 桁 1~38 桁 2~40 桁 2~40 桁 1~40 桁 1~64 桁 2~40 桁 2~40 桁 桁数固定 桁数固定 1~74 桁 桁数固定 1~74 桁 設定範囲 (複数コード設定) 同左 2~48 桁 2~38 桁 同左 4~40 桁 同左 同左 同左 同左 同左 同左 同左 同左 同左 備考 桁数固定のため、設定できません スタート/ストップキャラクタを含みません スタート/ストップキャラクタを含みません 桁数固定のため、設定できません 桁数固定のため、設定できません 桁数固定のため、設定できません ※ 複数のコードを同時に設定し
出力バッファ バーコードデータの格納先を OBR バッファまたはキーバッファに切り替えることができます。 格納先をキーバッファに変更することで、読み取りデータをキー入力と同様に扱うことができます。 初期状態は、OBR バッファに設定されています。 ・初期状態 ・キーバッファに切り替えた後 キー押下 キーバッファ キー押下 キーバッファ バーコード 読み込み OBRバッファ バーコード 読み込み OBRバッファ バッファ内にデータが残っている場合に、出力バッファを切り替えた場合の、データのあつかいは次のと おりです。 OBR バッファ キーバッファ 保存します。 バッファ内のデータを使用しない場合は、切り替え後に OBR バッファをクリア して下さい。 保存します。 出力フォーマット 次に記載するバーコードの種類は、出力フォーマットの設定が可能です。 バーコードの種類 CODE-39 NW-7 UPC-E CODE-128 設定内容 スタート/スキップキャラクタの出力の有無を設定 Full ASCII 変換の有無を設定 スタート/スキップキャラクタの出力の有無を設定 UPC-A の
読み取り方法 バーコードの読み取り方法を、“単発読み”/“連続読み”から選択することができます。初期状態は“連続 読み(トリガーキーあり)”です。 読み取り方法 単発読み 連続読み (トリガーキーあり) 内容 トリガーキーを押下すると読み取 り可能となり、読み取り完了後に 待機状態となります。 トリガーキーを押下している間、 常に読み取り可能状態となりま す。 読み取り終了条件 スキャン時間経過 読み取り完了 前コード読み取り完了後にスキャン時間経過 指定読み取り回数分の読み取り完了 トリガーキー離し スキャン時間 トリガーキーを押下した後の読み取り可能時間を設定できます。 設定した時間を経過すると、自動的に読み取り待機状態となります。 1~9 秒まで設定することが可能です。 スキャン時間は、クローズ中(OBR_open実行前)に dat_system関数を使用して設定します。 読み取り回数 連続読みの場合の読み取り可能回数を設定できます。 設定した回数分読み取りを完了すると、自動的に読み取り待機状態となります。 1~9 回まで設定することが可能です。 読み取り回数は、クローズ中(OBR_open実行
LED 制御 1 コードごとの読み取り完了を LED の点灯によって通知することができます。 • 読み取りコードが正常な場合、LED を一定秒間緑色に点灯したのち消灯します。 • 読み取りコードが異常な場合は、LED を点灯しません。 LED 制御を無効にすることも可能です。 読み取りコードが異常になる要因には、次のものがあります。 • 指定した桁数の範囲外のバーコードを読み取った • チェックデジッド指定時のチェックデジッドエラー • CODE-39、CODE-93 における Full ASCII 変換エラー バイブレータ制御 1 コードごとの読み取り完了を、バイブレータの振動によって通知することができます。 また、バイブレータ制御を無効にもできます。 • 読み取りコードが正常な場合、バイブレータを振動させます。 • 読み取りコードが異常な場合は、バイブレータを振動させません。 読み取り動作 通常読み: オープン後、クローズするまで連続して読み取りが行なわれます。 段数読み: オープン後、指定された回数分の読み取りが行なわれます。 立ち上げモード 立ち上げモードとは、トリガキー押下により電源を ON するか
13.2.
13.
13.3.
13.3.2 OBR_close OBR の終了処理を行ないます。 ER OBR_close(); パラメータ なし 戻り値 E_OK E_OBR_POF :正常終了 :クローズ済み 13.3.
13.3.
13.3.5 OBR_flush OBR バッファのクリアを行ないます。 (OBR バッファの管理情報のみをクリアし、バッファ内のデータはクリアしません) ER OBR_flush(); パラメータ なし 戻り値 E_OK :正常終了 13.3.
13.3.
13.3.
13.3.9 OBR_chgbuf OBR データの出力先を、OBR バッファまたは、KEY バッファのどちらかに切り替えます。 ER OBR_chgbuf( UB buftype ); パラメータ buftype バッファ種別 OBR_BUFOBR OBR_STOFF :OBR バッファ :KEY バッファ 戻り値 E_OK E_PRM :正常終了 :パラメータエラー 13.3.
13.3.
13.3.12 OBR_widenarrow 設定されているレーザー発光幅の微調整を行ないます。 ER OBR_widenarrow( UH mode ); パラメータ mode 機能選択 SW_WIDE SW_NARROW :広くする :狭める 戻り値 E_OK :正常終了 解説 設定した微調整の値は、レーザー発光幅設定を行なうか、リセットを行なうとクリアされます。 注意 DT-970 では本関数はサポートしません。 13.3.
13.3.
13.3.15 OBR_getmargincheck 設定されているマージンチェックの倍率を取得します。 ER OBR_getmargincheck( UH *pratio ); パラメータ pratio 設定状態を格納するエリアのアドレス :マージンチェック倍率大 OBR_MARGIN_WIDE :マージンチェック倍率中 OBR_MARGIN_MIDDLE OBR_MARGIN_NARROW :マージンチェック倍率小 OBR_MARGIN_MINIMUM :マージンチェック倍率最小 :マージンチェックなし OBR_MARGIN_NONE 戻り値 E_OK :正常終了 13.3.
13.3.17 OBR_getfocus 設定されているレーザフォーカスモードを取得します。 ER OBR_getfocus( UH *pfocusmode ); パラメータ pfocusmode レーザフォーカスモード状態を格納するエリアのアドレス :レーザーフォーカス OFF OBR_FOCUSOFF :レーザーフォーカス ON OBR_FOCUSON 戻り値 E_OK :正常終了 13.3.
14.HID通信制御 14.1 使用方法 HID インタフェースの使用方法に関して説明します。 使用方法としては、「HID の経路を選択」→「データ出力」となります。 14.1.1 HID経路 HID の経路は下記 3 つあり、接続する経路を選択することにより HID を使用可能にします。 (9) Bluetooth (9) USB (クレードル接続) (9) USB (ケーブル接続) 経路の選択方法 ・ Bluetooth ・ USB BT_SelectProfile(BT_PROFILE_HID) 関数を使用します。 USB_setClientmode(port , USB_CLIENT_HID) 関数を使用します。 port : USB_PORT_CRADLE (クレードル経由の場合) : USB_PORT_CABLE (ケーブル接続の場合) 14.1.
14.
14.2.1 c_open USB HID ポートをオープンします。 ER c_open( H UW B H TIM_TBL DEL_TBL B B ) com_no, param, *buff, buf_l, *tim_out, *del_cod, busy_ch, nonbusy_ch パラメータ com_no 通信ポート COM8 USB HID インタフェース param 0 を指定してください。 busy_ch 0 を指定してください。 nonbusy_ch 0 を指定してください。 buff 受信バッファアドレス buf_l 受信バッファレングス (0 の時 BIOS 内部の 16 バイトエリアを受信バッファとして使用します) tim_out typedef struct { H cs; /* CS タイムアウト監視値 (0~32767(×7.8ms)) H dr; /* DR タイムアウト監視値 (0~32767(×7.8ms)) H cd; /* CD タイムアウト監視値 (0~32767(×7.
戻り値 E_OK E_NG E_PRM 正常終了 異常終了 パラメータエラー 223
14.2.2 c_close オープン中の通信ポートをクローズします。 ER c_close( H com_no ); パラメータ com_no 通信ポート COM8 USB HID インタフェース 戻り値 E_OK E_NG E_PRM 正常終了 異常終了 パラメータエラー 14.2.
14.2.
15.IrDA制御 15.1 機能 15.1.1 シリアルポートエミュレーション 信号結線 IrDA ポートを使用して DT-970 同士を接続したとき、9Wire の信号結線は以下に示す通りにエミュレート します。 【信号結線】 RS CS ER CD DR RS CS ER CD DR 15.1.
(3) データ読み込み 受信データの読み込みを行います。 ユーザ定義のエリアに受信バッファデータの読み込みを行い、読み込んだバイトサイズを返します。 受信バッファデータが無くなるか、ユーザ定義のバッファサイズがフルになるまで読み込みが可能です。 受信バッファが空でもデータ待ち時間が指定されている場合はデータ待ちとなります。 このとき LB エラー、タイムアウト、ブレイクイベントのチェックおよび、パリティ、オーバーラン、フレーミング エラーのチェックを行い、エラー時は直ちに異常終了となります。 データ待ちからは、受信バッファから 1 バイト以上のデータの読み込みが行え、かつ受信バッファに受信 データが無くなればユーザ定義のバッファサイズに満たない場合でも終了となります。 また、受信データがある場合でも読み込み後に LB エラー、ブレイクイベントのチェックおよび、パリティ、オ ーバーラン、フレーミングエラーのチェックを行いエラー時は直ちに異常終了となります。 このため受信データの読み込みが正常に行われていても異常終了となる場合があります。 データ待ち時間の指定は、通信状態設定関数(Ir_State_Set)で行う
(7) ER ON ER 信号を ON にします。IrDA による信号線のエミュレートとなります。 IrDA プロトコル規定の ER 信号 ON を指示するデータフレームを相手局に送信します。 このため、”データ書き込み”機能と同様に送信バッファへの書き込みを行います。 データ待ちの間およびデータ書き込み後に LB エラー、ブレイクイベント、タイムアウトのチェックを行い、エ ラー時は直ちに異常終了となります。 データ待ち時間の指定は、通信状態設定関数(Ir_State_Set)で行うことができます。 (8) ER OFF ER 信号を OFF にします。IrDA による信号線のエミュレートとなります。 IrDA プロトコル規定の ER 信号 OFF を指示するデータフレームを相手局に送信します。 このため、”データ書き込み”機能と同様に送信バッファへの書き込みを行います。 データ待ちの間およびデータ書き込み後に LB エラー、ブレイクイベント、タイムアウトのチェックを行い、エ ラー時は直ちに異常終了となります。 データ待ち時間の指定は、通信状態設定関数(Ir_State_Set)で行うことができます。 (9)
(13) CD 検査 CD 信号の ON/OFF 状態をチェックし、通知します。信号の ON または OFF の指定を行います。 信号待ち時間が指定されているとき指定した信号状態でなければ信号待ちとなります。 信号待ちとなったとき LB エラー、タイムアウト、ブレイクイベントのチェックを行い、エラー時は直ちに異常 終了となります。 データ待ち時間の指定は、通信状態設定関数(Ir_State_Set)で行うことができます。 (14) DR 検査 DR 信号の ON/OFF 状態をチェックし、通知します。 信号待ち時間が指定されているとき信号の ON 待ちとなります。 信号待ちとなったのとき、LB エラー、タイムアウト、ブレイクイベントのチェックを行い、エラー時は直ちに異 常終了となります。 信号待ち時間の指定は、通信状態設定関数(Ir_State_Set)で行うことができます。 (15) CS 検査 CS 信号の ON/OFF 状態をチェックし、通知します。 信号待ち時間が指定されているとき信号の ON 待ちとなります。 信号待ち時、LB エラー、タイムアウト、ブレイクイベントのチェックを行い、エラー時は直ちに
• 3Wire―raw 実データの送受信のみ行えます。信号線制御、通信エラーの通知(POF エラー)などの機能は持ち ません。 • 3Wire 実データの送受信の他に RS232C の設定、通信エラーの通知(POF エラー)、ブレイク信号等の機 能を持ちます。 • 9Wire 3Wire と信号線制御の機能を持ちます。この Wire が指定されているとき各関数の信号線チェックが 有効となります。 • LPT 3Wire―raw と同等ですが IrLPT クラス名を持つプリンタにコネクトする場合はこの指定を行って下さ い。 また 1 次局に指定する必要があります。 データ待ち時間は秒単位、待ちなし、無限待ちを指定することができます。 データ待ちには次の状態があり、各関数でのデータ待ちを行います。 • 送信バッファにデータの書き込みが行えないとき • 受信バッファに読み込み可能なデータが無いとき DR/CS/CD 待ち時間は秒単位、待ちなし、無限待ちを指定することができます。 信号待ちには次の状態があり、各関数での信号待ちを行います。Wire が 9Wire に指定されていると き有効となります。 • • • •
(21) IrCOMM 強制終了 IrCOMM を強制終了します。 IrCOMM をオープン状態から初期状態(クローズ状態)に設定します。 基本適には IrCOMM クローズと同じ機能をもちますが、通信状態に関係なく直ちに赤外線デバイス電源 OFF、赤外線通信用リソースのリリースを行います。 231
15.1.
15.
15.2.1 Ir_Open IrCOMM(赤外線ポート)をオープンします。 • IrDA 部の初期化 • 通信用のデバイスおよびリソースのロック • 赤外線デバイス電源 ON • ブレイクイベントのチェック • LB チェック • 相手局とのコネクト H Ir_Open( H sec ); パラメータ sec コネクト最大待ち時間 1~3600 :待ち時間(秒) :正常または異常終了するまでコネクト待ちします FOREVER 戻り値 E_IROK E_IRNG :正常終了 :異常終了 15.2.
15.2.
15.2.
15.2.5 Ir_QueryTx 送信バッファに残っている未送出データ数を問合せます。 • 送信バッファ内の未送出のデータ数の通知 • LB チェック • ブレイクイベントのチェック H Ir_QueryTx( H *SndDataSize ); パラメータ SndDataSize 未送出データ数(バイト) 戻り値 E_IROK E_IRNG :正常終了 :異常終了 15.2.
15.2.7 Ir_EROn ER 信号を ON にします。IrDA プロトコルによる信号線のエミュレートになります。 • LB チェック • ブレイクイベントのチェック • 信号制御データの作成 • 送信データの書き込み(制御データ) • データ書き込み待ち(送信バッファへの書き込みが終了するまで) H Ir_EROn(); パラメータ なし 戻り値 E_IROK E_IRNG :正常終了 :異常終了 解説 信号線をエミュレートするため、Ir_State_Set関数で、9-wireに設定しておく必要があります。 15.2.
15.2.9 Ir_RSOn RS 信号を ON にします。IrDA プロトコルによる信号線のエミュレートになります。 • LB チェック • ブレイクイベントのチェック • 信号制御データの作成 • 送信データの書き込み(制御データ) • データ書き込み待ち(送信バッファへの書き込みが終了するまで) H Ir_RSOn(); パラメータ なし 戻り値 E_IROK E_IRNG :正常終了 :異常終了 解説 信号線をエミュレートするため、Ir_State_Set関数で、9-wireに設定しておく必要があります。 15.2.
15.2.11 Ir_BreakOn ブレーク信号を送出します。IrDA プロトコルによる信号のエミュレートになります。 • LB チェック • ブレイクイベントのチェック • 信号制御データの作成 • 送信データの書き込み(制御データ) • データ書き込み待ち(送信バッファへの書き込みが終了するまで) H Ir_BreakOn(); パラメータ なし 戻り値 E_IROK E_IRNG :正常終了 :異常終了 解説 信号線をエミュレートするため、Ir_State_Set関数で、9-wireに設定しておく必要があります。 15.2.
15.2.
15.2.14 Ir_CheckDR DR 信号の ON/OFF 状態をチェックします。また信号待ち時間の指定があるとき信号が ON になるのを待 ちます。 • 信号 ON 待ち • LB チェック • ブレイクイベントのチェック • 信号状態の通知 H Ir_CheckDR(); パラメータ なし 戻り値 E_IRLINE_ON E_IRLINE_OFF E_IRNG :信号 ON :信号 OFF :異常終了 解説 信号線をエミュレートするため、Ir_State_Set関数で、9-wireに設定しておく必要があります。 15.2.
15.2.16 Ir_CheckCI CI 信号の ON/OFF 状態をチェックします。 • 信号状態の通知 • LB チェック • ブレイクイベントのチェック H Ir_CheckCI(); パラメータ なし 戻り値 E_IRLINE_ON E_IRLINE_OFF E_IRNG :信号 ON :信号 OFF :異常終了 解説 信号線をエミュレートするため、Ir_State_Set関数で、9-wireに設定しておく必要があります。 エラー詳細は、エラー値取得関数(Ir_Err_Get) にて取得して下さい 15.2.
15.2.
エラー値 IRERR_NOLSAP 詳細 回線上(空間)にコネクト可能なアプリケーションが無いときや IrDA プロトコルの実装が異なる(相手局 に IrCOMM 層がない)ときに発生します。 IRERR_DISCONNECT エラーの要因として一緒に通知します。 Ir_Open 関数でのコネクト待ちタイムアウトの要因でもあります。 関数名 Ir_Open IrCOMM 状態 オープンは行わずクロー ズ状態 主なエラー対処方法 ・相手局のプロトコル実装を確認して再実行して下さ い。 エラー値 IRERR_LOCK 詳細 通信用のデバイスおよびリソースが既にロックされているときに発生します。 DT-970 では通信関数とシステム資源を共有していますので先に起動された方に資源を利用する。 権利があります。このエラーが発生したときは資源が開放されるまで待たなければなりません。 また、OBR との排他制御を行っていますので OBR 起動中にも当該エラーとなります。 関数名 Ir_Open IrCOMM 状態 オープンは行わずクロ ーズ状態 主なエラー対処方法 (9) デバイス、リソースが開放されてから再実行
エラー値 IRERR_PARAMETER 詳細 関数のパラメータの入力値に誤りがあるとき発生します。 関数名 Ir_Open Ir_CheckCD Ir_State_set Ir_SetPortConfig IrCOMM 状態 カレントの状態に変化 はありません。 主なエラー対処方法 ・入力パラメータを確認して下さい。 エラー値 IRERR_BREAK_EVNT 詳細 キー関数の機能を用いて中断キーのイベント登録が行なわれ、当該キー押下によりブレイクイベント の検出が IrDA 部で行われたときに発生します。 関数名 Ir_Open Ir_Close Ir_Read Ir_Write Ir_EROn Ir_EROff Ir_RSOn Ir_RSOff Ir_BreakOn Ir_BreakOff Ir_CheckCD Ir_CheckDR Ir_CheckCS Ir_QueryTx Ir_QueryRx Ir_CheckCI Ir_CheckBreak IrCOMM 状態 オープンは行わずクロー ズ状態 クローズ状態となります。 オープン状態から変更は ありません。 主なエラー対処方法 ・再実行する
Ir_EROff Ir_RSOn Ir_RSOff Ir_BreakOn Ir_BreakOff Ir_CheckCD Ir_CheckDR Ir_CheckCS Ir_QueryTx Ir_QueryRx Ir_CheckCI Ir_CheckBreak Ir_Init エラー値 IRERR_LB1 詳細 LB1 イベントの通知が有効に設定されており、LB1 エラー(主電池電圧低下)になったときに発生しま す。 関数名 Ir_Open Ir_Close Ir_Init Ir_Read Ir_Write Ir_EROn Ir_EROff Ir_RSOn Ir_RSOff Ir_BreakOn Ir_BreakOff Ir_CheckCD Ir_CheckDR Ir_CheckCS Ir_QueryTx Ir_QueryRx Ir_CheckCI Ir_CheckBreak IrCOMM 状態 オープンは行わずクロー ズ状態 クローズ状態となります。 主なエラー対処方法 (9) 電池交換を行って下さい。 (9) イベントのクリアを行って下さい。 ・再実行するときは Ir_Open を行って下さい。 オープ
Ir_Init Ir_Read Ir_Write Ir_EROn Ir_EROff Ir_RSOn Ir_RSOff Ir_BreakOn Ir_BreakOff Ir_CheckCD Ir_CheckDR Ir_CheckCS Ir_QueryTx Ir_QueryRx Ir_CheckCI Ir_CheckBreak オープン状態から変更は ありません。 (9) Ir_Close を行って終了して下さい。 (9) 電池交換後に Ir_Open を行って下さい。 (9) イベントのクリアを行って下さい。 エラー値 IRERR_LB4 詳細 LB4 イベントの通知が有効に設定されており、LB4 エラー(APO 発生)になったときに発生します。 通知が有効に設定されているときは電源 OFF しませんので、アプリケーションが責任を持つ必要があ ります。 関数名 Ir_Open Ir_Close Ir_Init Ir_Read Ir_Write Ir_EROn Ir_EROff Ir_RSOn Ir_RSOff Ir_BreakOn Ir_BreakOff Ir_CheckCD Ir_CheckDR Ir_C
エラー値 IRERR_LB5 詳細 LB5 イベントの通知が有効に設定されており、LB5 エラー(OFF キー押下による電源 OFF)になったとき に発生します。 通知が有効に設定されているときは電源 OFF しませんので、アプリケーションが責任を持つ必要があ ります。 関数名 Ir_Open Ir_Close Ir_Init Ir_Read Ir_Write Ir_EROn Ir_EROff Ir_RSOn Ir_RSOff Ir_BreakOn Ir_BreakOff Ir_CheckCD Ir_CheckDR Ir_CheckCS Ir_QueryTx Ir_QueryRx Ir_CheckCI Ir_CheckBreak IrCOMM 状態 オープンは行わずクロー ズ状態 クローズ状態となります。 主なエラー対処方法 (9) イベントのクリアを行って下さい。 ・電源 OFF して下さい。 オープン状態から変化は ありません。 (9) Ir_Close を行って終了して下さい。 (9) イベントのクリアを行って下さい。 ・電源 OFF して下さい。 エラー値 IRERR_NOTOPEN 詳細
Ir_CheckBreak Ir_Init エラー値 IRERR_TIMEOUT 詳細 Ir_Open 関数で指定したコネクト待ち時間を経過した場合と、Ir_State_Set 関数で指定したデータ待 ち時間を経過すると発生します。 関数名 Ir_Open Ir_Read Ir_Write Ir_RSOn Ir_RSOff Ir_EROn Ir_EROff Ir_BreakOn Ir_BreakOff IrCOMM 状態 クローズ゙状態です オープン状態に変化はあ りません。 主なエラー対処方法 ・通信環境を確認して再実行して下さい。 ・任意の処理を行って下さい。再実行してもかまいませ ん。 エラー値 IRERR_PARITY 詳細 Ir_State_Set 関数で次の指定のとき RS232C 上(クレードルと PC 間など)でパリティエラーとなったと きに発生します。 (9) 3Wire または 9Wire ・パリティあり 関数名 Ir_Read IrCOMM 状態 オープン状態に変化はあ りません。 主なエラー対処方法 ・任意の処理を行って下さい。 エラー値 IRERR_OVERRUN 詳細
エラー値 IRERR_WIRE_TYPE 詳細 Ir_State_Set 関数で 3Wire あるいは 9Wire が指定されている場合しか使用できない関数を使用した とき発生します。 関数名 Ir_EROn Ir_EROff Ir_RSOn Ir_RSOff Ir_BreakOn Ir_BreakOff Ir_CheckCD Ir_CheckDR Ir_CheckCS Ir_CheckCI Ir_CheckBreak Ir_BreakOn Ir_BreakOff IrCOMM 状態 オープン状態に変化はあ りません。 主なエラー対処方法 ・9Wire 以外が指定されています。用途に合った指定 を行って下さい。 オープン状態に変化はあ りません。 (9) 3Wire または 9Wire 以外に指定されています。 用途に合った指定を行って下さい。 エラー値 IRERR_CD_TIMEOUT 詳細 Ir_State_Set 関数で指定した信号待ち時間を経過すると発生します。 指定時間内に CD 信号が ON または OFF に変化しませんでした。 関数名 Ir_CheckCD IrCOMM 状態 オー
15.2.
通信状態設定の DCB 項目 局 Wire データ待ち 時間 DR/CS/CD 信号待ち時間 RS232C の 通信速度 RS232C の データ長 RS232C の ストップビット RS232C の パリティビット 定数 PRIMARY SECONDARY WIRE3RAW WIRE3 WIRE9 WIRELPT 1-600 THROUGH FOREVER 1-600 THROUGH FOREVER BPS_12 BPS_24 BPS_48 BPS_96 BPS_192 BPS_384 BPS_576 BPS_1152 LEN_7B LEN_8B STOP_1B STOP_2B PRI_ODD PRI_EVN PRI_NON 詳細 自局を 1 次局に設定 自局を 2 次局に設定 3-wire raw に設定 3-wire に設定 9-wire に設定 LPT(3-wire raw)に設定(クラス名を LPT に設定する) 秒単位にデータ読み込み/書き込み待ち時間を設定 データ読み込み/書き込み待ちを行わない タイマ指定なしでデータ読み込み/書き込み待ちを行 う 秒単位に DR/CS/CD 信号待ち
15.2.
自局能力設定の DCB 項目 IR ボーレート (9) OR で設定して下さ い 設定した値が有効と なります。 最大ターン アラウンドタイム フレームサイズ ウィンドウサイズ BOF 数 (9) IR ボーレイトにより 比 例して増減します BOF 数は 115.
15.2.21 Ir_Init IrCOMM を強制終了します。 • 通信用のデバイスおよびリソースのリリース • 赤外線デバイス電源 OFF • LB チェック H Ir_Init(); パラメータ なし 戻り値 E_IROK E_IRNG :正常終了 :異常終了 15.2.
16.Bluetooth制御 16.1 基本機能 16.1.1 通信インターフェース Bluetooth ライブラリは、ハンディターミナル本体に内蔵している Bluetooth モジュールを利用して、他の Bluetooth 機器との接続および通信を行うためのライブラリです。 サポートする通信プロファイルは、シリアルポートプロファイルです。 Bluetooth 機器間で通信を行う場合、Bluetooth 通信機器はピコネットと呼ばれるワイヤレスネットワークを 構成し、その中で各 Bluetooth 機器はマスターまたはスレーブのいずれかのモードで動作します。 DT-970 は Bluetooth プリンタと Bluetooth 通信を行います。その場合は DT-970 本体をマスターモード、 Bluetooth プリンタをスレーブモードで使用します。 16.1.
16.2 関数仕様 16.2.
16.2.
(2) Bluetooth 接続と通信 (1)の手順を実行後、次の手順で Bluetooth 接続と通信を実行することができます。 (5) Bluetooth機器との接続 (1) Bluetoothデバイスの初期化 (仮想COMポートのオープン) BT_Start( ) BT_Open( ) (2) Bluetooth Passkeyの設定 (6) Bluetooth機器との通信を 実行 BT_SetPassKey( ) BT_Write( ) / BT_Read( ) (3) 通信するBluetooth機器の 情報をファイルから取得 (7) Bluetooth接続の切断 (仮想COMポートのクローズ) BT_Close( ) BT_LoadDevInfo( ) (4) 通信するBluetooth機器を 選択 (8) Bluetoothデバイスの使用 を終了 BT_SelectDev( ) BT_Stop( ) 260
(3) Bluetooth 接続と通信(BT 機器のアドレスが既知の場合) 接続する Bluetooth 機器のアドレスが既知の場合は、”Bluetooth 機器情報の取得と保存”の手順を省略 し、次の手順で Bluetooth 接続と通信を実行することができます。 (1) Bluetoothデバイスの初期化 (6) Bluetooth機器との接続 (仮想COMポートのオープン) BT_Start( ) BT_Open( ) (2) Bluetooth Passkeyの設定 (7) Bluetooth機器との通信を 実行 BT_SetPassKey( ) BT_Write( ) / BT_Read( ) (3) 通信するBluetooth機器の アドレスを入力する (キー、バーコード等) (8) Bluetooth接続の切断 (仮想COMポートのクローズ) BT_Close( ) (4) Bluetooth機器のアドレスを、 BTST_DEVICEINFO構造体 変数に代入する (9) Bluetoothデバイスの使用 を終了 (5) (4)の構造体変数を使用して、 BT_Stop( )
(4) 接続先の Bluetooth 機器から切断が発生する場合を考慮した通信 通常、接続先のBluetooth機器から切断が発生した場合、BT_Write、BT_Read、BT_QueryRxのいずれ かの関数を実行したときにエラーが発生します。しかし、Bluetoothハードウェアの制約上、データ送信中 に相手機器から強制切断された場合等、切断が検出できず、切断が発生しても関数でエラーが発生しな い場合がまれにあります。この場合、受信データの最終部にINITの文字列を含むデータが追加されてし まう事があります。 切断が検出できない場合に備え、ユーザアプリケーションにおいて相手機器からの応答データ(ACK な ど)を監視し、一定時間以上相手機器から応答データが来ない場合は、異常発生としてエラー処理を行う ようにして下さい。 接続先の Bluetooth 機器から切断が発生する場合を考慮した関数の実行手順を、次ページに示します。 262
(1) Bluetoothデバイスの初期化 (8) 相手から応答 を受信できたか BT_Start( ) No Yes (2) Bluetooth接続の前処理を実行 (9) タイマの使用を終了する BT_SetPassKey( )等 No (3) 通信するBluetooth機器を選択 (10) 通信セッショ ンが終了し たか BT_SelectDev( ) Yes (4) Bluetooth機器との接続 (仮想COMポートのオープン) (11) Bluetooth接続の切断 (仮想COMポートのクローズ) BT_Open( ) BT_Close( ) (12) Bluetoothデバイスの使用を 終了 (5) タイマの使用を開始する BT_Stop( ) (6) Bluetooth機器との通信を実行 BT_Write( ) / BT_Read( ) No (7) 切断エラー が発生したか (15)タイムアウト が発生したか No Yes (16) タイマの使用を終了する Yes (13) タイマの使用を終了する (17) Bluetooth接続の切断 (仮想COMポー
16.
BT_SelectDev BT_Open BT_SaveDevInfo BT_LoadDevInfo BT_Close BT_Read BT_Write BT_QueryRx ・BT_Close 関数および BT_Stop 関数を実行して終了してください。 エラー値 BTERR_LB0 詳細 LB0 イベントの通知が有効に設定されており、LB0 エラー(主電池なし、電池蓋開き)になったときに発生 します。 関数名 BT_Start BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_SaveDevInfo BT_LoadDevInfo BT_Close BT_Read BT_Write BT_QueryRx 主なエラー対処方法 ・関数を再実行してください。 (9) BT_Stop 関数を実行して終了してください。 ・処理を再実行する場合は、BT_Start 関数から実行してください。 (9) BT_Close 関数および BT_Stop
BT_Write BT_QueryRx エラー値 BTERR_LB2 詳細 LB2 イベントの通知が有効に設定されており、LB2 エラー(副電池電圧なし)になったときに発生します。 関数名 BT_Start BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_SaveDevInfo BT_LoadDevInfo BT_Close BT_Read BT_Write BT_QueryRx 主なエラー対処方法 ・電池交換後、関数を再実行してください。 (9) BT_Stop 関数を実行して終了してください。 ・電池交換後、BT_Start 関数から処理を実行してください。 (9) BT_Close 関数および BT_Stop 関数を実行して終了してください。 ・電池交換後、BT_Start 関数から処理を実行してください。 エラー値 BTERR_LB4 詳細 LB4 イベントの通知が有効に設定されており、LB4 エラー(APO 発生)になったとき
エラー値 BTERR_LB5 詳細 LB5 イベントの通知が有効に設定されており、LB5 エラー(OFF キー押下による電源 OFF)になったときに発 生します。 通知が有効に設定されているときは電源 OFF しませんので、アプリケーションが責任を持つ必要がありま す。 関数名 BT_Start BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_SaveDevInfo BT_LoadDevInfo BT_Close BT_Read BT_Write BT_QueryRx 主なエラー対処方法 ・電源 ON 後、関数を再実行してください。 (9) 電源 ON 後、BT_Stop 関数を実行して終了してください。 ・処理を再実行する場合は、BT_Start 関数から実行してください。 (9) 電源 ON 後、BT_Close 関数および BT_Stop 関数を実行して終了してくださ い。 ・処理を再実行する場合は、BT_Start 関数から実行し
エラー値 BTERR_TIMEOUT 詳細 関数を実行してタイムアウトが起きた場合に発生します。 関数名 BT_GetLocalInfo BT_SetLocalInfo BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_Open 主なエラー対処方法 ・関数を再実行してください。 ・関数を再実行するか、接続時間を増やしてください。 エラー値 BTERR_PARITY 詳細 Bluetooth ハードウェア上のシリアル通信でパリティエラーとなったときに発生します。 関数名 BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_Close BT_Read BT_Write BT_QueryRx 主なエラー対処方法 ・BT_Stop 関数を実行して終了してください。 ・BT_Close 関数および BT_Stop 関数を実行して終了してください。 エラー値 BTERR_OVERRUN 詳細 Bluetoo
エラー値 BTERR_FRAMING 詳細 Bluetooth ハードウェア上のシリアル通信でフレーミングエラーとなったときに発生します。 関数名 BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_Close BT_Read BT_Write BT_QueryRx 主なエラー対処方法 ・BT_Stop 関数を実行して終了してください。 ・BT_Close 関数および BT_Stop 関数を実行して終了してください。 エラー値 BTERR_TRANSFER 詳細 Bluetooth ハードウェア上のシリアル通信で予期しない応答が戻ったときに発生します。 関数名 BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_Close BT_Read BT_Write BT_QueryRx
エラー値 BTERR_FILEACCESS 詳細 Bluetooth デバイス情報保存用のファイルの読込または書込ができなかったときに発生します。 関数名 主なエラー対処方法 ・指定したファイルの属性と、ファイルが他のアプリから使用されていないか確認 BT_SaveDevInfo してください。 BT_LoadDevInfo エラー値 BTERR_NAK00 詳細 Bluetooth モジュールから NAK00 エラーが戻ったときに発生します。 Bluetooth モジュールへ送信したコマンドが正しくありません。 関数名 主なエラー対処方法 ・関数を再実行してください。 BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_Close エラー値 BTERR_NAK01 詳細 Bluetooth モジュールから NAK01 エラーが戻ったときに発生します。 Bluetooth モジュールへ送信したコマンドのパラメータが正しくありません。 関数名 BT
エラー値 BTERR_NAK03 詳細 Bluetooth モジュールから NAK03 エラーが戻ったときに発生します。 Bluetooth デバイスの探索でデバイスが発見されませんでした。 関数名 BT_Inquiry 主なエラー対処方法 ・他の Bluetooth デバイスが探索に応答できる状態であるか(電源が入っている か等)を確認してください。 エラー値 BTERR_NAK04 詳細 Bluetooth モジュールから NAK04 エラーが戻ったときに発生します。 他の Bluetooth デバイスとの接続に失敗しました。 関数名 BT_Open 主なエラー対処方法 ・他の Bluetooth デバイスが接続できる状態であるか(電源が入っているか等)を 確認してください。 エラー値 BTERR_NAK05 詳細 Bluetooth モジュールから NAK05 エラーが戻ったときに発生します。 PassKey の内容が正しくありません。 関数名 BT_SetPassKey 主なエラー対処方法 ・設定する PassKey の内容を確認してください エラー値 BTERR_NAK06 詳細 Blu
エラー値 BTERR_NAK09 詳細 Bluetooth モジュールから NAK09 エラーが戻ったときに発生します。 Bluetooth モジュールの状態が正しくありません。 関数名 BT_Close 主なエラー対処方法 ・BT_Stop 関数を実行してください。 エラー値 BTERR_NAK10 詳細 Bluetooth モジュールから NAK10 エラーが戻ったときに発生します。 Bluetooth モジュールが故障している可能性があります(通常は発生しません) 。 関数名 BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_Close 主なエラー対処方法 (9) 関数を再実行してください。 ・関数を再実行しても同じエラーが発生する場合は、Bluetooth ハードウェアの 状態を確認してください。 エラー値 BTERR_NAK11 詳細 Bluetooth モジュールから NAK11 エラーが戻ったときに発生します。 設定する
BT_SetPassKey BT_SelectDev BT_Open BT_Close エラー値 BTERR_NAK14 詳細 Bluetooth モジュールから NAK14 エラーが戻ったときに発生します。 Bluetooth モジュールに送信したコマンドが実行されませんでした。 関数名 BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_Close 主なエラー対処方法 ・関数を再実行してください。 エラー値 BTERR_NAKMINUS1 詳細 Bluetooth モジュールから NAK-1 エラーが戻ったときに発生します。 Bluetooth モジュールが故障している可能性があります(通常は発生しません) 。 関数名 BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SetPassKey BT_SelectDev BT_Open BT_Cl
16.
16.4.1 BT_Start Bluetooth 通信機能が使用できる状態にします。 H BT_Start(); パラメータ なし 戻り値 E_BTOK E_BTNG :正常終了 :異常終了 解説 Bluetooth は IrDA と排他で使用します。 このため、本関数を実行すると IrDA 通信はできません。 Bluetooth通信終了後にIrDA通信を行う場合は、BT_Stop関数を実行してください。 16.4.
16.4.
16.4.
16.4.
16.4.
16.4.
16.4.
16.4.
16.4.10 BT_GetPassKey Bluetooth パスキーを取得します。 H BT_GetPassKey( B *PassKey ); パラメータ PassKey パスキーを格納する変数のポインタを指定します。16 バイト以上の領域を確保してください。 戻り値 E_BTOK E_BTNG :正常終了 :異常終了 16.4.
16.4.12 BT_Open Bluetooth 接続を行い、Bluetooth 通信を開始します。 H BT_Open( H sec ); パラメータ sec 接続タイムアウト(1~3600 秒) 戻り値 E_BTOK E_BTNG :正常終了 :異常終了 解説 本関数を実行する前に、BT_SelectDev関数を実行してください。 BT_SelectDev関数実行時に認証または暗号化を有効に設定した場合は、本関数を実行する前 に BT_SetPassKey関数を実行して、パスキーを設定しておく必要があります。 本関数を実行中に中断キーが押されるか、電源が OFF された場合は、エラーが発生して関数処理か ら抜けます。 16.4.
16.4.
16.4.
16.4.
16.4.
16.4.
16.4.19 BT_Err_Get エラー値を取得します。また取得後にエラー値をクリアします。 UW BT_Err_Get(); パラメータ なし 戻り値 エラーコードを返します。 解説 エラーコードについては、「16.3エラー詳細」を参照してください。 16.4.20 BT_HID_Keycode HID プロファイルのキーコードを送信します。 H BT_HID_Keycode( UB *puckeycode ); パラメータ puckeycode 相手に送信するキーコードを設定します。 戻り値 E_BTOK E_BTNG :正常終了 :異常終了 解説 詳細は、「14.1.
17.LAN制御 17.
17.
その他の API 関数 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 net_get_ipaddr 機能概要 プロトコルスタックの起動待ち IP アドレス文字列を unsigned long 型に変換 unsigned long 型の IP アドレスを文字列に変換 char 型配列の IP アドレスを unsigned long 型の IP アドレスに変換 unsigned long 型の IP アドレスを unsigned char 型配列の IP アドレス に変換 ping の送信 自 IP アドレス情報の取得 DNS を使用してホスト名から IP アドレスを取得 293
17.2.
17.2.2 lan_setParam_IPaddr IP アドレスを設定します。 H lan_setParam_IPaddr( long id, unsigned long IPaddr ); パラメータ id IF を指定します。(0 を指定してください) IPaddr IP アドレスを指定します。 戻り値 E_OK E_NG :正常終了 :異常終了 説明 HT に固定 IP アドレスを設定する場合、本関数を使用したタイミングで新設定が有効になります。 17.2.
17.2.4 lan_setParam_gateway デフォルトゲートウェイを設定します。 H lan_setParam_gateway( long id, unsigned long gateway ); パラメータ id IF を指定します。(0 を指定してください) gateway デフォルトゲートウェイを指定します。 戻り値 E_OK E_NG :正常終了 :異常終了 17.2.
17.2.6 lancradle_get_IPaddr LAN クレードルの IP アドレス/サブネットマスク/デフォルトゲートウェイを取得します。 ER lancradle_get_IPaddr ( unsigned long *IPaddr, unsigned long *subnet, unsigned long *gateway ); パラメータ IPaddr LAN クレードルに設定した IP アドレスを格納するポインタを指定します。 subnet LAN クレードルに設定したサブネットマスクを格納するポインタを指定します。 gateway LAN クレードルに設定したデフォルトゲートウェイを格納するポインタを指定します。 戻り値 E_OK E_NG :正常終了 :異常終了 17.2.
17.2.
17.2.
17.2.
17.2.
17.2.
17.2.
17.2.
説明 引数で指定した相手先に対して、データを送信します。 本関数は、ソケット種別により処理が異なります。 • TCP ソケットの場合 dst、dstlenは無視され、net_connect関数で接続した相手にデータを送信します。 • UDP ソケットの場合 net_connect関数で相手先を指定した場合でも、net_sendto関数を使用すると相手先にUDPデータ を送信することができます。 参照 sockaddr_in構造体、sockaddr構造体 305
17.2.
• UDP ソケットの場合 UDP パケットから buf で示される領域へコピーを完了した時点でリターンします。UDP データ長が、 buflen で示される長さより短い場合は、データを全て取り出し、取り出したデータの長さを返します。 UDP データ長が buflen で示される長さより長い場合は、buflen だけ受信して正常終了します。 307
17.2.
参照 sockaddr_in構造体、sockaddr構造体 309
17.2.
17.2.
17.2.
説明 受信、送信イベントをタイムアウトつきで待ちます。 この関数を使用することで、複数のソケットの送受信を 1 つのタスクで処理することができます。 fd_set構造体にアクセスする場合は、下記のマクロを使用してください。 • void FD_ZERO(fd_set *fds); デスクリプタをクリアします。net_select関数を呼ぶ前に必ずこれでデスクリプタを初期化してくださ い。 • void FD_SET(int sock, fd_set *fds); デスクリプタにソケット sock を登録します。異なる sock で繰り返し呼ぶことで、1 つのデスクリプタに複 数のソケットを登録することができます。 • int FD_ISSET(int sock, fd_set *fds); デスクリプタに sock が登録されているかチェックします。登録されていた場合は 0 以外の値を返しま す。 • void FD_COPY (fd_set *src_fds, fd_set *dst_fds); デスクリプタを src_fds から dst_fds へコピーします。 • void FD_CLR(int so
17.2.
戻り値 下記の値を返します。 :正常終了 0 :エラー (詳細は net_getsockerr関数で取得してください。) -1 説明 ソケットに設定されている各オプションの値を取得します。 参照 timeval構造体、in_addr構造体 315
17.2.
戻り値 下記の値を返します。 :正常終了 0 :エラー (詳細は net_getsockerr関数で取得してください。) -1 説明 Bluetooth DUN プロファイルを使用したダイアルアップ(PPP)通信を行なう場合には、以下のようにソ ケットで使用する通信インタフェースを設定してください。設定を行なわないと、デフォルトでは LAN ク レードル経由の通信になります。 int sock; long interfaceid; // ソケット生成 sock = net_socket(AF_INET, SOCK_STREAM, 0); // インタフェースを PPP に設定 interfaceid = PPP_IF_ID; net_setsockopt(sock, SOL_SOCKET, SO_IPID, &interfaceid, sizeof(interfaceid) ); なお、明示的に LAN クレードル経由の通信を指定する場合には ID として、CRADLE_IF_IP を使用し ます。 参照 timeval構造体 317
17.2.
17.2.23 net_inet_aton 文字列を IPv4 アドレスに変換します。 int net_inet_aton ( const char *cp, struct in_addr *inp ) パラメータ cp 文字列へのポインタを指定します。 ドットノーテーション形式(xxx.xxx.xxx.xxx)で指定してください。 inp 変換された IPv4 アドレスを格納する領域を指定します。 IPv4 アドレスは、ネットワークバイトオーダで記録されます。 戻り値 下記の値を返します。 :変換成功 1 :変換失敗 0 参照 in_addr構造体 17.2.24 net_inet_addr 文字列を IPv4 アドレスに変換します。 in_addr_t net_inet_addr ( const char *cp ) パラメータ cp 文字列へのポインタを指定します。 ドットノーテーション形式(xxx.xxx.xxx.xxx)で指定してください。 戻り値 下記の値を返します。 0 以外 :IPv4 アドレス(ネットワークバイトオーダ) :変換失敗 0 説明 cp に「0.0.0.
17.2.25 net_inet_ntoa IPv4 アドレスを文字列に変換します。 char* net_inet_ntoa ( struct in_addr *in ) パラメータ in IPv4 アドレスを設定した in_addr構造体を指定します。 戻り値 変換された IP アドレスの文字列をドットノーテーション形式(XXX.XXX.XXX.XXX)で返します。 説明 ドットノーテーション形式の IP アドレス文字列に変換して文字列へのポインタを返します。 変換された IP アドレス文字列は「XXX.XXX.XXX.
17.2.26 コールバック関数 TCP 緊急データ受信時のコールバック関数です。 int callback ( int socket, int len ) パラメータ socket TCP 緊急データを受信したソケット番号です。 len 受信した TCP 緊急データ長です。 戻り値 変換された IP アドレスの文字列をドットノーテーション形式(XXX.XXX.XXX.
17.2.27 net_tcpip_wai_rdy プロトコルスタックの起動を待ちます。 ER net_tcpip_wai_rdy ( TMO tmout, long argnum, ...
17.2.28 net_ascii_to_ipaddr IP アドレス文字列を unsigned long 型に変換します。 unsigned long char *s ) net_ascii_to_ipaddr ( パラメータ s IP アドレスの文字列を指定します。 文字列は、ドットノーテーション形式(XXX.XXX.XXX.XXX)で指定してください。 戻り値 下記の値を返します。 0 以外 :変換された IP アドレス :変換失敗 0 説明 s で指定された IP アドレス文字列を unsigned long 型の IP アドレスに変換します。 なお、「0.0.0.0」を渡した場合、成功しても返り値が 0 になるため、成功か失敗か判断できません。 17.2.
17.2.30 net_byte4_to_long char 型配列の IP アドレスを unsigned long 型の IP アドレスに変換します。 unsigned long net_byte4_to_long ( const unsigned char *b ) パラメータ b 変換する char 型配列の先頭アドレスを指定します。 戻り値 変換された IP アドレスを返します。 説明 b で指定された unsigned char 型配列の IP アドレスを、unsigned long 型の IP アドレスに変換します。 17.2.
17.2.
17.2.
17.2.
18.通信ユーティリティ制御 18.1 FLINKプロトコル機能 18.1.1 通信仕様 (9) 通信構成 本プロトコルのファイル転送機能は次の通りです。 1. IrDA-USB クレードル経由でのホスト通信 IrDA-USB クレードルによるファイル転送ができます。 USB PC HOST USB USB IrDA-USB Bridge Basic クレードル Cradle IrDA IrDA-USB クレードル IrDA IrDA-USB クレードル IrDA DT-970 930 DT-970 DT-930 DT-970 930 : USB IrDA IrDA-USB クレードル DT-970 930 最大 8 台 最大 8 台 2.
(2) 通信パラメータ 関数 (基本送受信関数 リモート操作関数) 共通パラメータ セッション確立待ちタイムア ウト時間 (※1) 受信待ちタイムアウト時間 (※2) セッション終了待ちタイムア ウト時間 (※3) COM0(赤外線 IrDA) 通信速度 システムメニュー用通信機能 (同報通信、本体間通信(子機作成)を含む) システム環境設定(データ管理部)より取得します (0 ~ 3600 秒) システム環境設定(データ管理部)より取得します (0 ~ 600 秒) システム環境設定(データ管理部)より取得します (0 ~ 600 秒) 選択可 (2400~115.
(3) 動作モード 通信ユーティリティでは接続構成の違いにより次のモードをサポートします。 これらのモードはオープン時に選択します。 1. HT モード セッション(※1)確立後、コマンドを送信する権利(以後、送信権とする)を持つモードです。 PC-DT-970 間通信時および本体-本体間通信時に、どちらか一方の DT-970 が選択されます。 2. PC モード セッション確立後、DT-970 からのコマンド待ちとなる、擬似 PC モードです。 本体-本体間通信時に、どちらか一方の DT-970 が選択されます。 本機 (PCモード) OK 本機 (HTモード) PC 本機 (PCモード) 本機 (HTモード) 本機 (HTモード) 本機 (PCモード) 本機 (PCモード) (4) コマンド送信権 1.
(5) 処理概要 以下に各関数内の処理概要およびエラー発生時の処理を示します。 エラー発生時は、直ちに通信を終了します。 この場合、送信権の有無に関らず、先にエラーを検出した側がエラー情報(カテゴリコード・エラー詳細コ ード)を終了指示コマンドに設定し、相手局へ送信します。 相手局は、受信した終了指示コマンドのエラー情報により、異常終了を検出します。 (エラー処理は、自局内でエラーを検出した場合と、相手局からのエラー終了指示コマンドを受信した場 合の両方を指します。) 関数 ファイル送信 ファイル受信 ファイル追加 送信権局の処理 コマンド送信後、指定フ ァイルを順次送信します コマンド送信後、指定フ ァイルを順次受信します コマンド送信後、指定フ ァイルを送信します 被送信権局の処理 指定ファイルを順次受信し ます 指定ファイルを順次送信し ます 転送ファイルをテンポラリフ ァイル(FL.
18.1.2 ファイル送受信基本機能 複数ファイルの送信および受信を行うための基本機能を提供します。 (9) 通信基本関数 ファイル送受信関数およびリモート操作関数を使用する際に必要となる基本関数です。 (9) 通信ポートの初期化 [回線ポートの指定] 回線ポートの初期化を行います。回線ポートは COM0:赤外線(IrDA) とします。 回線ポートによるパラメータおよび設定値を以下に示します。 COM0(赤外線) 最高速度 CU_B9600(9600bps) / CU_B19K(19.2kbps) / CU_B38K(38.4kbps) / CU_B57K(57.6kbps) / CU_B115K(115.
HT コマンド送信による通信 [HT モード基本フロー] HTモード cu_stopKeySet関数 cu_open関数 中断キーの登録 通信ポートのオープン/セッション確立 ファイル送受信/リモート操作 ファイル送受信/リモート操作関数 を順次実行します。 ファイル送受信/リモート操作 cu_close関数 cu_stopKeySet関数 セッション解放/回線クローズ (終了指示コマンド送信) 中断キーの削除 終了 [PC モード基本フロー] HTモード cu_stopKeySet関数 cu_open関数 cu_cmdRecv関数 cu_close関数 cu_stopKeySet関数 中断キーの登録 通信ポートのオープン/セッション確立 HTからのコマンド待ち (HTからの終了指示、またはIDLE通知を 受信するまで、受信コマンドを順次実行します。) セッション確立/回線クローズ 中断キーの削除 終了 333
PC コマンド送信による通信 [HT モード基本フロー] HTモード cu_stopKeySet関数 cu_open関数 cu_idle関数 cu_close関数 cu_stopKeySet関数 中断キーの登録 通信ポートのオープン/セッション確立 PCからのコマンド待ち (PCからの終了指示を受信するまで 受信コマンドを順次実行します。) セッション解放/回線クローズ 中断キーの削除 終了 [PC モード基本フロー] PCモード cu_stopKeySet関数 cu_open関数 cu_cmdRecv関数 中断キーの登録 通信ポートのオープン/セッション確立 HTからのコマンド待ち (HTからのIDLE通知受信待ち。) ファイル送受信/リモート操作 ファイル送受信/リモート操作関数 を順次実行します。 ファイル送受信/リモート操作 cu_close関数 cu_stopKeySet関数 セッション解放/回線クローズ 中断キーの削除 終了 334
(2) ファイル送受信関数 相手局とのファイル転送(送信、追加、受信)を行うための関数です。 送信権局はファイル送信、追加および受信コマンドを使用して、相手局とのファイル転送を実現します。 被送信権局は、IDLE 状態(HT モード)、PC モードコマンド待ち状態(PC モード)にて、相手からのコマンド を受け付けます。 尚、ファイル転送時、HT の画面上に進捗グラフを表示することが可能です。 グラフ表示フォーマットは次の通りです (16 ドットフォント 8*16 での表示例) 0123456789012345 A:¥900TEST1.DAT |*****・・・・・|050% (ⅰ) (ⅱ) (ⅳ) (ⅴ) (ⅲ) (ⅰ) ファイル名表示先頭行(graphPos) 転送ファイル名を表示する行の先頭を指定します。 (ⅱ) ファイル名表示先頭カラム(graphCol) 転送ファイル名を表示する桁の先頭を指定します。 (ⅲ) ファイル名表示フラグ(graphName) 転送ファイル名を全パス表示するか、ファイル名のみ表示するかを指定します。 (ⅳ) ファイル名表示行数(graphLine) 転送ファイル
(9) ファイル送信 (cu_fileSend) 複数ファイルの送信を一括して行います。 送信先に指定ディレクトリが存在しない場合は、自動的に作成されます。 送信ファイルに対して次のオプションを選択することができます。 (a) リードオンリーファイル強制ライトオプション 送信ファイルが、既に受信側にリードオンリーファイルとして存在していた場合、強制的にライトする ことができます。この指定が無い場合にリードオンリーファイルへのライトを行うと、エラーとなります。 (b) 再帰呼び出し指定オプション 送信ファイルパス名で指定されたディレクトリ傘下のすべてのファイルが転送対象となります。 指定ディレクトリ傘下にサブディレクトリが存在した場合はサブディレクトリ名を付加してファイルの送 信を行います。 (例) [送信ファイル名] [送信先ディレクトリ名] “A:¥SEND¥AAA.DAT” “B:¥RECV¥” (送信側ディレクトリ構成) A:¥--SEND¥--SUB1¥---AAA.DAT |-----SUB2¥----BBB.DAT |-----AAA.DAT |-----BBB.
④ IDLE 遷移 (cu_idle) 相手局側に送信権を渡し、コマンド待ち状態となります。 終了指示コマンドを受信またはエラー発生まで、受信したコマンドを順次実行します。 尚、オプションとして PC のスクリプトファイルの実行を指示することができます。 エラー発生時は直ちに処理を中止し、エラー処理を行った後、異常終了を返します。 [IDLE 遷移基本フロー] IDLE遷移 cu_stopKeySet関数 中断キーの登録 cu_open関数(HTモード) 通信ポートのオープン/セッション確立 IDLE通知送信後、コマンド受信待ち cu_idle関数 *1 異常終了 正常終了 cu_readErrStat関数 cu_readErrStat関数 *2 cu_close関数 cu_stopKeySet関数 セッション解放/回線クローズ 中断キーの削除 終了 ※ 1 相手局からの終了指示コマンド受信またはエラー発生まで、受信コマンドを順次実行します。 ※ 2 必要に応じて相手局からの終了指示コマンド詳細情報(フォーマット指示、リセット指示等)の取得 が可能です。 337
⑤ PC モードコマンド待ち (cu_cmdRecv) DT-970 からのコマンド受信待ち状態となる。PC モードでのみ使用可能です。 セッション確立直後は、HT 側に送信権があるため、PC モードではオープン直後にこの関数を用いてコマ ンド待ちとなる必要があります。 終了指示コマンドか、IDLE 通知コマンドを受信またはエラー発生まで、受信したコマンドを順次実行しま す。 エラー発生時は直ちに処理を中止し、エラー処理を行った後、異常終了を返します。 [PC モード時の基本フロー] PCモード cu_stopKeySet関数 cu_open関数 cu_cmdRecv関数 正常(終了指示受信) リターン値および 終了種別チェック cu_readErrStat関数 *2 中断キーの登録 回線のオープン/セッション確立 本機からのコマンド待ち 正常(IDLE通知受信) 各種コマンド送信 異常(エラー) cu_readErrStat関数 cu_close関数 cu_stopKeySet関数 (セッション解放)/回線クローズ 中断キーの削除 終了 ※ 1 DT-970 から終了指示
18.1.
(2) 相手局環境情報取得/設定関数 相手局のシステム環境情報の取得および設定を行うための関数です。 (9) 日付時刻の取得/設定 (cu_dateTime) 相手局のシステム日付時刻の取得/設定を行います。 ② ディスク情報の取得 (cu_getDiskInfo) 相手局側ディスク情報の取得を行います。 ディスク情報の項目は次の通りです。 • ディスク総容量 • ディスク空き容量 • ディスク状態(フォーマット済み/未フォーマット/ディスクなし) ③ システム情報の取得 (cu_getSysInfo) 相手局側のシステム情報の取得を行います。 システム情報の項目は次の通りです。 セッション ID(通信時のセッション番号) プロトコルバージョン(ファイル転送プロトコルのバージョン番号) 相手局機種コード(DT-970/PC(AT 互換機)/PC(98 シリーズ)) OS モデル情報(DT-970 モデル種別/PC の OS 種別) 尚、上記情報は回線オープン時のセッション確立直後に相手局より取得します。 ④ 画面表示メッセージの送信 (cu_msgSend) 相手局へ画面表示用のメッセージを送信します。 相手
[リモート操作関数の基本フロー] PCモード 中断キーの登録 cu_stopKeySet関数 cu_open関数 通信ポートのオープン/セッション確立 リモート操作コマンド送信 リモート操作関数 コマンド完了またはエラー発生 cu_readErrStat関数 cu_close関数 cu_stopKeySet関数 エラー情報の取得 セッション解放/回線クローズ 中断キーの削除 終了 341
18.1.
18.
18.2.1 cu_open 【通信ユーティリティ : FLINK プロトコル】 通信ポートの初期化およびセッションの確立を行ないます。 セッション確立までは、タイムアウト時間まで待ちます。 相手局システム情報の取得を行ないます。 ER cu_open( H H CU_RSPRM H ) comNo, irSpeed, *rsPrm, mode パラメータ comNo 通信ポート COM0 COM9 LAN IrDA USB LAN クレードル irSpeed 赤外通信最高速度を指定します。但し、Ir_SetWinMode関数でPC接続モードに切り替えてから呼び 出された場合、この引数を参照しません。 CU_B9600 9600 bps CU_B19K 19.2kbps CU_B38K 38.4 kbps CU_B57K 57.6 kbps CU_B115K 115.
18.2.
graphSet グラフ表示情報 typedef struct { H graphMode :グラフ表示モード CU_GRAPH_ON_1 :転送全体を 100%として表示 CU_GRAPH_ON_2 :1 ファイルを 100%として表示 CU_GRAPH_OFF :表示しない (CU_GRAPH_OFF 設定時は次のパラメータは参照しません) H graphPos :ファイル名表示先頭行(0~11) H graphCol :ファイル名表示先頭桁(0~25) H graphName :ファイル名表示フラグ(全パス表示かファイル名のみかを指定します) CU_GRAPH_NM_PATH :全パス表示 CU_GRAPH_NM_FILE :ファイル名のみ H graphLine :ファイル名エリア行数(1~12) } CU_GRAPHSET; 戻り値 E_OK E_NG E_PRM 正常終了 異常終了 パラメータエラー 参照 CU_GRAPHSET構造体 346
18.2.
18.2.
18.2.
18.2.
解説 エラー情報の取得 コマンド種別・エラー状態 一覧 コマンド種別 シンボル CU_CMD_NON CU_CMD_FSEND_TINFO CU_CMD_FSEND_FINFO CU_CMD_FRECV_TREQ CU_CMD_FADD CU_CMD_FDATA CU_CMD_FDEL CU_CMD_FMOV CU_CMD_MAKEDIR CU_CMD_TIME_SET CU_CMD_TIME_GET CU_CMD_DISP CU_CMD_BEEP CU_CMD_FINFO_GET CU_CMD_FINFO_SET CU_CMD_DINFO_GET CU_CMD_SYS_GET CU_CMD_IDLE CU_CMD_END 値 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 意味 該当コマンドなし ファイル転送情報コマンド ファイル情報コマンド ファイル受信要求コマンド ファイル追加コマンド ファイルデータコマンド ファイル削除コマンド ファイル移動コマンド ディレクトリ作成コマンド 日付時刻設定コマンド 日付時刻取得コマンド メッセージ表
04 00 10 00 01 02 使用関数パラメータエ ラー (9) 関数パラメータに誤りがある ・指定パラメータを確認 03 指定ファイル未検出エ ラー (9) 指定されたファイルが存在しない ・指定ファイルを確認 04 相手局未検出 05 システム日付設定エラ ー システム時刻設定エラ ー タイマ使用エラー (9) セッション確立待ちタイムアウト ・通信設定、回線経路を確認 ・指定日付を確認 06 07 08 09 0A 0B 11 ファイルエラー[プロトコル論理] リードオンリィファイルアクセスエラー ユーティリティエラー 回線オープンエラー (9) 回線がオープンされていない ・オープン時にエラーが発生していない か確認 使用関数フェーズエラ (9) 関数の使い方に誤りがある ー ・動作モード/送信権局モードを確認 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D CPU クロック切替えエラ ー 致命的エラー ・指定時刻を確認 (9) タイマが登録できなかった ・AP で使用しているタイマ数を確認 ・CPU 切替え禁止状態でな
20 00 01 02 03 04 0F 0x 1x システムメニュー通信エラー フォーマット実行エラー (9) フォーマット中にエラー発生 ・再フォーマットする 環境設定ファイル未存在 ・CONFIG.HTS ファイルが存在しない エラー 環境設定ファイル更新エラ (9) CONFIG.
18.2.
18.2.
18.2.
18.2.
18.2.
戻り値 E_OK E_NG E_PRM 正常終了 異常終了 パラメータエラー 参照 CU_DATETIME構造体 359
18.2.
戻り値 E_OK E_NG E_PRM 正常終了 異常終了 パラメータエラー 参照 CU_FINFO構造体 361
18.2.
18.2.
18.2.
18.2.16 cu_getSysInfo 【通信ユーティリティ : FLINK プロトコル】 相手局側のシステム情報を取得します。 相手局が PC の場合は接続セッション番号も返します。(相手局が HT の場合は 0 固定) 尚、これらの情報はオープンのセッション時に既に取得しているため、通信は行わず、情報のみを返しま す。 ER cu_getSysInfo( H comNo, CU_SYSINFO *sysInfo ) パラメータ comNo COM NO.
18.2.17 cu_msgSend 【通信ユーティリティ : FLINK プロトコル】 相手局側に表示するメッセージを送信します。 ER cu_msgSend( H comNo, B *msg ) パラメータ comNo 通信ポート COM0 COM9 LAN IrDA USB LAN クレードル msg 表示メッセージ格納エリア(終端は NULL を設定) 戻り値 E_OK E_NG E_PRM 正常終了 異常終了 パラメータエラー 18.2.
18.2.
18.2.20 cu_fchklog_Create 【通信ユーティリティ : FLINK プロトコル】 指定複数ファイルの FCHK リストファイル(FCHK.
graphSet グラフ表示情報 typedef struct { H graphMode :グラフ表示モード CU_GRAPH_ON_1 :リストファイル生成全体を 100%として表示します。 CU_GRAPH_OFF :表示しません。 (CU_GRAPH_OFF 設定時は次のパラメータは、参照しません。) H graphPos :ファイル名表示先頭行 (0~11) H graphCol :ファイル名表示先頭桁 (0~25) H graphName :ファイル名表示フラグ (全パス表示かファイル名のみかを指定します。) CU_GRAPH_NM_PATH :全パス表示 CU_GRAPH_NM_FILE :ファイル名のみ H graphLine :ファイル名エリア行数(1~12) } CU_GRAPHSET; 戻り値 E_OK FCHK_NG01 FCHK_NG02 FCHK_NG03 FCHK_NG0D 正常終了 指定したパス名が見つからない リストファイル作成エラー FCHK.
18.2.21 cu_fchklog_Check 【通信ユーティリティ : FLINK プロトコル】 指定されたディレクトリの FCHK リストファイル(FCHK.
18.2.
19.PPP制御 19.
(9) Bluetooth 設定 BT_Start(); // BT 電源 ON BT_SelectProfile(BT_PROFILE_DUN); // DUN プロファイルを選択 電話との Bluetooth 接続設定を実施(BT_SetPassKey()、BT_SelectDev()など) (2) PPP 接続 ppp_init(); // プログラム中1回のみ //ダイアル時の追加コマンドを携帯電話仕様および APN 仕様によって設定 ppp_setParam_MdmInit1(“E0”); ppp_setParam_MdmInit2”+CGDCONT=1,¥”IP¥”, ¥”mopera.net¥””); strcpy(call_prm.number, “*99***1#”); // ダイアル時の電話番号。携帯電話仕様および APN 仕様によって設定。 strcpy(call_prm.user, “plus”); // ダイアルアップ認証用ユーザ名 strcpy(call_prm.
19.
19.2.1 ppp_init PPP モジュールの初期化を行います。 ER ppp_init() パラメータ ありません。 戻り値 E_OK E_NG 正常終了 異常終了 説明 アプリケーション内で 1 回のみコールしてください。 19.2.
19.2.
19.2.
解説 指定した相手先に対して発信し、PPP 接続を行います。 sync と callback の組み合わせにより、以下のように動作が異なります。 sync が TRUE で callback が NULL のとき PPP 接続が完了するかエラーが発生するまで本関数から返りません。 PPP 通信中に異常切断が発生しても、ユーザには通知しません。 sync が TRUE で callback がコールバック関数のポインタのとき PPP 接続が完了するかエラーが発生するまで本関数から返りません。 PPP 通信中に異常切断が発生すると、コールバック関数を呼び出します。 sync が FALSE で callback が NULL のとき エラーを返します。 sync が FALSE で callback がコールバック関数のポインタのとき 本関数から即座に制御が返ります。 コールバック関数が呼ばれることにより結果が通知されます。 PPP 通信中に異常切断が発生しても、コールバック関数を呼び出します。 378
19.2.
20.USB制御 20.
20.1.
20.1.
20.1.3 USB_setMSCDrive 指定のドライブをマスストレージ(PC からドライブとして見える)ドライブとして設定します。 ER USB_setMSCDrive( int drive ); パラメータ drive マスストレージとして設定するドライブを指定します。 :A ドライブ USB_MSC_A :B ドライブ USB_MSC_B :D ドライブ USB_MSC_D 戻り値 E_OK E_NG E_PRM :正常終了 :異常終了 :パラメータエラー 20.1.
21.共通関数 21.1 機能 共通関数は、アプリケーションの実行/終了/各種設定を次の機能によりサポートします。 21.1.1 アプリケーションのロードと実行 DT-970 では ASTART.HTS に登録されたアプリケーションプログラムをロードして実行します。 A:¥AP.LOD : Aドライブに置かれたAP.LODを起動するAPSTART.HTSの例 起動されたアプリケーションプログラムは、dat_Apload関数を使って別のプログラムをロードして実行する ことができます。但し、呼び出し元のアプリケーションプログラムは dat_Apload関数がロードするアプリケ ーションプログラムによって上書きされるため、一般的な関数呼び出しのように制御が呼び出し元に戻る ことはありません。 21.1.
21.1.4 動作環境メニュー起動処理 アプリケーションから動作環境メニューを起動し、各種動作設定を行ないます。 動作環境メニューは、終了した段階でアプリケーションへ処理が戻ります。 21.1.
21.
21.2.1 dat_Apload 指定されたプログラムファイルをアプリケーション領域にロードして実行します。 ER dat_Apload( B *path ); パラメータ path 指定ファイル名の格納先ポインタ(指定方法詳細は open関数参照) 戻り値 E_OK E_NG 正常終了 異常終了 21.2.
21.2.3 exit 次の処理を行いユーザアプリケーションを終了し、システムメニューに戻ります。 (9) 関数結果の待避 ②全ファイルの強制クローズ ③全通知モードの解除 ④ファンクションキー等、システム状態をデフォルトに戻す。 exit( int rtn_code ); パラメータ rtn_code ユーザアプリケーションの関数結果(固定エリアに保存されます) 戻り値 なし 21.2.
21.2.
22. 参考資料 22.
ファイル転送 ホスト受信 ホスト送信 ○ ○ ○ ○ 通信セット バーコード 電池 ID セット DT970 フォントモード DT930 表示モード DT900 環境 環境 表示モード 通信セット バーコード ID セット APO 時間 ABO 時間 キークリック ON/OFF ブザー音量 自動コントラスト ON/OFF 警告メッセージ ON/OFF フォントモード メッセージ 拡大表示 行間モード タスクバー表示/非表示 サイズ(12/16/24) サイズ(6/8/10) タイプ(標準/強調) 通信ポート 通信速度 データ長 パリティ ストップビット Bluetooth LAN USB 読み取り回数 照合回数 タイムアウト 読み取り禁止時間 キャリブレーション 設定自動表示 切り替え 機器 ID 代理店 ID DT800 TOP 項目選択 設定内容 DT750 項目 DT700 (2) 動作環境メニュー ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
22.
○ ○ ○ ○ ○ ○ ○ DT970 キー入力モードの設定 1 文字の入力 文字列の入力 数値の入力 キーバッファのステータスチェック キーバッファのクリア ファンクションキーコードの設定 ファンクションキー通知モード設定 キー入力有効無効設定/解除 切り替えキー確定時間設定 キーパッドファイル登録 ユーザータッチキーの設定削除 タッチ座標取得 キーパッド切り替え/状態取得 キーパッド遷移設定/状態取得 DT930 key_select key_read key_string key_num key_check key_clear key_fnc key_fnc_mode key_patchg key_maketime key_pad_set key_touch key_point key_pad key_pad_entry DT900 機能 DT800 関数名 DT750 DT700 (3) キー部 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
エラーステータスのリード ○ ○ ○ ○ ○ c_rderrsts 受信ハンドラの切り替え ○ ○ ○ ○ ○ c_chghdr ブレーク要因の設定 ○ ○ c_brkevent メモリブロックの送信 ○ ○ c_mdout メモリブロックの受信 ○ ○ c_mdin WakeUp 信号の設定 ○ c_wp CI 信号立ち上げモード設定 ○ c_cimode ※ USB HID 通信の機能のみを提供します。従来の赤外線通信等のインターフェースはありません。 DT750 DT800 DT900 DT930 DT970 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ DT800 DT900 DT930 DT970 通知モード設定 電源通知イベントのクリア APO 禁止の設定 電源の OFF クレードルの起動設定 バイブレータの動作開始 DT750 pwr_inhabit pwr_inhabit_clr pwr_hold_apo pwr_off pwr_IoboxBootMode pwr_vibrator 機能
OBR_swing OBR_widenarrow OBR_getadjust OBR_setadjust OBR_getmargincheck OBR_setmargincheck OBR_gain OBR_getfocus OBR_setfocus レーザー発光幅の設定/参 照 レーザー発光幅の微調整 バー幅補正モードの取得 バー幅補正モードの設定 マージンチェック倍率モード の取得 マージンチェック倍率モード の設定 発光ゲインの切り替え レーザフォーカスモードの取 得 レーザフォーカスモードの設 定 ○ ○ ○ ○ ○ ○ ○ ○ ○ ※ ※ ※ ○ ○ ○ ○ ○ ○ ※ DT-970 では本関数はサポートしません。 DT900 DT930 DT970 タイマ 1 登録 タイマ 1 削除 タイマ 2 登録 タイマ 2 削除 エラービープ音 エラービープ音 2 (赤 LED 点灯) サウンド゙音 1 日付の取得 日付の設定 時間の取得 時間の設定 DT800 s_settimer s_timerend s_settimer2 s_timerend2 s_beep s_
※ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ DT800 ○ ○ ○ DT970 fil_getsize2 fil_findfirst fil_findnext fil_filesize ○ ○ ○ DT930 fil_chsize fil_getsize ファイル空き領域サイズの取得 ファイル格納情報の取得 ファイルの削除 ファイル名の変更 ファイルデータの検索 ファイルサイズの変更 ファイルのオープン ファイルのクローズ ファイルのリード ファイルのライト ファイルリード/ライト位置の設定 メモリ領域の割当て ディレクトリの作成 ディレクトリの削除 ファイルの削除 ファイル名の変更/移動 ファイルの日時・サイズ・属性の取 得 ファイルのサイズの変更 ファイル領域空きサイズ(4GB 以 内)の取得 ファイル領域空きサイズの取得 ファイル名の取得 ファイル名の取得(次候補) ファイルの個数と総サイズ(4GB 以 内)の取得 ファイルの個数と総サイズの取得 ファイル全パス名の取得 DT900 dat_fsize dat_fdir dat_fdel dat_frname
DT900 DT930 DT970 中断キーの設定 転送ドライブ指定 DT800 cu_stopKeySet cu_setDrive 機能 DT750 関数名 DT700 (12) 通信ユーティリティ マルチドロップ/FLINK/DT500 プロトコル共通 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ DT970 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ DT930 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ DT900 通信ポート初期化 ファイルの送信 ファイル送信情報の設定 1 ファイルの送信 ファイルの受信 画面表示メッセージの送信 通信の中断 回線のクローズ エラー詳細情報の取得 データリンク拒否情報の取得 DT800 cu_open cu_fileSend cu_fileSendSet cu_fileSend1 cu_fileRecv cu_msgSend cu_end cu_close cu_readErrStat cu_readDIRjInfo 機能 D
クレードル情報の設定 FCHK リストファイルの生成 FCHK リストファイルのチェック アプリケーションインストールの 設定 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ DT970 cu_setIoboxInfo cu_fchklog_Create cu_fchklog_Check cu_apRecvSet DT750 DT800 DT900 DT930 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ DT800 DT900 DT930 DT970 通信ポート初期化 ファイルの送信 ファイルの受信 回線のクローズ エラー詳細情報の取得 DT500 プロトコル制御コードの 拡張設定 DT750 cu_open cu_fileSend cu_fileRecv cu_close cu_readErrStat cu_SetCode 機能 DT700 関数名 DT700 DT500 プロトコル ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
DT970 Bluetooth 通信の開始 Bluetooth 通信の終了 使用するプロファイルの指定 本体のデバイス情報の取得 本体のデバイス情報の設定 Bluetooth 機器の問い合わせ Bluetooth デバイス情報の取得 Bluetooth デバイス名の取得 接続する Bluetooth 機器の指定 Bluetooth パスキーの取得 Bluetooth パスキーの設定 Bluetooth 通信の開始 Bluetooth 通信の終了 Bluetooth 通信のデータの受信 Bluetooth 通信のデータの送信 読み込み可能なデータ数の取得 Bluetooth デバイス情報の保存 Bluetooth デバイス情報の読出し エラー値の取得 HID プロファイルのキーコード送信 DT930 BT_Start BT_Stop BT_SelectProfile BT_GetLocalInfo BT_SetLocalInfo BT_Inquiry BT_GetDevInfo BT_GetDevName BT_SelectDev BT_GetPassKey BT_SetPassKey BT_Open B
net_shutdown net_close net_select net_getsockopt net_setsockopt net_getsockerr net_inet_aton net_inet_addr net_inet_ntoa net_tcpip_wai_rdy net_ascii_to_ipaddr net_ipaddr_to_ascii net_byte4_to_long 通信の停止 ソケットの開放 イベント待ち ソケットオプションの取得 ソケットオプションの設定 エラー番号の取得 文字列を IPv4 アドレスに変換 文字列を IPv4 アドレスに変換 IPv4 アドレスを文字列に変換 プロトコルスタックの起動待ち IP アドレス文字列を unsigned long 型に変換 unsigned long 型の IP アドレスを文字列に変換 char 型配列の IP アドレスを unsigned long 型の IP アドレ スに変換 unsigned long 型の IP アドレスを unsigned char 型配列 の IP アドレスに変換 ping の送信 自 IP アドレス情報の取
ppp_cctrl_disconnect DT970 PPP モジュールの初期化 モデム初期化 AT コマンド 1 の 設定 モデム初期化 AT コマンド 2 の 設定 指定した相手先に発信し、 PPP 接続 通信中の PPP 接続の切断 DT930 ppp_init ppp_setParam_MdmI nit1 ppp_setParam_MdmI nit2 ppp_cctrl_call DT900 機能 DT800 関数名 DT750 DT700 (18) PPP 制御 ○ ○ ○ ○ ○ 401 DT970 USB クライアントの切り替え USB クライアントの状態取得 マスストレージドライブの設定 マスストレージドライブの状態取 得 DT930 USB_setClientMode USB_getClientMode USB_setMSCDrive USB_getMSCDrive DT900 機能 DT800 関数名 DT750 DT700 (19) USB 制御 ○ ○ ○ ○
22.
DAY_DAT TIM_DAT 格納情報 日付データ 時刻データ DT970 構造体名 DT930 (4) 日時設定関数で使用する構造体 ○ ○ ○ ○ 格納情報 OBR の動作モード M_TBL DT970 構造体名 DT930 (5) OBR 関数で使用する構造体 ○ ○ TIM_TBL DEL_TBL COM_STS 格納情報 シリアル通信制御の監視タイムアウト値 シリアル通信制御のデリートコード情報 シリアル通信制御における受信バッファのステータス DT970 構造体名 DT930 (6) シリアル通信関数で使用する構造体 ○ ○ ○ ○ ○ ○ DT970 IrDA 制御の通信パラメータ IrDA 制御における自局能力情報 ○ ○ ○ ○ DT970 State_DCB SetPortConfig_DCB 格納情報 DT930 構造体名 DT930 (7) IrDA 関数で使用する構造体 ○ ○ ○ ○ (8) Bluetooth 関数で使用する構造体 構造体名 BT_LOCALINFO BT_DEVINFO 格納情報 Bl
DT970 FLINK プロトコルにおける通信パラメータ LAN 通信におけるパラメータ FLINK プロトコルにおける進捗グラフ表示情報 FLINK プロトコルにおけるエラー情報 FLINK プロトコルにおける日付時刻情報 FLINK プロトコルにおけるファイル情報 FLINK プロトコルにおけるディスク情報 FLINK プロトコルにおける相手局のシステム情報 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ DT970 CU_RSPRM CU_LANPRM CU_GRAPHSET CU_ERRINFO CU_DATETIME CU_FINFO CU_DINFO CU_SYSINFO 格納情報 DT930 構造体名 DT930 (9) 通信ユーティリティ制御関数で使用する構造体 (10) LAN 制御関数で使用する構造体 構造体名 sockaddr sockaddr_in in_addr timeval fd_set T_MYIP_PARAM T_IPV4EP 格納情報 アドレス情報 IPv4 アドレス情報 IPv4 アドレス 時間情報 ソケット情報 IP アドレス情報(n
カシオ計算機お問い合わせ窓口 製品に関する最新情報 ●製品サポートサイト(カシオペア・ハンディターミナル) http://casio.