abc DT-970SDK DT-900/930/940 アプリケーション移行ガイド このガイドは DT-970 のアプリケーション開 発者向けの開発ガイドブックです。 DT-900/930/940 で利用していたアプリケー ションを DT-970 に移行する上での手順、ツ ール等を記載します。 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.03 1.03 2014.07 1.04 2014.09 ページ 内容 4-6, 38, 43-44 36 4, 21, 29, 39 13 55-56 57 56 新規作成 「TEC IrDA プリンタライブラリ」「シリアル通信制御/送受 信切替ライブラリ」追加 AppConverter.ini に "B211DEF.
目次 1.1. 1.2. 1.3. 1.4. 1.5. 1.6.
1. 概要 1.1. 基本方針 DT-970 は、DT-930(本資料での DT-930 という記述は、DT-900/930/940 の総称とします)後継機種と いう位置づけのものです。 このため、基本方針として、DT-930 用のアプリケーションを、極力、そのままの形態で、DT-970 でも動作 可能とします。 [図 1-1] ユーザ アプリケーション DT-930 マニュアル 記載関数 ユーザ アプリケーション カシオ提供 SDK (*1) カシオ提供 SDK (*2) C標準関数 C標準関数 システムコール システムコール OS ITRON 2.0 μITRON 4.0 CPU SH1 32bit RISC RX621 32bit CISC DT-930 *1…DT-930 専用関数、拡張機能ライブラリの総称としての表記。 *2…DT-970 専用関数、拡張機能ライブラリの総称としての表記。 DT-970 1.2.
1.3.
1.4.
3) カシオ提供 SDK シリアル通信制御/送受信切替ライブラリ 表 1-1 の No.4「シリアル通信制御/送受信切替ライブラリ」を実現する、カシオ IR インターフェイスは、 DT-970 では機能自体が存在せず、IrCOMM プロトコルの「IrDA 制御(Ir_xxx)」への変更が必要とな ります。 カシオ IR インターフェイスと、IrCOMM プロトコルでは機能差異があるので、マニュアルを確認の上、 ソース修正が必要です。 DT-970 には従来の「シリアル通信制御」と同一名称の 4 関数(c_open, c_close, c_dout, c_tmdin) が存在しますが、これは「USB HID 通信」を行うものです。 4) システムコール マニュアル記載イベント操作 表 1-1 の No.
1.5.
1.6. 画面表示互換性 DT-930 と DT-970 では画面表示エリアのサイズが異なります。 [図 1-2] DT-930 DT-970 64dot (24mm) 128dot 29mm 128dot(42mm) 128dot このため、DT-930 アプリケーションを、DT-970 に単純移行した場合は、リンクする ap_start オブジェクト (ap_start1.obj/ap_start2.obj)を選択することで、以下の何れかの表示が可能です。 [表 1-4] No リンクするオブジェクト 1 ap_start1.obj 2 ap_start2.obj 互換表示形式 DT-930 アプリケーションを上部に寄せて表示して、下部 28dot にアイコンを表示[図 1-3] DT-930 アプリケーション画面の文字表示を縦 1.
2. 通信処理の移行 2.1. 概要 本資料としては、まず、DT-930 におけるシステム構成パターンと、DT-970 におけるシステム構成パター ンの対比を記載します。 このシステム構成パターンをベースとして、現在システムを DT-970 に置き換える際のシステム構成を御 検討下さい。 次に、DT-970 で未サポートとなったマルチドロップを利用しているアプリケーションについて、FLINK へ 移行するための技術情報を説明します。 最後に FLINK 利用アプリケーションについて、追加となった通信手段 Bluetooth/USB/LAN へ移行するた めの技術情報を説明します。 2.2. DT-930 システム構成パターン [表 2-1] No 1 2 3 4 構成 DT-930 端末間 IrDA-USB クレードル サテライト IO ボックス ベーシック IO ボックス 通信プロトコル FLINK FLINK FLINK マルチドロップ 通信手段 IrDA IrDA IrDA IrDA 通信速度 4Mbps 4Mbps 115Kbps 19.
2) IrDA-USB クレードル[HA-E60IO]利用 PC に対して、IrDA-USB クレードルで最大 8 台接続して通信する形態で、FLINK で利用可能でした。 DT-970 では、クレードルアタッチメント[HA-N64AT]を利用することで、IrDA-USB クレードルをそのま ま利用することが可能ですが、IrDA 通信速度は 4Mbps から 115Kbps となります。 IrDA-USB クレードル以外の接続形態としては、USB ケーブルで直結、及び、USB クレードル、LAN ク レードル等で接続する構成が可能となります。(各構成で、PC に対しての DT-970 接続台数/通信手 段/通信速度は異なります) 選択する構成によっては、通信手段を IrDA から USB/LAN に変更する必要があります。 IrDA USB IrDA-USB クレードル [HA-E60IO] USB コネクタタイプ B IrDA IrDA-USB クレードル [HA-E60IO] [図 2-3] USB コネクタタイプ B 10
3) サテライト IO ボックス[DT-964IOA]利用 PC に対して、サテライト IO ボックスを最大 8 台連鎖接続して通信する形態で、FLINK で利用可能でし た。 DT-970 では、本サテライト IO ボックスを利用することはできません。 DT-970 では、USB ケーブルで直結、及び、USB クレードル、LAN クレードル等で接続する構成が可 能となります。(各構成で、PC に対しての DT-970 接続台数/通信手段/通信速度は異なります) 選択する構成によっては、通信手段を IrDA から USB/LAN に変更する必要があります。 IrDA RS232C サテライト IO ボックス [DT-964IOA] [図 2-2] RS422 IrDA サテライト IO ボックス [DT-964IOA] RS422 IrDA サテライト IO ボックス [DT-964IOA] 11
4) ベーシック IO ボックス[DT-960IO]利用 PC に対して、ベーシック IO ボックスを最大 8 台連鎖接続して通信する形態で、マルチドロップで利用 可能でした。 マルチドロップを利用することで、PC 側から DT-930 端末 ID を識別し、任意の DT-930 毎にファイル 転送を行うことができました。 DT-970 では、本ベーシック IO ボックスを利用することはできません。 DT-970 では、USB ケーブルで直結、及び、USB クレードル、LAN クレードル等で接続する構成が可 能となります。(各構成で、PC に対しての DT-970 接続台数/通信手段/通信速度は異なります) DT-970 では、マルチドロップは利用できないため FLINK へのソース改編が必要です。端末 ID を識 別したファイル転送を行う必要がある場合は、LAN クレードルを利用した LAN 通信手段とすることで、 同様な機能を実現することは可能です。(詳細は後述) IrDA RS232C ベーシック IO ボックス [DT-960IO] [図 2-4] RS485 IrDA ベーシック IO ボッ
2.3.
3) USB クレードル[HA-N60IO] PC に対して、USB クレードルで1台同士を接続して通信する形態で、FLINK で利用可能です。 USB 接触端子 DT-380USB-A [図 2-7] USB クレードル [HA-N60IO] USB コネクタタイプ B 4) LAN クレードル[HA-N62IO] PC に対して、LAN クレードルで、USB もしくは LAN で接続する形態で、FLINK で利用可能です。USB の場合は、1台同士を接続する形態となります。 USB 接触端子 DT-380USB-A [図 2-8] LAN クレードル [HA-N62IO] USB コネクタタイプ B もしくは USB 接触端子 LAN クレードル [HA-N62IO] 10base-T/100base-TX [図 2-9] 14 USB 接触端子 LAN クレードル [HA-N62IO] 10base-T/100base-TX
5) IrDA-USB クレードル[HA-E60IO]、クレードルアタッチメント[HA-N64AT]で接続 DT-930 で利用していた IrDA-USB クレードルに対して、クレードルアタッチメントを追加することで、 DT-970 でも利用可能とした形態ですが、IrDA 通信速度は 4Mbps から 115Kbps となります。 DT-930 と同様に、PC に対して最大 8 台接続可能な形態で、FLINK で利用可能です。 IrDA DT-380USB クレードルアタッチメント [HA-N64AT] IrDA-USB クレードル [HA-E60IO] USB コネクタタイプ B IrDA クレードルアタッチメント [HA-N64AT] IrDA-USB クレードル [HA-E60IO] [図 2-10] USB コネクタタイプ B 15
2.4.
2) サンプルを用いた改編例 マルチドロップ IrDA ファイル送受信サンプルを例として、FLINK IrDA への改編を説明します。 [リスト 2-1] マルチドロップ IrDA (1) #include ER Ret; DAT_COM_STR ComParam; CU_FILE_INFO_FORM FileInfo[4]; UH FileCnt; UW ComStat, BiosStat; B SendRecvMode; // MODE_RECV or MODE_SEND UB GraphPos = 0; (2) cu_stopKeySet( CU_FNC_1 ); memset(&ComParam, 0, sizeof(DAT_COM_STR)); ComParam.speed = B_19200; ComParam.length = CHAR_8; ComParam.parity = PARI_NON; ComParam.
[リスト 2-2] FLINK IrDA ER Ret; CU_RSPRM RsParam; CU_ERRINFO ErrInfo; CU_GRAPHSET GraphSet; B SendRecvMode; B TargetFiles[1024]; B *TermDir = "B:¥¥"; B *HostDir = "C:¥¥HT-DIR¥¥"; cu_stopKeySet(CU_FNC_1); (A) if( (Ret = Ir_SetWinMode(SET_WIN2K)) != E_OK ){ return(Ret); } memset(&RsParam, 0x00, sizeof(CU_RSPRM)); if(cu_open(COM0,CU_B115K,&RsParam,CU_MODE_HT) != E_OK ){ cu_readErrStat( COM0, &ErrInfo ); Ret = ErrInfo.
以降の説明で(1)~(9)はマルチドロップ側ソースを指し、(A)~(H)は FLINK 側ソースを指すものとしま す。 まず、マルチドロップ利用時のヘッダ定義(1)は、FLINK では不要です。 中断キーの設定[cu_stopKeySet](2)は、FLINK でも(A)のように同一記述です。 マルチドロップでは、通信速度は(3)構造体を[cu_open](4)の引数とする指定方法でしたが、FLINK では直接[cu_open](C)の引数で指定します。 IrDA-USB クレードルを利用する場合、通信速度設定は(B)の記述をすると(C)引数を無視して PC 接 続モード動作となります。IrDA-USB クレードルを利用せず、本体間 IrDA 通信の場合は、(B)記述は 不要で(C)引数が有効となります。 エラー情報取得[cu_readErrStat](5)は、FLINK では(D)のように下記構造体で、より詳細なエラー情 報が取得できます。 [リスト 2-3] typedef struct{ UB kind; UB command; UB category; UB detail; UW biosStat;
FLINK での進捗グラフフォーマットは下記のようになります。 [図 2-13] (ⅰ) (ⅱ) (ⅲ) (ⅳ) (ⅴ) graphPos ファイル名表示先頭行 graphCol ファイル名表示先頭カラム graphName ファイル表示フラグ [全パス表示/ファイル名のみ] graphLine ファイル名表示用行数 進捗グラフ及びパーセンテージ表示(1 行固定) クローズ処理[cu_close](9)は、FLINK 側(H)では引数が追加となっています。 20
2.5.
2) サンプルを用いた改編例 前述 FLINK IrDA サンプル[リスト 2-2]を FLINK USB へ改編する手法を説明します。 cu_xxx( )関数で第一引数が COM0 となっている(a)について、COM9 に変更して下さい。 [リスト 2-4] FLINK USB ER Ret; CU_RSPRM RsParam; CU_ERRINFO ErrInfo; CU_GRAPHSET GraphSet; B SendRecvMode; B TargetFiles[1024]; B *TermDir = "B:¥¥"; B *HostDir = "C:¥¥HT-DIR¥¥"; cu_stopKeySet(CU_FNC_1); memset(&RsParam, 0x00, sizeof(CU_RSPRM)); if(cu_open(COM9,CU_B115K,&RsParam,CU_MODE_HT) != E_OK ){ cu_readErrStat( COM9, &ErrInfo ); Ret = ErrInfo.
3. 移行ツール 3.1. 機能 1) 置換関数の検出/置換 表 1-1 の No.6「システムコール イベント操作」flg_sts, clr_flg, wai_flg 記述がソース上に存在する か否かをレポート出力します。 また、これらの関数を DT-930 互換用関数への置換も可能です。 ※レポート出力と置換はそれぞれ個別に指定が可能です。 2) 警告関数の検出 表 1-1 の No.2「マルチドロップ/DT500 プロトコル」、及び、No.
3.2. 動作環境 本ツールは、Microsoft .NET Framework 3.5 がインストールされている下記 Windows OS を動作対象と します。 • • • • • • Microsoft Microsoft Microsoft Microsoft Microsoft Microsoft Windows Windows Windows Windows Windows Windows XP Professional SP3 (x86) Server 2003 SP2 (x86) Vista Business SP2 (x86) Server 2008 SP2 (x86) Server 2008 R2 SP1 (x64) 7 Professional SP1 (x86/x64) [補足] Visual Studio 2008 C# で、Target CPU x86 で生成したツールです。 3.3. 起動方法 本ツールは、以下の2パターンで起動が可能です。 1) エクスプローラ等から AppConverter.exe を直接起動 2) AppConverter.
3.4. ツール構成 [図 3-1] アプリソース格納フォルダ アプリソース _AppConverter.txt 移行レポートファイル バックアップフォルダ アプリソース 起動時にロード 本ツール配置フォルダ AppConverter.ini … ツール動作定義 JA/EN(*1) CodePage.csv … コードページ定義 FuncConvert … 関数置換用フォルダ 定義ファイル(*.csv) FuncWarning … 関数警告用フォルダ 定義ファイル(*.csv) LabelConvert … ラベル置換用フォルダ 定義ファイル(*.csv) *1…日本語用は[JA]フォルダ、英語用は[EN]フォルダ 本ツール配置フォルダ下の各種定義ファイル(*.ini/*.csv)は、メーカ提供の標準を用意しており、所定の フォーマットに従い、定義内容の追加/編集も可能です。 各定義の詳細内容と初期値は「3.
3.5.
[表 3-1] 項番 ① 内容 対象ソースが格納されているフォルダの指定 ② ③ ショートカットにフォルダをドラッグ&ドロップ形態で起動した場合には、該当フォルダが初期表 示されます。 本テキストボックスに対して、エクスプローラ等から、ドラッグ&ドロップすると該当フォルダが反 映されます。 (フォルダではなく、ファイルをドラッグ&ドロップした場合は、該当ファイルが格納されているフ ォルダとなります) 対象ソースを指定フォルダ直下のみとするか、サブフォルダ下も対象とするかの指定 対象として確認を行うソース種別の指定 ④ C ヘッダ、C ソースを個別に選択できます。 対象とする拡張子は AppConverter.ini で指定可能です。 詳細は「3.8定義ファイルフォーマット」に記載します。 対象ソースを StreamReader/StreamWriter で操作する際の文字コード指定 ⑤ 置換実行を行う場合、ソース文字コード指定が正しく設定されていないと、置換したソース上の 記述が字化けしてしまうので、正しく設定して下さい。 選択可能なコードページは、CodePage.
項番 ⑩ 内容 ⑨で選択した内容に対しての動作指定。 ⑪ レポート出力/置換それぞれを個別に選択できます。 置換を ON すると、自動的に⑪バックアップも ON となります。 処理前にバックアップを作成するかの指定 ⑫ ⑬ ①で選択されているフォルダ名に .bak を付与したフォルダを作成して、該当フォルダ下全て をバックアップします。 ⑤で置換実行が選択されていない場合、ソース更新はされないので、バックアップを行う必要 はありません。 処理開始 処理サマリー表示 ⑭ 対象ソース全体で、処理対象と検知した関数毎に、その検知数を表示します。 処理レポート表示 ⑮ ①で選択されているフォルダ下のレポート(_AppConverter.
3.6.
指定フォルダが無効、及び、指定フォルダ下に対象ソース種別のファイルが存在しない場合には、 以下の警告表示をします。 [図 3-7] バックアップ指定があり、バックアップ用フォルダが、既に存在していた場合には、以下の確認ダイ アログを表示します。 [図 3-8] [はい]を選択すると、既に存在していたバックアップフォルダを削除して、処理を継続します。 [いいえ]を選択するすると、処理を中断します。 指定内容が正しく、対象ソースが存在した場合には、以下の確認ダイアログを表示し、[はい]で処 理を開始します。 [いいえ]を選択するすると、処理を中断します。 [図 3-9] 30
3) 処理結果表示 処理がエラー終了した場合には、以下のダイアログを表示します。 [図 3-10] 処理が正常終了した場合には、以下のダイアログを表示して、画面下部リストビューに処理サマリ ー表示をします。 [図 3-11] [図 3-12] 上記、サマリーリストビューでは、カラムヘッダをクリックすることで、カラム毎に、昇順/降順でソー トすることができます。 31
4) 処理結果確認 レポートファイル(_AppConverter.txt)に処理詳細結果が保存されます。 [レポート表示]ボタン押下すると、テキスト表示に関連付けされたアプリケーション(Windows の設 定で既定値は Notepad)で表示します。 [リスト 3-1] [ C:¥PY051¥sample¥KISC.H ] ----- 置換:0 警告:0 ----[ C:¥PY051¥sample¥KISC.
5) 関数置換動作 置換処理を選択して、置換を実施する場合には、 1.本ツールで置換したことを表すコメント行 2.元ソースをコメント化した行 の 2 行を追加出力します。 [リスト 3-2] // 2013.05.
3.7.
下記記述の場合、[ルール①]では foo,bar を関数記述として判断しませんが、[ルール②]では関数 記述として判断します。 [リスト 3-4] val = foo ( a, b, c ); #define LABEL bar val = LABEL ( a, b, c ); val = bar ( a, b, c ); しかし、下記のような記述が存在した場合[ルール②]では、foo,bar を関数記述として誤判断してしま います。 [リスト 3-5] typedef struct { int foo; int bar; } 2) 置換/警告定義ファイルの対象関数重複 置換/警告の両方を検出する指定を行った場合、置換で該当関数がヒットした場合、警告側の定義 は無視します。 置換、警告、それぞれの定義内で重複が存在した場合は、上位に指定されている内容が有効となり ます。 35
3.8. 定義ファイルフォーマット 本ツールの各種定義ファイルは、下記 5 種類が存在し、2~5 は日本語用と英語用の2種類のファイルが 用意されています。 [表 3-3] No 定義ファイル種別 1 2 3 4 5 ツール動作定義 コードページ定義 関数置換定義 関数警告定義 ラベル置換定義 定義ファイルのコードページ 日本語 OS 左記以外(英語) us-ascii(1252) [共通] shift-jis(932) us-ascii(1252) shift-jis(932) us-ascii(1252) shift-jis(932) us-ascii(1252) shift-jis(932) us-ascii(1252) 各々のフォーマット詳細と、メーカ提供ファイルの内容を以下に記載します。 1) ツール動作定義 [SourceSuffix]セクションでは、Cヘッダファイル、及び、Cソースファイルとして認識する拡張子を 指定します。 個々の拡張子は[*.h]のように、ワイルドカードを含む表記となります。 複数個の拡張子を対象とする場合は[;]で区切り[*.c;*.
2) コードページ定義 コード表記文字列(*1)と、コードページ値(*2)の2項目をカンマ区切りで記述したフォーマットで、 メーカ提供ファイルの内容は以下の通りです。 [リスト 3-7] shift-jis,932 us-ascii,1252 ksc-5601,949 csbig5,950 csgb2312,936 ←日本語[シフトJIS] ←英語 ←韓国語 ←中国語[繁体字] ←中国語[簡体字] CodePage.csv *1…Microsoft 文字セット定義ラベル。本データは表示でのみ利用。 *2…Microsoft WIN32 のコードページ。実際のコードページ指定はこの値を利用。 3) 関数置換定義 対象関数と置換結果の 2 項目をカンマ区切りしたフォーマットで、メーカ提供ファイルの内容は以 下の通りです。 [リスト 3-8] flg_sts,it2_flg_sts clr_flg,it2_clr_flg wai_flg,it2_wai_flg SystemCall.
4) 関数警告定義 対象関数と警告出力メッセージの2項目をカンマ区切りしたフォーマットで、メーカ提供ファイルの 内容は以下の通りです。 [リスト 3-9] cu_open,マルチドロップ/DT500 プロトコルはサポート対象外で FLINK のみ利用可能 cu_setDrive,マルチドロップ/DT500 プロトコルはサポート対象外 cu_fileSendSet,マルチドロップはサポート対象外 cu_fileSend1,マルチドロップはサポート対象外 cu_end,マルチドロップはサポート対象外 cu_readDirjInfo,マルチドロップはサポート対象外 cu_SetCode,DT500 プロトコルはサポート対象外 ht_MLTsend,マルチドロップはサポート対象外 ht_MLTrecv,マルチドロップはサポート対象外 io_detect,マルチドロップ/DT500 プロトコルはサポート対象外 prn_tecinf_open,TEC IrDA プリンタライブラリはサポート対象外 prn_tecinf_close,TEC IrDA プリンタライブラリはサポート対象外 prn_tecinf_send,TEC
[リスト 3-10] CRE_TSK,ITRON ネイティブシステムコール cre_tsk,ITRON ネイティブシステムコール acre_tsk,ITRON ネイティブシステムコール act_tsk,ITRON ネイティブシステムコール : (*3) *3…5 章 5-5 に記載されている関数を全てが列挙されています。 NativeSystemCall.csv 5) ラベル置換定義 対象、置換結果、説明の3項目をカンマ区切りしたフォーマットで、メーカ提供ファイルの内容は以 下の通りです。 [リスト 3-11] COM0,COM9,IrDA を USB に変更 COM0,LAN,IrDA を LAN に変更 FLINK.
4. DT-930 互換関数 4.1.
5. 関数一覧 5.1. カシオ提供SDK マルチドロップ/DT500 プロトコル 通信制御は[マルチドロップ][DT500 プロトコル][FLINK]の 3 つが存在し、それぞれの通信制御で公開関 数名の重複があります。(例えば cu_open は 3 つの通信制御全てに存在するが引数は異なる) 公開関数名の関数実体への置換は BIOS1MAC.
No 関数名 機能概要 - - - - - - - - - cu_fileMove cu_makeDir cu_dateTime cu_getFileInfo cu_setFileInfo cu_getDiskInfo cu_beep cu_getSysInfo cu_setIoboxInfo ファイル移動 ディレクトリ作成 日付時刻の取得/設定 ファイル情報の取得 ファイル情報の設定 ディスク情報の取得 ブザー鳴動 システム情報の取得 I/O BOX の情報設定 マルチ ドロップ DT500 FLINK 無 無 無 無 無 無 無 無 無 無 無 無 無 無 無 無 無 無 ○ ○ ○ ○ ○ ○ ○ ○ ○ マルチ ドロップ DT500 FLINK ○ ○ ○ 無 無 ○ 無 無 無 2) 拡張機能 No 関数名 機能概要 14 15 16 ht_MLTsend ht_MLTrecv io_detect 一括送信(接続/切断実施) 一括受信(接続/切断実施) IO BOX 検出の有効/無効切替え 42
5.2.
5.3.
5.4.
No 36 関数名 setjmp 37 longjmp 38 39 va_start va_arg 40 41 42 43 va_end fclose fopen freopen 44 45 46 47 48 49 50 51 52 53 sprintf sscanf fread fwrite fseek ftell rewind ferror clearerr atof 54 55 56 atoi atol strtod 57 58 59 60 61 62 63 strtol srand calloc free malloc realloc abort 64 exit 機能概要 互換性 補足 現在実行中の関数の実行環境を、指定した記憶域に待 ○ 避 setjmp で退避した関数の実行環境を回復し、setjmp ○ 関数を呼び出した位置に制御を移動 可変個の引数を参照するための初期値を設定 ○ 可変個の引数を持つ関数に対し、現在参照中引数の ○ 次の引数を参照 可変個の引数を持つ関数の引数への参照を終了 ○ ファイルのクローズ ○ ファイルのオープン ○ 現在オープンしているフ
No 65 66 67 68 69 70 71 関数名 bsearch qsort abs div labs ldiv memcpy 72 strcpy 73 strncpy 74 75 76 77 78 79 80 strcat memcmp strcmp strncmp memchr strchr strcspn 81 strpbrk 82 83 strrchr strspn 84 strstr 85 memset 86 87 strerror strlen 機能概要 互換性 補足 二分割検索 ○ ソートの実行 ○ int 型整数の絶対値 ○ int 型整数の除算の商と余り ○ long 型整数の絶対値 ○ long 型整数の除算の商と余り ○ 複写元の記憶域の内容を、指定サイズ分複写先の記憶 ○ 域に複写 複写元の文字列を複写先の記憶域に NULL も含めて複 ○ 写 複写元の文字列を指定文字数分、複写先の記憶域に ○ 複写 文字列の後に文字列を連結 ○ 指定した 2 つの記憶域の比較 ○ 指定した 2 つの文字列の比較 ○ 指定した 2 つの文字列を、指定文字数分ま
5.5. システムコール マニュアル記載 ファイル/メモリ操作 No 1 2 3 4 5 6 関数名 open close read write lseek sbrk 機能概要 ファイルのオープン ファイルのクローズ ファイルのリード ファイルのライト ファイル位置の指定 メモリ領域の割り当て 互換性 補足 ○ ○ ○ ○ ○ ○ ○:互換/△:代替関数に移行/×:代替無 5.6. システムコール マニュアル記載 イベント操作 No 1 2 3 関数名 flg_sts clr_flg wai_flg 機能概要 イベントフラグ状態参照 イベントフラグのクリア イベントフラグのセットを待機 (タイムアウト無) 互換性 △ △ △ 補足 it2_flg_sts に置換 it2_clr_flg に置換 it2_wai_flg に置換 ○:互換/△:代替関数に移行/×:代替無 ※上記 3 関数は「1.
5.7. システムコール マニュアル未記載 DT-930 で採用していた ITRON2.0 と、DT-970 で採用する μITRON4.0 とでは、システムコール仕様変更 (関数名変更、及び、引数変更)により、互換性は維持されていません。 DT-930 アプリケーションの互換性は、マニュアル(デバイス制御ライブラリ リファレンスマニュアル)に記 載範囲(5 章 5-3/5-4)としていますが、マニュアル未記載のシステムコールの一覧情報を記載します。 これらのシステムコールを利用している場合は、ITRON2.0 と μITRON4.0 との互換性を確認して頂く必要 があります。 本一覧は、ITRON2.0 システムコールをベースとして、ITRON2.0→μITRON4.0 で関数名称が変更となっ たシステムコールを追記した形態です。 DT-930 マニュアルにはサポートが明記されていないが、ITRON.H として関数プロトタイプ宣言が記述さ れていたものは[DT-930 ITRON.H]列で○としています。 上記が○となっていて、μITRON4.
No 関数名 機能概要 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 sus_tsk isus_tsk rsm_tsk irsm_tsk slp_tsk tslp_tsk dly_tsk wai_tsk wup_tsk iwup_tsk can_wup frsm_tsk DEF_TEX def_tex ras_tex iras_tex dis_tex ena_tex sns_tex ref_tex CRE_FLG cre_flg acre_flg del_flg set_flg iset_flg twai_flg pol_flg ref_flg CRE_SEM cre_sem acre_sem del_sem sig_sem isig_sem wai_sem twai_sem pol_sem preq_sem ref_sem sem_sts タスクのサスペンド タスクのサスペンド[*1] サスペンドから
No 関数名 機能概要 66 67 68 69 70 71 72 73 CRE_DTQ cre_dtq acre_dtq del_dtq snd_dtq tsnd_dtq psnd_dtq ipsnd_dtq 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 fsnd_dtq ifsnd_dtq rcv_dtq trcv_dtq prcv_dtq ref_dtq CRE_MBX cre_mbx acre_mbx del_mbx snd_mbx isnd_mbx snd_msg isnd_msg rcv_mbx trcv_mbx prcv_mbx rcv_msg prcv_msg ref_mbx mbx_sts CRE_MTX cre_mtx acre_mtx del_mtx loc_mtx tloc_mtx ploc_mtx unl_mtx ref_mtx データキューの生成(静的 API) データキューの生成(ID 指定) データキューの生成(ID 自動割付
No 関数名 機能概要 104 105 106 107 108 109 110 111 112 CRE_MBF cre_mbf acre_mbf del_mbf snd_mbf tsnd_mbf psnd_mbf rcv_mbf trcv_mbf 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 prcv_mbf ref_mbf CRE_POR cre_por acre_por del_por cal_por tcal_por pcal_por acp_por tacp_por pacp_por fwd_por rpl_rdv ref_por ref_rdv DEF_INH def_inh dis_int ena_int ATT_ISR cre_isr acre_isr 136 137 138 139 140 141 142 143 del_isr ref_isr chg_ixx get_ixx chg_ims get_ims ims_sts ret_int
No 関数名 機能概要 144 145 146 147 148 149 CRE_MPF cre_mpf acre_mpf del_mpf get_mpf tget_mpf 150 pget_mpf 151 152 get_blk pget_blk 153 154 155 156 157 158 159 160 161 162 rel_mpf rel_blk ref_mpf mpl_sts CRE_MPL cre_mpl acre_mpl del_mpl get_mpl tget_mpl 163 pget_mpl 164 165 166 167 168 169 170 171 172 173 174 175 176 rel_mpl ref_mpl set_tim get_tim isig_tim sys_clk CRE_CYC cre_cyc acre_cyc del_cyc sta_cyc stp_cyc ref_cyc 固定長メモリプールの生成(静的 API) 固定長メモリプールの生成(ID 指定) 固定長メモリプールの生成(ID 自動付与) 固定長メモリプールの削除 固定長メ
No 関数名 機能概要 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 CRE_ALM cre_alm acre_alm del_alm sta_alm stp_alm ref_alm DEF_OVR def_ovr sta_ovr stp_ovr ref_ovr loc_cup iloc_cpu unl_cpu iunl_cpu sns_loc sns_ctx dis_dsp ena_dsp sns_dsp sns_dpn ref_sys DEF_SVC def_svc cal_svc sys_cal DEF_EXC def_exc ref_cfg ref_ver get_ver ATT_INI アラームハンドラの生成(静的 API) アラームハンドラの生成(ID 指定) アラームハンドラの生成(ID 自動付与) アラームハンドラの削除 アラームハンドラの動作開始 アラームハンドラの動
6. 付録 6.1.
8) カシオ IR インターフェイスの廃止 DT-970 では、カシオ Ir インターフェイスはサポートしていません。DT-970 で IrDA を使用するアプリ ケーションを作成する場合は、IrCOMM プロトコルの IrDA 制御関数(Ir_xxx)を使用してください。 こ の場合、相手先は IrCOMM に対応している機器に変更する必要があります。 IrDA 制御関数については、「デバイス制御ライブラリ リファレンスマニュアル」を参照してください。 9) トリガーキーの検出処理 DT-970 では、OBR 使用時のトリガーキー、L/R キーの動作が DT-930 と異なります。DT-930 では、ト リガーキーを押下したままの状態で OBR_open 関数を実行すると、レーザが発光し読取動作を開始し ます。DT-970 では、トリガーキーを押下したままの状態で OBR_open 関数を実行しても、レーザを発 光しません。読取動作を開始するためには、OBR_open 関数実行後にトリガーキーを押下してくださ い。 また、DT-930 では、L/R キーが OBR キーに登録されていると、OBR_close
カシオ計算機お問い合わせ窓口 製品に関する最新情報 ●製品サポートサイト(カシオペア・ハンディターミナル) http://casio.