watchX:Arduino で「ワールドさんこんにちは!」

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 ライブラリのやつを上書きコピーしちゃった方がいいかもしれないですね。