📄 main.bak
字号:
break; } } bool_state=BOOL_STATE_NONE; return; } if(input_state==INPUT_PLAY_START) { if(play_state==PLAY_START) { play_state=PLAY_PAUSE; } else { play_state=PLAY_START; } } if(input_state==INPUT_NORMAL) { input_state=INPUT_MENU; fill_rect(0,0,720,576,'a'-'a',0); title_display(); button_show('e'-'a','l'-'a',focus_index); return; } if(input_state==INPUT_MENU) { switch((focus_index)) { case 0://record sprintf(promt_text,"%s","start record"); promt_sel_index=0; promt_show(1); input_state=INPUT_RECORD_CHECK; bool_state=BOOL_STATE_SELECT; //video_encoder_stop(VIDEO_ONLY); //fclose(fp); break; case 1://capture input_state=INPUT_CAPTURE; break; case 2://play fill_rect(0,0,720,576,'a'-'a',0); input_state=INPUT_PLAY; line_current=0; line_sel=0; u_file_show(); usleep(100); file_osd_display(); break; case 3://config input_state=INPUT_CONFIG; fill_rect(0,0,720,576,'a'-'a',0); //input_state=INPUT_PLAY; line_current=0; line_sel=0; u_file_show(); usleep(100); file_osd_display(); break; } return; } if(input_state==INPUT_PLAY) { sprintf(promt_text,"play:%s",file_name[line_sel]); promt_sel_index=0; promt_show(1); bool_state=BOOL_STATE_SELECT; return; } if(input_state==INPUT_CONFIG) { sprintf(promt_text,"delete:%s",file_name[line_sel]); promt_sel_index=0; promt_show(1); bool_state=BOOL_STATE_SELECT; return; } }void key_no(void){ if(input_state==INPUT_PLAY_START && bool_state==BOOL_STATE_NONE ) { sprintf(promt_text,"%s","stop play"); promt_sel_index=0; promt_show(1); bool_state=BOOL_STATE_SELECT; return; } if(bool_state==BOOL_STATE_SELECT) { bool_state=BOOL_STATE_NONE; promt_show(0); return; } if(input_state==INPUT_MENU) { input_state=INPUT_NORMAL; fill_rect(0,0,720,576,'a'-'a',0); return; } if(input_state==INPUT_PLAY || input_state==INPUT_CONFIG) { input_state=INPUT_MENU; record_state=RECORD_STOP; fill_rect(0,0,720,576,'a'-'a',0); title_display(); button_show('e'-'a','l'-'a',focus_index); return; }#if 0 if(input_state==INPUT_RECORD) { input_state=INPUT_MENU; record_state=RECORD_STOP; video_encoder_stop(VIDEO_ONLY); fclose(fp); fill_rect(0,0,720,576,'a'-'a',0); title_display(); button_show('e'-'a','l'-'a',focus_index); return; }#endif}void key_input_solve(uns8 key_input){ if(input_state==INPUT_RECORD && bool_state ==BOOL_STATE_NONE) { bool_state=BOOL_STATE_SELECT; promt_sel_index=0; promt_show(1); return; } switch(key_input) { case KEY_LEFT_STATE: key_left(); break; case KEY_RIGHT_STATE: key_right(); break; case KEY_UP_STATE: key_up(); break; case KEY_DOWN_STATE: key_down(); break; case KEY_YES_STATE: key_yes(); break; case KEY_NO_STATE: key_no(); break; }}/*time_t t;struct tm *tm_t;unsigned char record_state=0;char filename[20]="/mnt/nfs/"*/void creat_file(void){ //time_t t; //struct tm *tm_t; time(&t); tm_t = localtime(&t); printf("the time is %02d :%02d:%02d \n",tm_t->tm_hour,tm_t->tm_min,tm_t->tm_sec); filename[9] = tm_t->tm_hour/10 + 0x30; filename[10] = tm_t->tm_hour%10 + 0x30; filename[11] = '_'; filename[12] = tm_t->tm_min/10 + 0x30; filename[13] = tm_t->tm_min%10 + 0x30; filename[14] = '_'; filename[15] = tm_t->tm_sec/10 + 0x30; filename[16] = tm_t->tm_sec%10 + 0x30; filename[17] = '\0'; //printf("the time is %02d :%02d:%02d \n",); printf("the file bath is %s\n",filename); if((fp = fopen(filename,"w")) == NULL) { printf("Creat file is fail !!! \n"); return ; } printf("Creat file success !!!\n"); rx_id = RxID(0x05, 0, 0x03, W_FLAG);write_rx_fifo (rx_id); rx_id = 4;write_rx_fifo (rx_id); video_encoder_start(VIDEO_ONLY); return ; }//unsigned char play_state=0;//#define PLAY_STOP 0X0//#define PLAY_START 0X01//#define PLAY_PAUSE 0X02//char file_to_play[200];//unsigned char record_state=0;//#define RECORD_STOP 0X0//#define RECORD_START 0X1void event_solve(void){ if(input_state==INPUT_RECORD) { switch(record_state) { case RECORD_STOP: record_state=RECORD_START; //u_memory(); creat_file(); break; case RECORD_START: //u_memory(); kinescope(); break; } return; } if(input_state==INPUT_PLAY_START) { switch(play_state) { case PLAY_STOP: //file_to_play get_file_length(); printf("file:%s\n",file_to_play); play_state=PLAY_START; break; case PLAY_START: replay(); break; case PLAY_PAUSE: break; } return; }}void u_file_show(void){ FILE *u_file; FILE *l_file; unsigned int line_i; char file_temp[100]; //unsigned char file_name[10][80]; //unsigned int line_count; //system("rm /tmp/u.txt"); //usleep(200); system("ls /mnt/nfs > /tmp/u.txt"); //usleep(200); system("cat /tmp/u.txt |wc -l >/tmp/line.txt"); if((u_file = fopen("/tmp/u.txt","r")) == NULL) { printf("open file %s is fail\n","/tmp/u.txt"); return ; } if((l_file = fopen("/tmp/line.txt","r")) == NULL) { printf("open file %s is fail\n","/tmp/u.txt"); return ; } fscanf(l_file,"%d",&line_count); printf("%d\n",line_count); if(line_current >0) { for(line_i=0; line_i<line_current; line_i++) { fscanf(u_file,"%s",file_temp); } } if(line_count-line_current>10) { for(line_i=0; line_i<10; line_i++) { fscanf(u_file,"%s",file_name[line_i]); } printf("%s\n",file_name[line_i]); }else { for(line_i=line_current;line_i<line_count; line_i++) { fscanf(u_file,"%s",file_name[line_i-line_current]); } printf("%s\n",file_name[line_i]); }}#define FILE_BOX_BACK_COLOR 'd'-'a'#define FILE_BOX_SEL_COLOR 'l'-'a'#define FILE_BOX_LEFT 100#define FILE_BOX_TOP 100#define FILE_BOX_WIDTH 500#define FILE_TEXT_HEIGHT 24#define FILE_BOX_HEIGHT 24*10#define FILE_NUM_LEFT FILE_BOX_LEFT+10#define FILE_TEXT_LEFT FILE_NUM_LEFT+80void file_osd_display(void){ unsigned char f_i; unsigned char num_temp[100]; unsigned char show_count; if(line_count-line_current>10) { show_count=10; } else { show_count=line_count-line_current; } fill_rect(FILE_BOX_LEFT,FILE_BOX_TOP,FILE_BOX_WIDTH,FILE_BOX_HEIGHT,0,0); fill_rect(FILE_BOX_LEFT,FILE_BOX_TOP,FILE_BOX_WIDTH,FILE_BOX_HEIGHT,FILE_BOX_BACK_COLOR,0); for(f_i=0;f_i<show_count;f_i++) { if(f_i==line_sel) { fill_rect(FILE_BOX_LEFT, FILE_BOX_TOP+FILE_TEXT_HEIGHT*(line_sel), FILE_BOX_WIDTH, FILE_TEXT_HEIGHT, FILE_BOX_SEL_COLOR,0); } sprintf(num_temp,"%d",line_current+f_i+1); display_string(FILE_NUM_LEFT, FILE_BOX_TOP+FILE_TEXT_HEIGHT*f_i+4, num_temp,0); //printf("display\n"); //printf("%s ",num_temp); sprintf(num_temp,"%s",file_name[f_i]); display_string(FILE_TEXT_LEFT, FILE_BOX_TOP+FILE_TEXT_HEIGHT*f_i+4, num_temp,0); }}int main(void){ input_state=INPUT_NORMAL; open_mykey(); at2041_open(); set_palette_color(0,0); set_palette(palette_data); live_on_off(0,1); osd_on(); if (!(mux_data = (uns16 *) malloc (MAX_BUF_SIZE2 + enc_txmsg_size*2))) { printf("AT2041 : mux_fifo vmalloc failed...\n"); return; } rx_id = RxID(0x05, 0x00, 0x03, W_FLAG);write_rx_fifo(rx_id); rx_id = 1;write_rx_fifo(rx_id); //video_decoder_start(VIDEO_ONLY); image_produce(50,50,1,'l'-'a','e'-'a'); button_load('e'-'a','h'-'a'); while(1) { key = mykey(); if(key != KEY_NONE_STATE) { key_input_solve(key); } event_solve();#if 0 if(focus_index == 0 && key == 1) { kinescope(); //录像 } if(focus_index == 2 && key == 1) { replay(); //回放 } if(focus_index == 1 && key == 1) { capture(); //抓拍 } if(focus_index == 3) { configure(); //配置 }#endif #if 0 switch(key) { case 1: fill_rect(0,0,720,576,'a'-'a',0); title_display(); button_show('e'-'a','l'-'a',focus_index); //image_produce(50,50,1,'d'-'a','f'-'a'); break; case 5: if(focus_index>0) focus_index--; else focus_index=3; button_show('e'-'a','l'-'a',focus_index); break; case 6: if(focus_index<3) focus_index++; else focus_index=0; button_show('e'-'a','l'-'a',focus_index); break; case 3: printf("button bak:"); c=getchar(); getchar(); printf("button focus:"); b=getchar(); getchar(); printf("font color:"); a=getchar(); getchar(); button_load(b-'a',a-'a'); case 4: break; } #endif } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -