EV3のセンサを使用可能にするためにヘッダファイル(JissenPBL.h)のダウンロードをダウンロードして所定の場所に置く必要があります。 ※ここで使用しますヘッダファイル(JissenPBL.h)およびEV3 BricxCCプログラムランチャー(run.rbf)は、 九州工業大学 花沢明俊先生が作成されたファイルを使用しております。 ファイル使用にあたり、快く了承していただき感謝いたします。 このヘッダファイルの著作権およびその他の権利は九州工業大学 花沢明俊先生にあります。 ※※※ すべてのNXC命令の動作を確認しておりません。動作しない命令やエラーが発生する可能性があります。その場合、もし良い解決方法、エラーの回避方法がございましたらご連絡いただけますと幸いです。※※※ ・準備1 センサを使用するためのヘッダファイルとEV3 BricxCCプログラムランチャーをダウンロードします。
< ヘッダファイル(JissenPBL.h)、EV3 BricxCCプログラムランチャー(run.rbf) > 九州工業大学 花沢研究室 File Download
JissenPBL.h は、プログラムを作成するフォルダに保存します。
・準備2(ヘッダファイルの変更) ヘッダファイル(~.h)内の宣言の重複を修正したり、パスの追加など数カ所の変更を行います。 (それぞれのファイルの著作権はファイルの制作者にあります) 本書では、lms2012フォルダはBricxCCの中にありますので、JissennPBL.hの中のパスを変更する必要があります。 また、ヘッダファイルの追加を行います。「メモ帳」などのアプリケーションを使用してJissennPBL.hを開きます。 #include の部分に
#include <sys/types.h> //追加 #include <sys/stat.h> //追加 #include <pthread.h> //追加 #include "C:\BricxCC\lms2012\lms2012.h" #include "C:\BricxCC\lms_api\ev3_output.h" #include "C:\BricxCC\lms_api\ev3_command.h" #include "C:\BricxCC\lms_api\ev3_lcd.h" #include "C:\BricxCC\lms_api\ev3_sound.h" //追加 #include "C:\BricxCC\lms_api\ev3_button.h" //追加 #include "C:\BricxCC\lms_api\ev3_constants.h" //追加 #include "C:\BricxCC\lms_api\ev3_timer.h" //追加
を追加します。
次にヘッダファイル間で2重宣言が発生しているため、このままコンパイルすると 通常ではエラーが発生してしまいます(エラーの根本的な解決方法は調査中です)。 少し無理矢理ですが、この2重定義のままオブジェクトファイルの生成を行います。 この状態で一度、コンパイルを行います(コンパイルエラーが表示されます)。
(使用するプログラムは、次ページの"Motor.c"もしくは"Sound.c"どちらでもかまいません。 ~.cファイルと~.prjを作成してコンパイルしてください)
コンパイルエラーが発生しますが、C:\BricxCC\lms_api内にオブジェクトファイル(~.o)が生成されているのを確認します。
次に2重宣言のエラーとwarning表示を消します。C:\BricxCC\lms_api内にある ev3_lcd.h と ev3_constants.h の内容を変更します。 ev3_lcd.h の52、54、55行目をコメント「//」にします。
#define LCD_BUFFER_SIZE (LCD_BYTE_WIDTH * LCD_HEIGHT) → // #define LCD_BUFFER_SIZE (LCD_BYTE_WIDTH * LCD_HEIGHT) typedef byte IMGDATA; //!< Image base type typedef IMGDATA* IP; //!< Instruction pointer type ↓ // typedef byte IMGDATA; //!< Image base type // typedef IMGDATA* IP; //!< Instruction pointer type
ev3_constants.h も同じように52、53、54、330行をコメント「//」にします。
#define LCD_WIDTH 178 /*!< LCD horizontal pixels */ #define LCD_HEIGHT 128 /*!< LCD vertical pixels */ #define TOPLINE_HEIGHT 10 /*!< Top line vertical pixels */ : #define FILENAME_SIZE 120 //!< Max filename size including path, name... ↓ // #define LCD_WIDTH 178 /*!< LCD horizontal pixels */ // #define LCD_HEIGHT 128 /*!< LCD vertical pixels */ // #define TOPLINE_HEIGHT 10 /*!< Top line vertical pixels */ : // #define FILENAME_SIZE 120 //!< Max filename size including path, name...
これで設定は終わりです。次は、モータを回転させてみます。 ← BricxCCのインストールと設定 1 | モータを回転させよう →