static void show_multi_test_result(void) { int ret = RL_NA; int row = 3; char tmp[128]; char* rl_str; int i,j; menu_info* ptest=multi_test_item; menu_info* pmenu = menu_auto_test; ui_fill_locked(); ui_show_title(MENU_MULTI_TEST); gr_flip(); for(i = 0; i < MULTI_TEST_CNT; i++) { ret = ptest[i].func(); if(ret == RL_PASS) { ui_set_color(CL_GREEN); rl_str = TEXT_PASS; } else { ui_set_color(CL_RED); rl_str = TEXT_FAIL; } memset(tmp, 0, sizeof(tmp)); for(j=0;i<CASE_NUM;j++){ if(ptest[i].num==pmenu[j].num) break; } sprintf(tmp, "%s: %s", (pmenu[j].title+1), rl_str); row = ui_show_text(row, 0, tmp); gr_flip(); } sleep(1); }
int test_gps_start(void) { int ret; pthread_t t1; int row = 2; ui_fill_locked(); ui_show_title(MENU_TEST_GPS); ui_set_color(CL_WHITE); row = ui_show_text(row, 0, TEXT_WAIT_TIPS); gr_flip(); ret = gpsOpen(); if( ret < 0){ LOGD("gps open failed ret = %d",ret); return -1; } gOpenTime=time(NULL); thread_run = 1; pthread_create(&t1, NULL, (void*)processThread_show, NULL); usleep(10*1000); ret = ui_handle_button(TEXT_PASS,NULL,TEXT_FAIL);//, TEXT_GOBACK thread_run = 0; pthread_join(t1,NULL); gpsStop(); sleep(1); gpsClose(); save_result(CASE_TEST_GPS,ret); return ret; }
static int lua_ui_set_color(lua_State *L) { int r, g, b, a; r = lua_tonumber(L, 2); g = lua_tonumber(L, 3); b = lua_tonumber(L, 4); a = lua_tonumber(L, 5); ui_set_color(r, g, b, a); return 0; }
static void gps_show_result(unsigned int result) { char buffer[64]; int row = 4; int i; if(result == 1){ ui_clear_rows(row, 2); memset(buffer, 0, sizeof(buffer)); sprintf(buffer, GPS_TEST_PASS); }else if(result == 0){ ui_clear_rows(row, 2); memset(buffer, 0, sizeof(buffer)); sprintf(buffer, GPS_TEST_FAILED); }else if(result == 2){ ui_clear_rows(row, 2); memset(buffer, 0, sizeof(buffer)); sprintf(buffer, "%s, %ds", GPS_TESTING, sTimeout); }else{ // Must never go to here LOGD("wrong show result"); } ui_set_color(CL_WHITE); row = ui_show_text(row, 0, buffer); memset(buffer, 0, sizeof(buffer)); row++; ui_clear_rows(row, last_sSVNum+1); ui_set_color(CL_WHITE); sprintf(buffer, "GPS NUM: %d",sSVNum); row = ui_show_text(row, 0, buffer); gr_flip(); for(i=0;i<sSVNum;i++){ memset(buffer, 0, sizeof(buffer)); sprintf(buffer, "GPS SNR: %d",sSvSnr[i]); row = ui_show_text(row, 0, buffer); } gr_flip(); }
int test_otg_start(void) { int cur_row=2; int ret; pthread_t t1; ui_fill_locked(); ui_show_title(MENU_TEST_OTG); ui_set_color(CL_WHITE); ui_show_text(cur_row, 0, OTG_TEST_START); gr_flip(); thread_run=1; pthread_create(&t1, NULL, (void*)otg_check_thread, NULL); usleep(10*1000); ret = ui_handle_button(TEXT_PASS, NULL,TEXT_FAIL); thread_run=0; pthread_join(t1, NULL); save_result(CASE_TEST_OTG,ret); return ret; }
int test_key_start(void) { int ret; struct timespec ntime; ntime.tv_sec= time(NULL)+KEY_TIMEOUT; ntime.tv_nsec=0; int menu_count=0; int key = -1; int test_cnt = sizeof(test_key_info) / sizeof(struct test_key); int i = 0; int cur_row = 2; int count = 0; LOGD("mmitest start"); ui_fill_locked(); ui_show_title(MENU_TEST_KEY); ui_set_color(CL_GREEN); cur_row=ui_show_text(cur_row, 0, TEXT_KEY_ILLUSTRATE); for(i = 0; i < test_cnt; i++) { test_key_info[i].done = 0; } for(;;) { cur_row = 4; for(i = 0; i < test_cnt; i++) { if(test_key_info[i].done) { ui_set_color(CL_GREEN); } else { ui_set_color(CL_RED); } cur_row = ui_show_text(cur_row, 0, test_key_info[i].name); } gr_flip(); if((count >= test_cnt)) break; if(key==ETIMEDOUT) break; key = ui_wait_key(&ntime); LOGD("mmitest key = %d",key); for(i = 0; i < test_cnt; i++) { if((test_key_info[i].key == key) &&(test_key_info[i].done == 0)) { test_key_info[i].done = 1; count++; } } LOGD("mmitest count=%d",count); } LOGD("mmitest key over"); if(key==ETIMEDOUT){ ui_set_color(CL_RED); ui_show_text(cur_row+2, 0, TEXT_TEST_FAIL); gr_flip(); sleep(1); ret=RL_FAIL; }else{ ui_set_color(CL_GREEN); ui_show_text(cur_row+2, 0, TEXT_TEST_PASS); gr_flip(); sleep(1); ret=RL_PASS; } save_result(CASE_TEST_KEY,ret); return ret; }
void* otg_check_thread(void) { int fp,fp1,fp2,fp3; int i,cur_row,read_len; int j = 30; unsigned long value=0; char support,flag = 0; char sta_device[12]={0}; char sta_insert[4]={0}; char buffer[64],temp[64]; char *endptr; while(thread_run==1){ cur_row=3; if(access(OTG_FILE_PATH,F_OK)!=-1){ fp=open(OTG_FILE_PATH,O_RDONLY); read(fp,&support,sizeof(char)); close(fp); if(support=='1'){ fp1=open(OTG_INSERT_STATUS, O_RDONLY); read(fp1,&sta_insert,sizeof(sta_insert)); close(fp1); if(NULL!=strstr(sta_insert, "low")){ j = 30; if(0 == flag){ ui_clear_rows(cur_row, 2); ui_set_color(CL_GREEN); cur_row=ui_show_text(cur_row, 0, OTG_INSERT); //gr_flip(); usleep(500*1000); fp2=open(OTG_DEVICE_HOST,O_RDONLY); read(fp2,&sta_device,sizeof(sta_device)); close(fp2); if(NULL!=strstr(sta_device, "Mode = 0x1")){ LOGD("mmitest %s Mode = 0x1",__func__ ); cur_row=ui_show_text(cur_row, 0, OTG_HOST); flag = 1; }else if(NULL != strstr(sta_device, "Mode = 0x0")){ cur_row=ui_show_text(cur_row, 0, OTG_DEVICE); } gr_flip(); i = 10; }else cur_row = cur_row + 2; if(1 == flag){ ui_clear_rows(cur_row, 4); ui_set_color(CL_GREEN); //sleep(3); if (0 == access("/sys/block/sda",F_OK)){ cur_row = ui_show_text(cur_row, 0, TEXT_OTG_UDISK_OK); //gr_flip(); fp3 = open("/sys/block/sda/size",O_RDONLY); read_len = read(fp3,buffer,sizeof(buffer)); if(read_len > 0) value = strtoul(buffer,&endptr,0); close(fp3); LOGD("%s /sys/block/sda/size value = %lu, read_len = %d \n",__FUNCTION__, value, read_len); sprintf(temp, "%s %ld MB", TEXT_OTG_CAPACITY,(value/2/1024)); cur_row = ui_show_text(cur_row, 0, temp); gr_flip(); usbin_state = 0; i = 10; }else{ ui_set_color(CL_RED); if(i){ sprintf(temp, "%s, %ds", TEXT_OTG_UDISK_SCANING, i); ui_show_text(cur_row, 0, temp); gr_flip(); sleep(1); i--; }else{ cur_row = ui_show_text(cur_row, 0, TEXT_OTG_UDISK_NO); gr_flip(); } usbin_state = 1; } } } else if(NULL!=strstr(sta_insert, "hign")){ flag = 0; ui_clear_rows(cur_row, 4); ui_set_color(CL_RED); if(j){ sprintf(temp, "%s, %ds", OTG_DEVICE_INSERT, j); cur_row = ui_show_text(cur_row, 0, OTG_UNSERT); cur_row = ui_show_text(cur_row, 0, temp); gr_flip(); sleep(1); usbin_state = 1; j--; }else{ cur_row = ui_show_text(cur_row, 0, TEXT_OTG_UDISK_NO); gr_flip(); sleep(1); ui_push_result(RL_FAIL); break; } } }else{ ui_set_color(CL_RED); cur_row = ui_show_text(cur_row, 0, OTG_NOT_SUPPORT); gr_flip(); } }else{ ui_set_color(CL_RED); cur_row = ui_show_text(cur_row, 0, OTG_NOT_SUPPORT); gr_flip(); } //sleep(1); } return NULL; }