menubackend library submenus

ooooohhhhhhh

To my knowledge menubackend only supports character lcds via LiquidCrystal, so i assumed, that your display is a character display. I mean, as far as i know, menubackend will also not work with the Adafruit PCD8455 lib for graphics lcd. So far M2tklib is the only menu lib which supports graphics lcds. However, m2tklib does not support the Adafruit PCD8455 library. The reason is simple: There are a large number of graphics libs out there and I can not write interfaces to all of them. Instead: M2tklib supports U8glib, which supports your PCD8455 display. So, to use m2tklib (again: which is probably the only Arduino menu lib for graphics displays) you probably need to download and use u8glib (Google Code Archive - Long-term storage for Google Code Project Hosting.) instead of the Adafruit PCD8455 library.
Other option is to write the interface for the Adafruit lib, but this is a little bit complicated and poorly documented.

After this, you have to modify setup() and loop() procedures of the examples:

// Arduino setup procedure (called only once)
void setup() {
  // Connect u8glib with m2tklib
  m2_SetU8g(u8g.getU8g(), m2_u8g_box_icon);

  // Assign u8g font to index 0
  m2.setFont(0, u8g_font_7x13);

  // Setup keys
  m2.setPin(M2_KEY_SELECT, uiKeySelectPin);
  m2.setPin(M2_KEY_NEXT, uiKeyDownPin);
}

// Arduino loop procedure
void loop() {
  m2.checkKey();
  if ( m2.handleKey() ) {
    u8g.firstPage();  
    do {
      draw();
    } while( u8g.nextPage() );
  }
}

See also the tutorial here:
http://code.google.com/p/m2tklib/wiki/t02u8g

And the reference page for the u8glib binding for m2tklib:
http://code.google.com/p/m2tklib/wiki/u8gref

And finally, you need to choose a font for your display from here:
http://code.google.com/p/u8glib/wiki/fontsize

well... let me conclude this:

  • you own a graphics display
  • m2tklib supports graphics libs
  • m2tklib does not support the specific Adafruit GFX lib
  • m2tklib supports PCD8455 based displays via u8glib

Oliver