Sure.
const unsigned char custom_chars_logo[8*8] = {
0x10, 0x10, 0x10, 0x1F, 0x1F, 0x1F, 0x1F, 0x0F, // bottom left
0x0B, 0x0B, 0x0B, 0x1B, 0x1E, 0x18, 0x18, 0x10, // bottom right
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0E, // top right
0x01, 0x02, 0x08, 0x04, 0x08, 0x00, 0x1F, 0x10, // top left 1/3
0x08, 0x10, 0x08, 0x02, 0x04, 0x02, 0x1F, 0x10, // top left 2/3
0x08, 0x02, 0x01, 0x02, 0x08, 0x10, 0x1F, 0x10, // top left 3/3
0x08, 0x02, 0x01, 0x02, 0x08, 0x10, 0x1F, 0x10,
0x08, 0x02, 0x01, 0x02, 0x08, 0x10, 0x1F, 0x10
};
#define bl 0
#define br 1
#define tr 2
#define tl1 3
#define tl2 4
#define tl3 5
// define the LCD cursor positions (important if you use displays other than
// 2x8)
#define LCD_LINE1_ADDR 0
#define LCD_LINE2_ADDR 40
#define LCD_Line1 MIOS_LCD_CursorSet(LCD_LINE1_ADDR);
#define LCD_Line2 MIOS_LCD_CursorSet(LCD_LINE2_ADDR);
// pointless but oh well :-)
void UI_animatedLogo() {
char* line1 = APP_NAME;
char* line2 = APP_VERSION;
s8 n;
s8 m;
#ifdef QUICK_BOOT
#define DELAY1 0
#define DELAY2 0
#else
#define DELAY1 64
#define DELAY2 255
#endif
MIOS_LCD_Clear();
LCD_Line1;
MIOS_LCD_PrintChar(tl1);
MIOS_LCD_PrintChar(tr);
MIOS_LCD_PrintCString(" kaffe");
LCD_Line2;
MIOS_LCD_PrintChar(bl);
MIOS_LCD_PrintChar(br);
MIOS_LCD_PrintCString(" SEQ");
for (n=0; n<8; n++) {
for (m=0; m<3; m++) {
LCD_Line1;
MIOS_Delay(DELAY2);
MIOS_LCD_PrintChar(tl1+m);
}
}
}
[/code]