Arduboyでprintf的なものを

デバッグプリント用にprintf的なものを作成した。

ただし、%fが?と表示されてしまう。何故だろうか。

#include <Arduboy2.h>

Arduboy2 arduboy;

void setup()
{
  arduboy.begin();
  arduboy.setFrameRate(60);
  arduboy.clear();
}

void loop()
{
  if (!arduboy.nextFrame()) return;
  arduboy.clear();

  drawPrint(0, 7, "CPU=%d%%\n", arduboy.cpuLoad());

  arduboy.display();
}

void drawPrint(int x, int y, char* format, ...)
{
  va_list arg;
  char buf[32];

  va_start(arg, format);
  vsnprintf(buf, sizeof(buf), format, arg);
  va_end(arg);

  arduboy.setCursor(x * 8, y * 8);
  arduboy.print(buf);
}