Esempio n. 1
0
int main(int argc, char **argv)
{

	int  env_fd,lcd_fd;
	int ret,count,i;
	pid_t pid;
	pthread_t thid1,thid2,thid_har;;
	
	void	*bmp,*music ;
	int x1,x2,y1,y2,press;

	

	
	printf(" welcome to My Ehome !\n ");
	
	
	pthread_create(&thid1,NULL,musicplay,NULL);
	pthread_create(&thid2,NULL,bmpshow,NULL);

 	
	get_motion();
		
		
 	

	

    //  ÊÍ·Å×ÊÔ´	
    pthread_join(thid1, &music);
	printf(" %s\n",(char*)music); 
	pthread_join(thid2, &bmp);
	printf(" %s\n",(char*)bmp); 
	
	close(env_fd);
	 

	return 0;
}
BootloaderHandleMessageResponse handle_message(const void *message, void *response) {
    switch(tfp_get_fid_from_message(message)) {
    case FID_GET_COORDINATES:
        return get_coordinates(message, response);
    case FID_GET_STATUS:
        return get_status(message, response);
    case FID_GET_ALTITUDE:
        return get_altitude(message, response);
    case FID_GET_MOTION:
        return get_motion(message, response);
    case FID_GET_DATE_TIME:
        return get_date_time(message, response);
    case FID_RESTART:
        return restart(message);
    case FID_SET_COORDINATES_CALLBACK_PERIOD:
        return set_coordinates_callback_period(message);
    case FID_GET_COORDINATES_CALLBACK_PERIOD:
        return get_coordinates_callback_period(message, response);
    case FID_SET_STATUS_CALLBACK_PERIOD:
        return set_status_callback_period(message);
    case FID_GET_STATUS_CALLBACK_PERIOD:
        return get_status_callback_period(message, response);
    case FID_SET_ALTITUDE_CALLBACK_PERIOD:
        return set_altitude_callback_period(message);
    case FID_GET_ALTITUDE_CALLBACK_PERIOD:
        return get_altitude_callback_period(message, response);
    case FID_SET_MOTION_CALLBACK_PERIOD:
        return set_motion_callback_period(message);
    case FID_GET_MOTION_CALLBACK_PERIOD:
        return get_motion_callback_period(message, response);
    case FID_SET_DATE_TIME_CALLBACK_PERIOD:
        return set_date_time_callback_period(message);
    case FID_GET_DATE_TIME_CALLBACK_PERIOD:
        return get_date_time_callback_period(message, response);
    default:
        return HANDLE_MESSAGE_RESPONSE_NOT_SUPPORTED;
    }
}
Esempio n. 3
0
int main(int argc,char **argv)
{
	int ret;
	pthread_t view_id;
	pid_t view_pid=0,audio_pid=0;

       // LCD 初始化
	fb_init();
      // 触摸屏初始化
	ts_init();
       // 显示一张启动logo
	show_jpglogo("./image/welcome.jpg");
	sleep(3);
	// 显示控制主界面菜单
	show_menu();


	ret =  pthread_create(&view_id, NULL,picview_thread, NULL);
	if(ret == -1)
		goto pthread_create_err;



	while(1)
	{
		
		// 等待获取坐标
		pthread_mutex_lock(&mutex);
		printf(" main get lock!\n");
	
		m = get_motion();
		
		printf(" main put lock!\n");
		pthread_mutex_unlock(&mutex);
		usleep(1000);


		switch(m)
		{

			case button1:
				printf("button1 Prev\n");
				if(audio_pid != 0)
					kill(audio_pid,SIGKILL);
				audio_pid = start_audio(BACKWARD);
				//kill(view_pid,SIGUSR1);
				break;
				
			case button2:
				printf("button2 Next\n");
				if(audio_pid != 0)
					kill(audio_pid,SIGKILL);
				audio_pid = start_audio(FORWARD);
				//kill(view_pid,SIGUSR2);				
				break;
				
			case button3:
				printf("button3 Stop\n");
				kill(audio_pid,SIGSTOP);
				//kill(view_pid,SIGSTOP);				
				break;
				
			case button4:
				printf("button4 Continue\n");
				kill(audio_pid,SIGCONT);
				//kill(view_pid,SIGCONT);					
				break;

			case button5:
				printf("button5 Load\n");
				traverse_file_dir("/photo/dir");
				//view_pid = start_picview();
				signal(SIGCHLD,waitp);
				break;
				
		}


	}

	fb_uninit();
	ts_uninit();
	
	return 0;
	
pthread_create_err:
	printf("  pthread_create  err!\n");
	return -1;

}