X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=betty%2Fbetty.c;h=427d32b57cdae5f118ce289165501ec137606fb2;hb=8d3d33c4904bfbdc95b290c5e5e6e60c92e30d7a;hp=200bd6f473ede0ad27337bc3cd3db045479273e0;hpb=2c6f5744c29fb65d904aa5fe40b5ce541247f900;p=my-code%2Farm.git diff --git a/betty/betty.c b/betty/betty.c index 200bd6f..427d32b 100644 --- a/betty/betty.c +++ b/betty/betty.c @@ -22,11 +22,13 @@ int main() { char announce[]="betty - live from flash at 0x80000000! ;)\r\n"; t_button button; - u32 addr; + u8 contrast; /* system init */ pll_init(); - + pin_init(); + ext_mem_init(); + /* uart init */ uart0_init(); @@ -44,33 +46,68 @@ int main() { * start it ... */ - /* pause - seems to not work if running from flash! (?) */ - pause(0xffffff); - /* display init */ + display_bl_toggle(); display_init(); + contrast=0x38; /* pasue again */ /* announce */ uart0_send_string(announce); - //addr=0x82000000; - //flash_sector_erase(BANK2,0); - //addr=FLASH_BANK2; - DISPLAY_SET_C_ADDR(0); - DISPLAY_SET_PAGE_ADDR(0); - while(1) { - pause(0x0fffff); + pause(0x05ffff); /* button test! */ if(button_get_event(&button)) { uart0_send_string(announce); - if(button.key[0]==BUTTON_POWER) { - DISPLAY_DATA=0xff; - DISPLAY_DATA=0xff; + switch(button.key[0]) { + case BUTTON_POWER: + display_logo((u8 *)default_logo); + break; + case BUTTON_DOWN: + if(contrast>0x00) + contrast-=1; + DISPLAY_SET_CONTRAST(contrast); + break; + case BUTTON_UP: + if(contrast<0x3f) + contrast+=1; + DISPLAY_SET_CONTRAST(contrast); + break; + case BUTTON_A: + display_fill_screen(DISPLAY_FILL_W); + break; + case BUTTON_B: + display_fill_screen(DISPLAY_FILL_LG); + break; + case BUTTON_C: + display_fill_screen(DISPLAY_FILL_DG); + break; + case BUTTON_D: + display_fill_screen(DISPLAY_FILL_B); + break; + case BUTTON_1: + display_draw_rectangle(20,20,40,40, + DISPLAY_FILL_B, + 0xff); + break; + case BUTTON_2: + display_draw_rectangle(50,50,40,40, + DISPLAY_FILL_LG, + 0x7f); + break; + case BUTTON_3: + display_draw_font(70,70, + (u8 *)default_font+(0x33>>3), + DISPLAY_FILL_LG, + 0xff); + break; + default: + display_clear_screen(); + break; } } }