void mmi_dm_cmd(int argc, char *argv[]) { u8 cn = 0, lock; u32 berA, perA, berB, perB, berC, perC, cnr, ui32Quality, ui32Antlvl; s32 i32RSSI; mtv_signal_quality_info(hDevice, &lock, &cnr, &berA, &perA, &berB, &perB, &berC, &perC, &i32RSSI, &ui32Quality, &ui32Antlvl); print_log("Lock : 0x%x CN : %3d, RSSI : %3d, QT : %d, Ant : %d\n",lock, cnr, i32RSSI, ui32Quality, ui32Antlvl); print_log("BerA : %6d, PerA : %6d, BerB : %6d, PerB : %6d, BerC : %6d, PerC : %6d, \n", berA, perA, berB, perB, berC, perC); }
void sig_thread(void *param) { data_dump_param *data = (data_dump_param*)param; int hDevice = data->dev; int num = data->num; u8 wscn, lock; s32 rssi; u32 berA, perA, berB, perB, berC, perC, qty, ant; sig_start_thread = 1; while(1) { mtv_signal_quality_info(hDevice, &lock, &wscn, &berA, &perA, &berB, &perB, &berC, &perC, &rssi, &qty, &ant); print_log("Lock : 0x%x CN : %3d, RSSI : %3d, QT : %d, Ant : %d\n",lock, wscn, rssi, qty, ant); print_log("BerA : %6d, PerA : %6d, BerB : %6d, PerB : %6d, BerC : %6d, PerC : %6d, \n", berA, perA, berB, perB, berC, perC); msWait(MON_TIME); if(!sig_start_thread) break; } }
void data_dump_thread(void *param) { data_dump_param *data = (data_dump_param*)param; int hDevice = data->dev; int num = data->num; u8 buf[MSC_BUF_SIZE]; int i; int ret; int check_cnt_size=0; int monitor_size=0; int dump_size=0; u32 berA, perA, berB, perB, berC, perC, cnr, ui32Quality, ui32Antlvl; s32 i32RSSI; u8 slock=0; //while(1) { FILE *f; char *f_name[128]; sprintf((void*)f_name,DUMP_PATH"data_dump_%04d.dat", index++); dump_size=0; f = fopen((void*)f_name, "wb"); #ifdef FEATURE_TS_CHECK create_tspacket_anal(); #endif print_log("Start data dump %s , pkt : %d\n", f_name, data->num); mtv_ts_start(hDevice); for(i=0;i<num;i++) { int k; int size; size = mtv_data_read(hDevice, buf, MSC_BUF_SIZE); #ifdef FEATURE_TS_CHECK if(!(size%188)) { put_ts_packet(0, &buf[0], size); dump_size+=size; monitor_size+=size; check_cnt_size+=size; #ifdef FEATURE_OVERRUN_CHECK { u8 over; BBM_READ(hDevice, 0x8001, &over); if(over) { BBM_WRITE(hDevice, 0x8001, over); print_log("TS OVERRUN : %d\n", over); } } #endif if(check_cnt_size>188*320*40) { print_pkt_log(); check_cnt_size=0; } } #endif if(monitor_size>188*320*40) { monitor_size=0; mtv_signal_quality_info(hDevice, &slock, &cnr, &berA, &perA, &berB, &perB, &berC, &perC, &i32RSSI, &ui32Quality, &ui32Antlvl); print_log("Lock : 0x%x CN : %3d, RSSI : %3d, QT : %d, Ant : %d\n",slock, cnr, i32RSSI, ui32Quality, ui32Antlvl); print_log("BerA : %6d, PerA : %6d, BerB : %6d, PerB : %6d, BerC : %6d, PerC : %6d, \n", berA, perA, berB, perB, berC, perC); } if((dump_size<100*1024*1024)&&(size>0)) fwrite(&buf[0], 1, size, f); } mtv_ts_stop(hDevice); fclose(f); print_log("\nEnd msc dump\n"); index %= 10; } }