Ejemplo n.º 1
0
void init()
{
	fb = malloc(sizeof(Tframebuffer));
	fb = init_frame_buffer(fb, FB_PATH);
	img_list = malloc(sizeof(Com_box));
	img_list = img_search(JPG_PATH, img_list);
	mp3_list = malloc(sizeof(Mp3_box));
	mp3_list = mp3_search(MP3_PATH, mp3_list);
	init_font();
	weather_getinfo(weather_info, 10);
}
Ejemplo n.º 2
0
/*
 * initialize mainstatus
 */
int maindeal_mainstatus_init(struct mainstatus *status)
{
#if _DEBUG_
	char *debug_p;
	int debug_i;
#endif 
	FILE *config_fp;	/* pointer to config file */
	char *value;		/* value of config file */

	status->mode = DB_VIEW_MODE;
	//FILE *config_open(char *filename);
	if((config_fp = config_open("digitbox.conf", "r")) == NULL){
		fprintf(stderr, "can't open digitbox.conf: %s\n", 
			strerror(errno));
		exit(1);
	}

#if _DEBUG_
	
	//char *config_getvalue_byname(FILE *fp, char *name);
	debug_p = config_getvalue_byname(config_fp, "fb_dev");
	fprintf(stdout, "fb_dev: %s\n", debug_p);

	debug_p = config_getvalue_byname(config_fp, "input_dev");
	fprintf(stdout, "input_dev: %s\n", debug_p);
#endif

	/* initialize framebuffer */
	value = config_getvalue_byname(config_fp, "fb_dev");
	//int fb_open(char *fbname, FB *fbp);
	if(fb_open(value, &status->fb) < 0){
		fprintf(stderr, "init framebuffer failed\n");
		exit(1);
	}
	
	/* initialize screen */
	//int fb_screen_init(FB_SCREEN *screenp, FB *fbp);
	fb_screen_init(&status->screen, &status->fb);

	/* initialize font */
	value = config_getvalue_byname(config_fp, "font_path");
	//int fb_font_open(char *fontname, FB_FONT *ffp);
	fb_font_open(value, &status->font);

	//int fb_font_set_charsize(FB_FONT *ffp, int fontsize);
	fb_font_set_charsize(&status->font, 150);

	/* initialize num */
	status->img_cur_pos = 0;
	status->img_mini_cur_pos = 0;
	status->img_mini_offset = 0;
	status->mp3_cur_pos = -1;
	status->mp3_pid = 0;


	/* initialize weather information */
	fprintf(stdout, "get weather information...\n");
	//int weather_getinfo(unsigned char *weatherinfo, int second);
	weather_getinfo(status->weatherinfo, 3);


	/*
	 * Detect U disk and mount it
	 * Read mp3/image list
	 */

	/* Detect U disk anm mount it */
#if _DEBUG_VIR		    /* should place after actual udisk function */
	
	memset(status->udisk_path, 0, DB_NAME_MAX + 1);
	value = config_getvalue_byname(config_fp, "usb_path_vir");
	//char *strncpy(char *dest, const char *src, size_t n);
	strncpy(status->udisk_path, value, DB_NAME_MAX);

	/* udisk_path first be used for device name */
	//int udisk_detect_vir(char *devname);
	udisk_detect_vir(status->udisk_path);

	//int udisk_mount_vir(char *devname);
	udisk_mount_vir(status->udisk_path);

#endif

#ifndef _DEBUG_VIR

	memset(status->udisk_path, 0, DB_NAME_MAX + 1);

	value = config_getvalue_byname(config_fp, "mountpath");
	strncpy(status->udisk_path, value, DB_NAME_MAX);
	
	//int udisk_detect_vir(char *devname);
	udisk_detect_mount(status->udisk_path);
	
#endif	

	/* Read mp3/image list */
	//int resource_common_list(char *usbpath, char list[][DB_NAME_MAX + 1], 
	//                        char *type);
	if((status->img_list_len = resource_common_list(status->udisk_path, status->img_list, "jpg")) < 0){
		fprintf(stderr, "resource_common_list(jpg) failed\n");
	}

	if((status->mp3_list_len = resource_common_list(status->udisk_path, status->mp3_list, "mp3")) < 0){
		fprintf(stderr, "resource_common_list(jpg) failed\n");
	}

#if _DEBUG_
	fprintf(stdout, "--------------------img list--------------------\n");
	for(debug_i = 0; debug_i < status->img_list_len; debug_i++){
		fprintf(stdout, "%3d: %s\n", debug_i, status->img_list[debug_i]);
	}

	fprintf(stdout, "--------------------mp3 list--------------------\n");
	for(debug_i = 0; debug_i < status->mp3_list_len; debug_i++){
		fprintf(stdout, "%3d: %s\n", debug_i, status->mp3_list[debug_i]);
	}
#endif

	//int maindeal_img_get_minimg(struct mainstatus *status)
	if(maindeal_img_get_minimg(status) < 0){
		fprintf(stderr, "%s: maindeal_img_get_minimg() failed\n",
			__func__);

		return -1;
	}
	
	/* show welcome */
	maindeal_img_view_entry(status);
	status->view_flag = 1;

	//int config_close(FILE *fp);
	config_close(config_fp);

	return 0;
}