X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=app%2Fdemo%2Fdemo.c;h=9c2169ccef7e1236b2c464016341906a902468de;hb=6b7a2e7b20bc7fe05a61c17d6d96eb70c67a09c9;hp=f28576ea2677305c2c30bda4c4d149cb6fa83cd2;hpb=f5207bd1f7e86dccc484802550cb1e53bb403c50;p=bertos.git diff --git a/app/demo/demo.c b/app/demo/demo.c index f28576ea..9c2169cc 100644 --- a/app/demo/demo.c +++ b/app/demo/demo.c @@ -26,33 +26,42 @@ * invalidate any other reasons why the executable file might be covered by * the GNU General Public License. * - * Copyright 2006 Develer S.r.l. (http://www.develer.com/) - * + * Copyright 2006, 2008 Develer S.r.l. (http://www.develer.com/) * --> * - * \version $Id: demo.c 18242 2007-10-08 17:35:23Z marco $ - * - * \author Bernardo Innocenti + * \brief Multifunction system test for BeRTOS modules. * - * \brief Windowing system test. + * \version $Id: demo.c 18242 2007-10-08 17:35:23Z marco $ + * \author Bernie Innocenti */ +#include + #include + +#include #include +#include +#include + #include #include #include #include + #include #include #include #include + #include #include -#include /** * Draw a pentacle in the provided bitmap. + * + * This is invoked by the keyboard polling routine, as a poor man's surrogate + * of true task switching. */ void schedule(void) { @@ -217,9 +226,13 @@ void win_demo(Bitmap *bm) void proc_demo(void) { - extern void proc_test(void); -// FIXME: proc_test() cause segmentation fault. - proc_test(); + proc_testRun(); +} + +void timer_demo(void) +{ + timer_testRun(); + timer_testTearDown(); } @@ -272,6 +285,7 @@ static struct MenuItem main_items[] = { (const_iptr_t)"Bounce!", 0, (MenuHook)bouncing_logo,(iptr_t)&lcd_bitmap }, { (const_iptr_t)"Hello World", 0, (MenuHook)hello_world, (iptr_t)&lcd_bitmap }, { (const_iptr_t)"Scheduling", 0, (MenuHook)proc_demo, (iptr_t)&lcd_bitmap }, + { (const_iptr_t)"Timer Test", 0, (MenuHook)timer_demo, (iptr_t)&lcd_bitmap }, { (const_iptr_t)"Menu MX", 0, (MenuHook)menu_handle, (iptr_t)&mx_menu }, { (const_iptr_t)"Display", 0, (MenuHook)menu_handle, (iptr_t)&display_menu }, { (const_iptr_t)"Settings", 0, (MenuHook)menu_handle, (iptr_t)&settings_menu }, @@ -280,17 +294,22 @@ static struct MenuItem main_items[] = static struct Menu main_menu = { main_items, "Main Menu", MF_STICKY, &lcd_bitmap, 0 }; +static cpu_stack_t monitor_stack[CONFIG_KERN_MINSTACKSIZE / sizeof(cpu_stack_t)]; + int main(int argc, char *argv[]) { emul_init(&argc, argv); + irq_init(); timer_init(); buz_init(); kbd_init(); lcd_init(); proc_init(); + monitor_start(sizeof(monitor_stack), monitor_stack); menu_handle(&main_menu); + timer_cleanup(); emul_cleanup(); return 0; }