mBlock 生成のソースの動作が確認できたので、あらためて Arduino でシンプルな Hello World 書いてみます。
watchXのライブラリで必要なヘッダは oled.h / resources.h / english.h ですね。
#include <english.h> #include <oled.h> #include <resources.h> #include <SPI.h> #include <Wire.h> unsigned char animation_offsetY=0; void setup(){ SPI.begin(); ssd1306_configure(); clearAll(); drawString(0, 0, ((String)"Hello World!").c_str(),smallFont); ssd1306_drawBuffer(0, 0, 128,64, mbuf); } void loop(){ }
これでいけるでしょ!
アレー?出ない…。
Arduino IDEで使っている「watchX_SSD1306」の下のled ライブラリファイルと、mBlock で使ってるライブラリファイルを比較してみます。
mBlock のライブラリは、「Arduino IDEで編集する」でArduino IDE を表示した後、「スケッチ – スケッチのフォルダを表示」で、プロジェクトのフォルダが表示されます。
または、mBlock Extention の zip ファイル「watchX_Blocks_V1.0.zip」の src フォルダの中にも一式入ってます。
比較してみたところ、
byte * → char * の変更がチョコチョコありました。これは影響なさそう。
oled.c の初期化処理のとこで、結構な差が。(左:Arduino ライブラリ、右:mBlock ライブラリ)
初期化のコマンドをいくつか削除して、ピンの状態の設定が追加されてるみたいです。この部分だけ、Arduinoライブラリを mBlock ライブラリに合わせて修正してみます。
出たー!
このさい、 oled.h / oled.c / resources.h / english.h は、mBlock ライブラリのやつを上書きコピーしちゃった方がいいかもしれないですね。