t-miyajima blog

直したり、作ったりが好きです。

Pebble Timeプログラム覚書(主にPebble Cloudにて)

※どこまで出来るか分かりませんが、ほぼ自分のための覚書として記載します

1.無印PebbleはAplite(アプライト)、Pebble TimeはBasalt(玄武岩)

項目記載:2015年7月20日

何言ってんだこいつってかんじですが、お菓子の名前でバージョンを区別しているAndroid(Cupcake,Donut,Eclair...)と同じように、Pebbleは石の名前でバージョンを区別しているようです。Aで始まるApliteが最初のバージョン、Basaltは2つ目のバージョンということですね。

プログラム内で、あなたはApliteですか? と尋ねると、YesかNoかで返答がもらえます。

これを利用して、白黒描画か、カラー描画かを分岐させることが可能です。

 

2.Basaltでしか使えないフォントや色を使う場合には、Apliteのことも考慮しないといけない(追記:Settingsより変更可能)

項目記載:2015年7月20日

例えばPebble Cloudで開発する際に、Basaltでしか使えないフォントを使いたいとします。

その場合、とりあえずBasaltでしか動かさないからApliteの場合の処理は記載しなくていいや、という風にはできません。

Apliteを無視すると、コンパイル時にエラーが発生します。

そのため、以下の様なBool値を使って場合分けを必ず書かなければなりません。(以下はPebbleサイトからの引用です)

DefineAvailable
PBL_BW Running on hardware that supports only black and white
PBL_COLOR Running on hardware that supports 64 colors
PBL_PLATFORM_APLITE Running on Pebble/Pebble Steel
PBL_PLATFORM_BASALT Running on Pebble Time/Pebble Time Steel
PBL_SDK_2 Compiling with SDK 2.x
PBL_SDK_3 Compiling with SDK 3.x

 IF PBL_BLATFORM_APLITE THEN 白黒 ELSE カラー みたいな。

≪2015年7月20日 18時42分追記≫

Aplite用にコンパイルするか、Basalt用にコンパイルするかは以下の設定より選択可能でした。例えば『BUILD BASALT』のみにチェックが入っていれば、Apliteのことは考えなくて良いということです。

f:id:dvorak55:20150720184429p:plain

3.日本語フォントを『RESOURCE』にアップロードすると、フォントを使っていなくてもコンパイルに失敗する

よくわからないのですが、RESOURCEに日本語フォントをアップロードすると、たとえそのファイルを使わなくてもWatchFaceのコンパイルに必ず失敗するようになりました。

日本語フォントのファイルサイズにも依るのかもしれませんが、恐らくコンパイルサイズが大きくなりすぎて失敗するのだと思います。

日本語のフリーフォント(M+など)が使えないので、私は以下のサイトからフリーの英字フォントをダウンロードしました。

www.fontsquirrel.com

(随時追記するかも しないかも)