void epd_enable(void) { char temp = TEMP_USE_DEFAULT; debug("epd_enable\n"); //epdc_power_on(); /* Draw data to display */ //draw_mode0(); /* Enable clock gating (clear to enable) */ REG_CLR(EPDC_BASE, EPDC_CTRL, EPDC_CTRL_CLKGATE); while (REG_RD(EPDC_BASE, EPDC_CTRL) & (EPDC_CTRL_SFTRST | EPDC_CTRL_CLKGATE)) ; REG_WR(EPDC_BASE, EPDC_TEMP, TEMP_USE_DEFAULT); temp = read_temperature(); // temp = do_read_temperature_via_i2c(); temp_set_index(temp); /* Set Waveform Bufferr register to real waveform address */ REG_WR(EPDC_BASE, EPDC_WVADDR, panel_info.epdc_data.waveform_buf_addr); debug("epdc_irq's value %08x\nEPDC_IRQ_CLR's value %08x\n",REG_RD(EPDC_BASE, EPDC_IRQ), REG_RD(EPDC_BASE, EPDC_IRQ_CLR)); debug("EPDC LUT STATUS %08x\n",REG_RD(EPDC_BASE,EPDC_STATUS_LUTS)); draw_splash_screen(); debug("epdc_irq's value %08x\nEPDC_IRQ_CLR's value %08x\n",REG_RD(EPDC_BASE, EPDC_IRQ), REG_RD(EPDC_BASE, EPDC_IRQ_CLR)); debug("EPDC LUT STATUS %08x\n",REG_RD(EPDC_BASE,EPDC_STATUS_LUTS)); }
/* Handle a redraw of necessary items, for instance when a Gtk style change is signaled. */ void table_redraw(void) { ggz_debug(DBG_TABLE, "Redrawing table. "); if (table_ready) { int p; /* Complete (zip) any animation in process */ animation_stop(TRUE); /* I really don't know why these are necessary... */ gtk_widget_grab_focus(dlg_main); table_style = gtk_widget_get_style(table); /* Redraw everything to the buffer */ table_clear_table(FALSE); draw_card_areas(FALSE); table_display_all_hands(FALSE); table_show_cards(FALSE); for (p = 0; p < ggzcards.num_players; p++) table_show_player_box(p, FALSE); /* Then draw the whole buffer to the window */ table_show_table(0, 0, get_table_width(), get_table_height()); /* There has GOT to be a better way to force the redraw! */ gdk_window_hide(table_drawing_area->window); gdk_window_show(table_drawing_area->window); } else { /* not if (table_ready) */ if (table_buf) draw_splash_screen(); } }
void lcd_enable(void) { int i; epdc_power_on(); /* Draw black border around framebuffer*/ memset(lcd_base, 0xFF, panel_info.vl_col * panel_info.vl_row); memset(lcd_base, 0x0, 24 * panel_info.vl_col); for (i = 24; i < (panel_info.vl_row - 24); i++) { memset((u8 *)lcd_base + i * panel_info.vl_col, 0x00, 24); memset((u8 *)lcd_base + i * panel_info.vl_col + panel_info.vl_col - 24, 0x00, 24); } memset((u8 *)lcd_base + panel_info.vl_col * (panel_info.vl_row - 24), 0x00, 24 * panel_info.vl_col); /* Draw data to display */ draw_mode0(); draw_splash_screen(); }