= FAQ = [[TOC(depth=1, WhatsEV3RT, Download, DevEnv, SampleProgram, UserManual, EV3RTsAPI, FAQ, Contacts)]] == アプリケーションの開発方法に関する質問 == ==== Q:周期的な処理をするために、EV3_CRE_CYC を使って周期ハンドラを作成しようとしています。どうすれば良いでしょうか? ==== == A:app.cfg ファイルに、EV3_CRE_CYCを使って周期ハンドラを作成します。以下の例に従ってcfgファイルに記述してください。 == {{{ DOMAIN(TDOM_APP) { ... EV3_CRE_CYC(TEST_EV3_CYC1, { TA_STA, 0, test_ev3_cychdr, 500, 0 }); ... } ATT_MOD(app.o) }}} TEST_EV3_CYC1:オブジェクトの名称 TA_STA:属性。TA_STAを指定すると、アプリケーションの起動時に周期処理も開始する。TA_NULLを指定すると、アプリケーションでEV3_sta_cyc(TEST_EV3_CYC1)を呼び出すまで動作しない。 0:周期ハンドラに渡される値(拡張情報) test_ev3_cychdr:周期ハンドラ(周期的に実行される関数)の名前(app.c に同名の関数を定義してください) 500:起動周期(EV3RTの場合、単位はマイクロ秒で指定) 0:起動位相(周期ハンドラの動作開始を指定してから、最初に周期ハンドラが呼ばれるまでの相対時間。属性にTA_STAを指定して、起動位相に0を指定するとシステムが起動して最初のタイムティックが発生した時に動作する) 詳細は、TOPPERS次世代カーネル統合仕様書のCRE_CYCの説明を参照してください。 '''ダイナミックローディング/アプリケーションローダ(apploader)に関する質問''' ==== Q:ダイナミックローディングによりアプリケーションを実行しようとしています。app loader で「Load app from SD card」を選択すると、「Open application folder '/ev3rt/apps' failed.」というエラーが出ます。何が原因でしょうか? ==== A:いくつか原因が考えられます。以下を確認してください。 * SDカードがFATで初期化されているか? * SDカード内に /ev3rt/apps/ ディレクトリが存在しているか? * SDHC対応4GB以上のSDカードを使用しているか? ==== Q:ダイナミックローディングでアプリケーションを実行する場合、 workspace ディレクトリの下に app ファイルが生成されます。異なるアプリケーションを実行する場合にはファイル名が同じになってしまうのですが app ファイルの名称を変更しても良いでしょうか? ==== A:はい、変更して構いません。複数のアプリケーションのファイルをSDカードに保存する場合には、それぞれ名称を自由に変更し、/ev3rt/apps/ の下に保存してください。 == Bluetooth 接続に関する質問 == ==== Q:Bluetooth のデバイス名(PCで検索したときに表示される名称)を変更する方法はありますか? ==== A:hrp2/target/ev3_gcc/ev3.hのBLUETOOTH_LOCAL_NAME というマクロを修正して,もう一度ビルドしてください.例えば, {{{ #define BLUETOOTH_LOCAL_NAME   ("Mindstorms EV3") //!< Name for service discovery ↓ #define BLUETOOTH_LOCAL_NAME   ("TEST EV3") //!< Name for service discovery }}} と修正すると,Bluetoothデバイスを検索した時に,TEST EV3 という名称で表示されるようになります.