Arduino用のprintf準拠の書式化文字列ライブラリを作ってみた。

Arduinoの開発&デバッグでよく困るのがprintf()がなかったり浮動小数点型など特定のデータ型に対応していないことだったりする。

printf()の完全実装は複雑かつ巨大すぎるので普段使いそうな機能に限定して作成してみたがコンパイル後のバイナリーには浮動小数点ライブラリがリンクされるためATmega32U4で約4K弱ほどになってしまう。もう少し小さくしたいところではあるが...まぁ、こんなもんかな。

組み込み系では数値を文字列に変換する関数が実装されていないことも多いため効率は良くないが標準ライブラリを使わずに変換している。

なお、書式のエラーチェックはしてないので間違った書式を指定してもエラーにはならないことに注意すること。

変換指定は次の形式をとる。([ ]内は省略可能)

%[フラグ][0][最小フィールド幅][.精度][長さ修飾子]変換指定子

【スケッチ】

【ライブラリ】