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; } }
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; }