static BOOL RELAYER_write( int fd, unsigned char *peer_buf, int peer_len) { if (peer_buf == NULL){ ERR("NULL write buffer\n"); return FALSE; } if ((peer_buf[0] != 0x04) && (peer_buf[0] != 0x02) && (peer_buf[0] != 0x03)){ ERR("Invalid packet type 0x%02x to PC\n", peer_buf[0]); return FALSE; } if (write_data_to_pc(fd, peer_buf, peer_len) < 0){ return FALSE; } return TRUE; }
static void *wifi_update_thread_test(void *priv) { struct wifi_factory *wififm = (struct wifi_factory *)priv; struct textview *tv; struct itemview *iv; int i = 0; iv = wififm->iv; char wifi_result[32] = {0}; int curStatus = -1; //disconnect if( FM_WIFI_init(wififm->info, sizeof(wififm->info), &wififm->result) < 0) { LOGE("[WIFI] FM_WIFI_init failed!\n"); sprintf(wififm->info, "%s : %s\n", uistr_info_wifi_status, uistr_info_wifi_init_fail); iv->redraw(iv); sprintf(wifi_result, "%d:%s", wififm->mod->id, result[FTM_TEST_FAIL]); LOGD(TAG "WIFI result:%s", wifi_result); write_data_to_pc(wifi_result, strlen(wifi_result)); return NULL; } while(i++ < 3) { //1. disconnect the connection. wifi_disconnect(); //2. connect to the AP. if(wifi_fm_test() > 0) { LOGD("[WIFI][wifi_update_thread_test] wifi_fm_test failed!\n"); } else { int count =10; iv->redraw(iv); while(count-- >0) { /* if (wififm->exit_thd || wififm->renew) break; */ if(wifi_update_status() < 0) { if(count) usleep(100000); else { memset(wififm->info,0, sizeof(wififm->info)); sprintf(wififm->info, "%s : %s\n", uistr_info_wifi_status, uistr_info_wifi_timeout); } } else { curStatus = 1; //connected //show the message } iv->redraw(iv); } } //3. check the status if(curStatus == 1) { wififm->mod->test_result = FTM_TEST_PASS; LOGD(TAG "while %d connected\n", i); break; } } if(3 == i) { wififm->mod->test_result = FTM_TEST_FAIL; LOGD(TAG "while i == 3\n", i); } FM_WIFI_deinit(); LOGD(TAG "wififm->mod->id:%d; wififm->mod->test_result:%d", wififm->mod->id, wififm->mod->test_result); //if(get_is_ata()) { sprintf(wifi_result, "%d:%s", wififm->mod->id, result[wififm->mod->test_result]); LOGD(TAG "WIFI result:%s", wifi_result); write_data_to_pc(wifi_result, strlen(wifi_result)); } return NULL; }