X-Git-Url: https://git.rohieb.name/hackover2013-badge-firmware.git/blobdiff_plain/c39bf81f1820600053271e037891e614f67c9646..a2f51628f0de8e88650de20dbc24d90cfa0be60f:/badge/main.c diff --git a/badge/main.c b/badge/main.c index 852cb6b..54371bc 100644 --- a/badge/main.c +++ b/badge/main.c @@ -55,9 +55,11 @@ #include "init.h" #include "ui/display.h" -#include "ui/sprite.h" #include "ui/event.h" #include "ui/font.h" +#include "ui/menu.h" +#include "ui/sprite.h" +#include "ui/vanity.h" #include "util/util.h" #include "jumpnrun/jumpnrun.h" @@ -183,17 +185,26 @@ void rbInit() { #endif -/**************************************************************************/ -/*! - Main program entry point. After reset, normal code execution will - begin here. +void usbmode(void) { + badge_framebuffer fb = { { { 0 } } }; + + badge_framebuffer_render_text(&fb, 23, 30, "USB-Modus"); +/* + badge_framebuffer_render_number(&fb, 23, 50, sizeof(jumpnrun_tile)); + badge_framebuffer_render_number(&fb, 33, 50, sizeof(jumpnrun_item)); + badge_framebuffer_render_number(&fb, 48, 50, sizeof(jumpnrun_enemy)); */ -/**************************************************************************/ + badge_framebuffer_flush(&fb); + usbMSCInit(); + for(;;); +} + +void scrolltest(void) { + badge_browse_textfile("/fahrplan/test.txt"); +} + int main(void) { - // Configure cpu and mandatory peripherals - //systemInit(); - cpuInit(); systickInit(CFG_SYSTICK_DELAY_IN_MS); @@ -205,79 +216,25 @@ int main(void) badge_init(); #endif - /* - nrf_init(); - - for(uint8_t i = 1; ; ++i) { - badge_framebuffer fb = { { { 0 } } }; - - fb.data[2][86] = 0xff; - fb.data[3][87] = nrf_read_reg(R_CONFIG); - fb.data[4][86] = 0xff; - for(uint8_t j = 0; j < i; j += 3) { - fb.data[3][j / 3] = 0xff; - } - - SCB_CLKOUTCLKDIV = i; - badge_framebuffer_flush(&fb); - systickDelay(200); - } - */ - FATFS fs; f_mount(0, &fs); - { - badge_framebuffer fb = { { { 0 } } }; - - fb.data[0][0] = badge_framebuffer_render_text(&fb, 2, 10, "foobar"); - fb.data[0][1] = badge_framebuffer_render_number(&fb, 10, 18, 99); - - badge_framebuffer_flush(&fb); - } - if(badge_input_raw() & BADGE_EVENT_KEY_DOWN) { - usbMSCInit(); - for(;;); + usbmode(); } badge_event_start(); - jumpnrun_play(); - - for(;;) { - if(JUMPNRUN_ERROR == jumpnrun_play_level("smb.lvl")) { - break; - } + if(badge_input_raw() & BADGE_EVENT_KEY_UP) { + scrolltest(); } - uint8_t buttons = 0; - - for(uint8_t i = 0; ; ++i) { - badge_event_t event = badge_event_wait(); - - switch(badge_event_type(event)) { - case BADGE_EVENT_USER_INPUT: { - buttons = badge_event_current_input_state(); - break; - } - case BADGE_EVENT_GAME_TICK: { - badge_sprite const sp = { 4, 4, (uint8_t const *) "\xff\xff" }; - badge_framebuffer fb = { { { 0x80 } } }; - - if(buttons & BADGE_EVENT_KEY_UP) { badge_framebuffer_blt(&fb, 30, 10, &sp, 0); } - if(buttons & BADGE_EVENT_KEY_DOWN) { badge_framebuffer_blt(&fb, 30, 50, &sp, 0); } - if(buttons & BADGE_EVENT_KEY_LEFT) { badge_framebuffer_blt(&fb, 10, 30, &sp, 0); } - if(buttons & BADGE_EVENT_KEY_RIGHT) { badge_framebuffer_blt(&fb, 50, 30, &sp, 0); } - if(buttons & BADGE_EVENT_KEY_CENTER){ badge_framebuffer_blt(&fb, 30, 30, &sp, 0); } - if(buttons & BADGE_EVENT_KEY_BTN_A) { badge_framebuffer_blt(&fb, 70, 10, &sp, 0); } - if(buttons & BADGE_EVENT_KEY_BTN_B) { badge_framebuffer_blt(&fb, 70, 50, &sp, 0); } - - badge_framebuffer_flush(&fb); - break; - } - } + if(badge_input_raw() & BADGE_EVENT_KEY_LEFT) { + badge_vanity_show(); } + jumpnrun_play(); + usbmode(); + return 0; }