X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Farm.git;a=blobdiff_plain;f=betty%2Fbetty.c;h=d10456e30b8a8290c310b4312b305d4d3dc13bdd;hp=e5923e9855cb05193b28cc455f2669114b86c861;hb=916c8dd1dfa2414ae8b58ab1e3d477b24c553815;hpb=b02acd993d27fd99503d9c9c53e10b19ec1c207c diff --git a/betty/betty.c b/betty/betty.c index e5923e9..d10456e 100644 --- a/betty/betty.c +++ b/betty/betty.c @@ -14,21 +14,47 @@ #define cc1100_init spi1_init(8,SPI_MASTER,8) +void display_string_page(u8 x,u8 p,u8 *s,u8 f,u8 o,u8 sp) { + + while(*(s)) { + if(x==DISPLAY_DIMX) { + p+=1; + x=o; + } + display_font_page(x,p,(u8 *)default_font+(*(s)<<3),f); + x+=sp; + s++; + } +} + +/* + * global variables + */ + +const char announce[]="betty - live from flash at 0x80000000! ;)\r\n"; +const char d1_txt[]="betty"; +const char d2_txt[]="- alphablend -"; + /* * main function */ int main() { - char announce[]="betty - live from flash at 0x80000000! ;)\r\n"; + /* variables */ t_button button; u8 contrast; - int cnt; /* system init */ pll_init(); pin_init(); ext_mem_init(); + + /* memory mapping - dirty! */ + if((void *)announce<(void *)FLASH_BANK0) + mmap_init(MEMTYPE_RAM); + else + mmap_init(MEMTYPE_EXT); /* uart init */ uart0_init(); @@ -47,9 +73,6 @@ int main() { * start it ... */ - /* pause - seems to not work if running from flash! (?) */ - pause(0xffffff); - /* display init */ display_bl_toggle(); display_init(); @@ -58,7 +81,7 @@ int main() { /* pasue again */ /* announce */ - uart0_send_string(announce); + uart0_send_string((char *)announce); while(1) { @@ -66,10 +89,10 @@ int main() { /* button test! */ if(button_get_event(&button)) { - uart0_send_string(announce); + //uart0_send_string(announce); switch(button.key[0]) { case BUTTON_POWER: - display_load_logo(0); + display_logo((u8 *)default_logo); break; case BUTTON_DOWN: if(contrast>0x00) @@ -81,6 +104,45 @@ int main() { 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_rectangle_page(4,2,60,5,DISPLAY_FILL_B,0xff); + break; + case BUTTON_2: + display_rectangle_page(40,5,50,5,DISPLAY_FILL_LG,0x7f); + break; + case BUTTON_3: + break; + case BUTTON_4: + display_font_page(42,18,(u8 *)default_font+(0x34<<3),DISPLAY_FILL_B); + break; + case BUTTON_5: + display_font_page(50,18,(u8 *)default_font+(0x35<<3),DISPLAY_FILL_DG); + break; + case BUTTON_6: + display_font_page(58,18,(u8 *)default_font+(0x36<<3),DISPLAY_FILL_W); + break; + case BUTTON_7: + break; + case BUTTON_8: + break; + case BUTTON_BETTY: + display_string_page(50,13,(u8 *)d1_txt,DISPLAY_FILL_B,0,8); + break; + case BUTTON_EXIT: + display_string_page(10,8,(u8 *)d2_txt,DISPLAY_FILL_B,0,8); + break; default: display_clear_screen(); break;