* \author Andrea Righi <arighi@develer.com>
*/
+#include "hw/hw_rit128x96.h"
+
+#include "cfg/compiler.h"
+#include "cfg/cfg_gfx.h"
+
#include <cpu/irq.h>
+
#include <drv/timer.h>
#include <drv/ser.h>
#include <drv/kbd.h>
#include <drv/lcd_rit128x96.h>
+
#include <gfx/gfx.h>
#include <gfx/font.h>
#include <gfx/text.h>
+
#include <gui/menu.h>
+
#include <icons/logo.h>
+
#include <stdio.h>
-#include "cfg/compiler.h"
-#include "cfg/cfg_gfx.h"
-#include "hw/hw_rit128x96.h"
#define PROC_STACK_SIZE KERN_MINSTACKSIZE * 2
static PROC_DEFINE_STACK(led_stack, PROC_STACK_SIZE);
#endif
-extern Font font_helvB10;
+extern Font font_gohu;
static uint8_t raster[RAST_SIZE(LCD_WIDTH, LCD_HEIGHT)];
static Bitmap lcd_bitmap;
(LCD_HEIGHT - bertos_logo.height) / 2 + h / SPEED_SCALE,
&bertos_logo);
text_xprintf(bm, 7, 0, TEXT_FILL | TEXT_CENTER, "Press SELECT to quit");
- rit128x96_lcd_blitBitmap(bm);
+ rit128x96_blitBitmap(bm);
timer_delay(5);
if (kbd_peek() & KEY_MASK)
break;
gfx_bitmapClear(bm);
gfx_rectDraw(bm, x1, y1, x2, y2);
- rit128x96_lcd_blitBitmap(bm);
+ rit128x96_blitBitmap(bm);
if (kbd_peek() & KEY_MASK)
break;
}
" %lu.%lu usec",
((end - start) * 1000000) / CPU_FREQ,
((end - start) * (100000000 / CPU_FREQ)) % 100);
- rit128x96_lcd_blitBitmap(&lcd_bitmap);
+ rit128x96_blitBitmap(&lcd_bitmap);
timer_delay(5);
if (kbd_peek() & KEY_MASK)
break;
gfx_bitmapClear(bm);
text_xprintf(bm, 0, 0, TEXT_FILL,
"CPU: Cortex-M3 %luMHz", CPU_FREQ / 1000000);
- rit128x96_lcd_blitBitmap(bm);
+ rit128x96_blitBitmap(bm);
text_xprintf(bm, 1, 0, TEXT_FILL, "Board: LM3S1968 EVB");
- rit128x96_lcd_blitBitmap(bm);
+ rit128x96_blitBitmap(bm);
res_process();
}
static void uptime(Bitmap *bm)
{
- extern const Font font_ncenB18;
+ extern const Font font_luBS14;
const Font *old_font;
old_font = bm->font;
/* Set big font */
gfx_bitmapClear(bm);
- gfx_setFont(bm, &font_ncenB18);
+ gfx_setFont(bm, &font_luBS14);
text_xprintf(bm, 0, 0, TEXT_FILL | TEXT_CENTER, "Uptime");
while (1)
{
/* Display uptime (in ticks) */
text_xprintf(&lcd_bitmap, 2, 0, TEXT_FILL | TEXT_CENTER,
"%lu", clock / 1000);
- rit128x96_lcd_blitBitmap(bm);
+ rit128x96_blitBitmap(bm);
timer_delay(5);
if (kbd_peek() & KEY_MASK)
break;
static void NORETURN soft_reset(Bitmap * bm)
{
- extern const Font font_ncenB18;
+ extern const Font font_luBS14;
int i;
/* Set big font */
gfx_bitmapClear(bm);
- gfx_setFont(bm, &font_ncenB18);
+ gfx_setFont(bm, &font_luBS14);
for (i = 5; i; --i)
{
text_xprintf(bm, 2, 0, TEXT_FILL | TEXT_CENTER, "%d", i);
- rit128x96_lcd_blitBitmap(bm);
+ rit128x96_blitBitmap(bm);
timer_delay(1000);
}
text_xprintf(bm, 2, 0, TEXT_FILL | TEXT_CENTER, "REBOOT");
- rit128x96_lcd_blitBitmap(bm);
+ rit128x96_blitBitmap(bm);
timer_delay(1000);
/* Perform a software reset request */
static struct MenuItem main_items[] =
{
- { (const_iptr_t)"LED blinking", 0, (MenuHook)led_test, (iptr_t)&lcd_bitmap },
- { (const_iptr_t)"Bouncing logo", 0, (MenuHook)bouncing_logo, (iptr_t)&lcd_bitmap },
- { (const_iptr_t)"Screen saver demo", 0, (MenuHook)screen_saver, (iptr_t)&lcd_bitmap },
- { (const_iptr_t)"Scheduling test", 0, (MenuHook)context_switch_test, (iptr_t)&lcd_bitmap },
- { (const_iptr_t)"Show uptime", 0, (MenuHook)uptime, (iptr_t)&lcd_bitmap },
- { (const_iptr_t)"Reboot", 0, (MenuHook)soft_reset, (iptr_t)&lcd_bitmap },
- { (const_iptr_t)0, 0, NULL, (iptr_t)0 }
+ { (const_iptr_t)"LED blinking", 0, (MenuHook)led_test, (iptr_t)&lcd_bitmap },
+ { (const_iptr_t)"Bouncing logo", 0, (MenuHook)bouncing_logo, (iptr_t)&lcd_bitmap },
+ { (const_iptr_t)"Screen saver demo", 0, (MenuHook)screen_saver, (iptr_t)&lcd_bitmap },
+ { (const_iptr_t)"Scheduling test", 0, (MenuHook)context_switch_test, (iptr_t)&lcd_bitmap },
+ { (const_iptr_t)"Show uptime", 0, (MenuHook)uptime, (iptr_t)&lcd_bitmap },
+ { (const_iptr_t)"Reboot", 0, (MenuHook)soft_reset, (iptr_t)&lcd_bitmap },
+ { (const_iptr_t)0, 0, NULL, (iptr_t)0, }
};
-static struct Menu main_menu = { main_items, "BeRTOS", MF_STICKY | MF_SAVESEL, &lcd_bitmap, 0 };
+
+static struct Menu main_menu = { main_items, "BeRTOS", MF_STICKY | MF_SAVESEL, &lcd_bitmap, 0, rit128x96_blitBitmap };
int main(void)
{
proc_init();
kputs("Done.\n");
kputs("Init OLED display..");
- rit128x96_lcd_init();
+ rit128x96_init();
gfx_bitmapInit(&lcd_bitmap, raster, LCD_WIDTH, LCD_HEIGHT);
- gfx_setFont(&lcd_bitmap, &font_helvB10);
- rit128x96_lcd_blitBitmap(&lcd_bitmap);
+ gfx_setFont(&lcd_bitmap, &font_gohu);
+ rit128x96_blitBitmap(&lcd_bitmap);
kputs("Done.\n");
kputs("Init Keypad..");
kbd_init();