Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

プロポーショナルなフォントを探してArduino SSD1306Ascii Library を見つけた。

SSD1306用のプロポーショナル・フォントは無いのかなと思い、
Arduino SSD1306 proportional font
で検索したらArduino SSD1306Ascii Libraryを見つけたので試してみる。

環境
Visual Studio 2017 V15.2
Arduino for Visual Studio 1.0
Arduino IDE 1.6/1.9
Arduino NANO/ATmega328P 5V 16MHz

もらって来て、まずは普通にZIPからインストールした、

FontSamplesWire.inoを読み込んで試してみる。
が、ビルド時にヘッダー・ファイルが見つからないというエラーが出るのでDocumentation.htmlを見ると、

You must manually install the SSD1306Ascii library by copying the SSD1306Ascii folder from the download package to the Arduino libraries folder in your sketch folder.

とのこと。
正しくコピーしなおしたらヘッダー・ファイルは見つかったが、今度は容量オーバーで止まる。

フォントのサンプル表示用なので、フォントが目いっぱい含まれているためだ。
フォントを少し削ってやっと実行できた。

やっぱり等幅フォントの安っぽさが無くていい。
少なくともキャラクタLCDを使う気が失せるのは確かだ。

ちなみにESP-WROOM-02ではフォントを削らなくてもそのままビルド出来て書き込めて動く。

ライブラリに含まれるフォントは全部で46個ある。
ESP8266でも全部取り込むとメモリー不足でエラーになる。
メモリー不足なんてPICで幾度か経験しただけなので覚書きしておく。
その場合、PICなら上位チップに変更してしまうし、そもそも最近は贅沢なチップしか使わないのでこのエラーは珍しい。

最初は何が起きたのか分からなかった。
とりあえず、赤線はスケッチのファイル名の部分なので除いて、「section .bss is not within region dram0_0_seg」とかを適当にコピペして検索をかけたらメモリー・オーバーのようだと分かった。
フォントを1つ減らしたら99%の使用量となってギリギリでビルド出来た。

このエントリーをはてなブックマークに追加

Posted under: Arduino系


コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.