/** * Register a new display based on device tree configuration. * * The frame buffer can be positioned by U-Boot or overriden by the fdt. * You should pass in the U-Boot address here, and check the contents of * struct tegra_lcd_priv to see what was actually chosen. * * @param blob Device tree blob * @param priv Driver's private data * @param default_lcd_base Default address of LCD frame buffer * @return 0 if ok, -1 on error (unsupported bits per pixel) */ static int tegra_display_probe(const void *blob, struct tegra_lcd_priv *priv, void *default_lcd_base) { struct disp_ctl_win window; struct dc_ctlr *dc; priv->frame_buffer = (u32)default_lcd_base; dc = (struct dc_ctlr *)priv->disp; /* * A header file for clock constants was NAKed upstream. * TODO: Put this into the FDT and fdt_lcd struct when we have clock * support there */ clock_start_periph_pll(PERIPH_ID_HOST1X, CLOCK_ID_PERIPH, 144 * 1000000); clock_start_periph_pll(PERIPH_ID_DISP1, CLOCK_ID_CGENERAL, 600 * 1000000); basic_init(&dc->cmd); basic_init_timer(&dc->disp); rgb_enable(&dc->com); if (priv->pixel_clock) update_display_mode(&dc->disp, priv); if (setup_window(&window, priv)) return -1; update_window(dc, &window); return 0; }
void core_init(Core* core, int sourceId, IpcBuffer* logIpc) { // Init the Basic object first basic_init(B(core), sourceId, logIpc); db_init(core, &core->database); db_thread_init(B(core), &core->dbThread); // Start db thread and open the db db_open(core_db(core), EQP_SQLITE_MAIN_DATABASE_PATH, EQP_SQLITE_MAIN_SCHEMA_PATH); db_thread_start(B(core), &core->dbThread); }
/** * Initialize the templ theme * @param hue [0..360] hue value from HSV color space to define the theme's base color * @param font pointer to a font (NULL to use the default) * @return pointer to the initialized theme */ lv_theme_t * lv_theme_templ_init(uint16_t hue, lv_font_t *font) { if(font == NULL) font = LV_FONT_DEFAULT; _hue = hue; _font = font; /*For backward compatibility initialize all theme elements with a default style */ uint16_t i; lv_style_t **style_p = (lv_style_t**) &theme; for(i = 0; i < sizeof(lv_theme_t) / sizeof(lv_style_t*); i++) { *style_p = &def; style_p++; } basic_init(); cont_init(); btn_init(); label_init(); img_init(); line_init(); led_init(); bar_init(); slider_init(); sw_init(); lmeter_init(); gauge_init(); chart_init(); cb_init(); btnm_init(); kb_init(); mbox_init(); page_init(); ta_init(); list_init(); ddlist_init(); roller_init(); tabview_init(); win_init(); return &theme; }
void test_cwrapper() { char* s; basic x, y, z; basic_init(x); basic_init(y); basic_init(z); symbol_set(x, "x"); symbol_set(y, "y"); symbol_set(z, "z"); s = basic_str(x); printf("Symbol : %s\n", s); basic_str_free(s); basic e; basic_init(e); integer_set_ui(e, 123); s = basic_str(e); printf("Integer : %s\n", s); basic_str_free(s); integer_set_ui(e, 456); basic_add(e, e, x); basic_mul(e, e, y); basic_div(e, e, z); s = basic_str(e); printf("Basic : %s\n", s); basic_str_free(s); basic_diff(e, e, z); s = basic_str(e); printf("Basic : %s\n", s); basic_str_free(s); rational_set_ui(e, 100, 47); s = basic_str(e); printf("Rational : %s\n", s); printf("Is_a_Symbol %s: %d\n", s, is_a_Symbol(e)); printf("Is_a_Rational %s: %d\n", s, is_a_Rational(e)); printf("Is_a_Integer %s: %d\n", s, is_a_Integer(e)); integer_set_ui(e, 123); printf("integer_get_ui 123: %lu\n", integer_get_ui(e)); integer_set_si(e, -123); printf("integer_get_si -123: %ld\n", integer_get_si(e)); mpz_t test; mpz_init(test); integer_get_mpz(test, e); printf("integer_get_mpz(e): %ld\n", mpz_get_ui(test)); mpz_clear(test); basic_free(e); basic_free(x); basic_free(y); basic_free(z); basic_str_free(s); }
int main(int argc, char *argv[]) { basic_init(); client::Config &config = g_client_config; const char opts[100] = "hs:P:C:U:l:m:"; const char usagefmt[1000] = "Usage: %s [OPTION]...\n" " -h Show this help\n" " -s [address] Specify server address\n" " -P [share_path] Specify share/ path\n" " -C [cache_path] Specify cache/ path\n" " -U [urho3d_path] Specify Urho3D path\n" " -l [integer] Set maximum log level (0...5)\n" " -m [name] Choose menu extension name\n" ; int c; while((c = c55_getopt(argc, argv, opts)) != -1) { switch(c) { case 'h': printf(usagefmt, argv[0]); return 1; case 's': fprintf(stderr, "INFO: config.server_address: %s\n", c55_optarg); config.server_address = c55_optarg; break; case 'P': fprintf(stderr, "INFO: config.share_path: %s\n", c55_optarg); config.share_path = c55_optarg; break; case 'C': fprintf(stderr, "INFO: config.cache_path: %s\n", c55_optarg); config.cache_path = c55_optarg; break; case 'U': fprintf(stderr, "INFO: config.urho3d_path: %s\n", c55_optarg); config.urho3d_path = c55_optarg; break; case 'l': log_set_max_level(atoi(c55_optarg)); break; case 'm': fprintf(stderr, "INFO: config.menu_extension_name: %s\n", c55_optarg); config.menu_extension_name = c55_optarg; break; default: fprintf(stderr, "ERROR: Invalid command-line argument\n"); fprintf(stderr, usagefmt, argv[0]); return 1; } } config.make_paths_absolute(); if(!config.check_paths()){ return 1; } app::Options app_options; int exit_status = 0; while(exit_status == 0){ magic::Context context; sp_<app::App> app0(app::createApp(&context, app_options)); sp_<client::State> state(client::createState(app0)); app0->set_state(state); if(config.server_address != ""){ if(!state->connect(config.server_address, "20000")) return 1; } else { config.boot_to_menu = true; } exit_status = app0->run(); if(!app0->reboot_requested()) break; app_options = app0->get_current_options(); // Re-creating app:App requires guard to be disabled buildat_guard_enable(false); } log_v(MODULE, "Succesful shutdown"); return exit_status; }