カシオハンディターミナル Rev 1.1 カシオ計算機株式会社
1.はじめに ............................................................................................................................................................... 1 2.概要....................................................................................................................................................................... 1 3.インターフェース.................................................................................................................................................
1.はじめに 本仕様書は、本機(以下PDTと呼ぶ)からポータブルプリンタ(以下プリンタと呼ぶ)を 操作するためのアプリケーションインターフェースに関するものです。 2.概要 通信インターフェースには、赤外線通信を対象とします。 赤外線インターフェースでは、プリンタの全てのコマンドの使用が可能です。 インターフェースの使用手順は、C言語の関数群としてアプリケーションに提供します。 通信部は、通信BIOSを使用します。 -1-
3.インターフェース 3−1.赤外線インターフェース (1) 通信仕様 ・通信仕様に関しては、「DT−810PR解説書」の 4.インターフェースを参照の事。 3−2.コマンドパケット/ステータスパケット仕様 (1)パケット仕様 ・パケット仕様に関しては、「DT−810PR解説書」の 4.インターフェースを参照の事。 3−3.状態遷移 (1)遷移状態仕様 ・遷移状態仕様に関しては、「DT−810PR解説書」の 4.インターフェースを参照の事。 ※タイムアウトのリトライ回数は、20回までとする。 -2-
4.ライブラリー関数 4−1 関数一覧 プリンタ制御関数の一覧を以下に示します。 ※ prn_tecinf_open関数は、排他制御を行う。 NO 1 関 数 名 機 能 赤外線プリンタインターフェース制御関数 prn_tecinf_open 赤外線通信のオープン prn_tecinf_close 赤外線通信のクローズ prn_tecinf_send 赤外線でのコマンド送信 prn_tecinf_status 赤外線でのステータスリード prn_tecinf_send2 赤外線でのコマンド送信(タイムアウト付き) 4−2.関数詳細 次頁以降に、関数の詳細を示します。 -3- 備 考
題目 赤外通信のオープン 関数名 機能 COM0をオープン、占有します。 prn_tecinf_open ・受信バッファの設定 ・送受信の有効 ・COM0の初期化及びCOM0をIrDAに切替 ・IrDA I/F電源を使用可 ・通信速度を19200bpsに設定 ・割込み禁止 C言語インターフェース 【コーリングシーケンス】 ER ercd = prn_tecinf_open ( B *buff ); 【パラメータ】 B *buff 受信バッファアドレス(24byteのエリアが必要) prn_tecinf_send 関数の戻り値が E_PRN_ERR の時 エラーステータスを格納する為のエリアです。 エラーステータスのフォーマットは、「B−211−GH24−QM ソフトウェア仕様書」の4.1 ④ステータスパケットに記載 してある内容から、STXとCRC部分を取り除いたものです。 【リターンパラメータ】 ER ercd E_OK :正常 E_PRN_PON :オープン済 E_MBU_EXC :排他エラー E_PRN_LB :ローバッテリ(オープンされません) 備考
題目 赤外通信のクローズ 関数名 機能 COM0のクローズ、占有解除します。 prn_tecinf_close ・送受信の無効 ・IrDAの解除 ・通信速度の解除 ・割込み禁止解除 ・IrDA I/F電源を使用不可 C言語インターフェース 【 コーリングシーケンス 】 ER ercd = prn_tecinf_close ( void ); 【パラメータ】 【リターンパラメータ】 ER E_PRN_LB ercd E_OK :正常 E_PRN_POF :クローズ済 :ローバッテリ (ローバッテリの場合でも、赤外通信はクローズされる) 備考 【 関連ファンクション 】 prn_tecinf_open -5-
題目 赤外でのコマンド送信 関数名 機能 プリンタに対して、各種コマンドの送信を行います。 prn_tecinf_send ・送信単位は、コマンド内に記述されているレングス分です。 ・送信コマンド内にステータス要求コマンドは記述しないで下さい。 プリンタとのリンクの確立、データ送信、再送、エラーステータス受信処理を行います。 また、ステータスに P_END を指定すると、EOT送信によるリンクの終結処理を行います。 C言語インターフェース 【 コーリングシーケンス 】 ER ercd = prn_tecinf_send ( B *command_prt, UB status ); 【パラメータ】 B *command_prt 送信するコマンドのアドレス UB status 通信の継続/終了を指定 P_CONTINE :継続 P_END :終了 複数に分けて送信する場合は、途中のコマンド送信時は P_CONTINUE、最後のコマンド送信時に P_END を指定します。 【リターンパラメータ】 ER ercd E_OK :正常 E_TIMEOUT :受信タイムア
prn_tecinf_send2 題目 赤外でのコマンド送信(タイムアウト付) 関数名 機能 プリンタに対して、各種コマンドの送信を行います。 ・送信単位は、コマンド内に記述されているレングス分です。 ・送信コマンド内にステータス要求コマンドは記述しないで下さい。 ・プリンタが受け付けたコマンドの実行を開始し、処理終了時にハンディターミナルに返す ACK の 待ち時間を指定できます。指定した時間内にプリンタがコマンド処理終了の ACK を返せない場合 は、受信タイムアウトが返されます。(印字コマンドでは、印字開始から、印字終了までの時間は、 周囲温度、バッテリ電圧、印字長、印字デューティなどによって変わりますので、出力状態に合っ た適切な時間を設定する必要があります。周囲温度による影響は下記備考を参考にして計算してく ださい。) C言語インターフェース 【 コーリングシーケンス 】 ER ercd = prn_tecinf_send2 ( B *command_prt, UB status, H end_wait ); 【パラメータ】 B *command_prt 送信するコマンドのアド
関数名 prn_tecinf_status 題目 赤外でのステータスリード 機能 ステータスリードコマンドを送信し、プリンタの状態を受信します。 リターンされるステータスは、STXとCRCを除いたものです。 C言語インターフェース 【 コーリングシーケンス 】 ER ercd = prn_tecinf_status ( B *rcv_status, UB status ); 【パラメータ】 B * rcv_status プリンタのステータス受信バッファのアドレス (24byteのエリアが必要です。) プリンタステータスのフォーマットは、「B−211−GH24−QM ソフトウェア仕様書」の4.1 ④ステータスパケットに記載 してある内容から、STXとCRC部分を取り除いたものです。 UB status 通信の終了を指定 P_END :終了 P_END 以外を指定するとパラメータエラーになります。 【リターンパラメータ】 ER ercd E_OK :正常 E_TIMEOUT :受信タイムアウト E_NG :異常 E_PRN_POF :未オープン E_PRN_
4−3.プリンタ状態一覧 コマンド送信またはステータスリードコマンドでプリンタのスタースを受信した場合の プリンタ状態および対応方法の一覧。 状態コード 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH プリンタ状態 通常状態(アイドル中) カバーオープン状態 コマンドシンタックスエラー フィードジャムー ラベルエンド カバーオープンエラー サマールヘッド切断エラー サマールヘッド異常高温エラー フラッシュ ROM 書込みエラー フラッシュ ROM 消去 ローバッテリー(印字不可状態) 動作中 対応 印刷できます。 プリンタのカバーを閉めて下さい。 コマンドの設定に誤りがあります。 コマンドの設定に誤りがあります。 コマンド送信の順序に矛盾があります。 プリンタカバーを閉めて下さい。 プリンタの故障で修理が必要です。 ヘッド温度さめるのを待ってから再印字して下さい。 プリンタの故障で修理が必要です。 プリンタの故障で修理が必要です。 バッテリーの充電が必要です。 動作中です。※ ※DT−810PRは、印字中はステータスを返しませ
5.プリンタコマンド 5−1 ① プリンタコマンド記述方法 ラベル発行モードの記述内容は、プリンタ ID、レングス、プリンタコマンドです。 関数 prn_tecinf_send でのコマンド記述形式を以下に示します。 例1:単一コマンドの場合(発行モード設定コマンド) static char Lprn_comm[] = {0x00,0x00,0x06,0x1B,'M',';','0',0x0A,0x00}; プリンタ ID ② 送信データレングス プリンタコマンド レシート発行モードの記述内容は、プリンタ ID、レングス、モード、フラグ、 コマンドです。 関数 prn_tecinf_send でのコマンド記述形式を以下に示します。 例2:単一コマンドの場合(改行量設定コマンド) static char Rprn_comm[] = {0x03,0x51,0x03,'Y',0x81,0x1B,'3',0x1E}, プリンタ ID 送信データレングス モード - 10 - フラグ プリンタコマンド
DT−810PR 制御関数解説書 平成12年1月 Rev1.