Пример #1
0
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);


}
Пример #2
0
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;
    }
}
Пример #3
0
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;
    }
}