-void uart0_send_buf32(u32 *buf,int len) {
-
- int i;
-
- i=0;
-
- for(i=0;i<len/4;i++) {
- if(!(i%4))
- while(!(UART0_LSR&(1<<6)))
- continue;
- UART0_THR=buf[i]&0xff;
- UART0_THR=(buf[i]>>8)&0xff;
- UART0_THR=(buf[i]>>16)&0xff;
- UART0_THR=(buf[i]>>24)&0xff;
+void __attribute__ ((interrupt("IRQ"))) input_event(void) {
+
+ u8 noret,tries;
+
+ /* button scan */
+ if(button_get_event(&button)) {
+ 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_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;
+ }