comparison chipsetsw/layer1/p_cfile/l1p_cmpl.c @ 303:5408ac162f16

l1p_cmpl.c: l1ps_read_nb_dl() reconstructed
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 02 Oct 2017 07:49:35 +0000
parents cffa1b8dbf2c
children e3db5c73c86d
comparison
equal deleted inserted replaced
302:cffa1b8dbf2c 303:5408ac162f16
2594 // We keep compatibility with (chipset == 0) imply mask with 0xffff. 2594 // We keep compatibility with (chipset == 0) imply mask with 0xffff.
2595 // If only (chipset == 2) is used, mask can be removed. 2595 // If only (chipset == 2) is used, mask can be removed.
2596 if (l1a_l1s_com.dsp_scheduler_mode == GSM_SCHEDULER) 2596 if (l1a_l1s_com.dsp_scheduler_mode == GSM_SCHEDULER)
2597 { 2597 {
2598 toa = l1s_dsp_com.dsp_db_r_ptr->a_serv_demod[D_TOA] & 0xffff; 2598 toa = l1s_dsp_com.dsp_db_r_ptr->a_serv_demod[D_TOA] & 0xffff;
2599 pm = (l1s_dsp_com.dsp_db_r_ptr->a_serv_demod[D_PM] & 0xffff); 2599 pm = (l1s_dsp_com.dsp_db_r_ptr->a_serv_demod[D_PM] & 0xffff) >> 5;
2600 angle = l1s_dsp_com.dsp_db_r_ptr->a_serv_demod[D_ANGLE] & 0xffff; 2600 angle = l1s_dsp_com.dsp_db_r_ptr->a_serv_demod[D_ANGLE] & 0xffff;
2601 snr = l1s_dsp_com.dsp_db_r_ptr->a_serv_demod[D_SNR] & 0xffff; 2601 snr = l1s_dsp_com.dsp_db_r_ptr->a_serv_demod[D_SNR] & 0xffff;
2602 } 2602 }
2603 else 2603 else
2604 { 2604 {
2605 toa = l1ps_dsp_com.pdsp_db_r_ptr->a_burst_toa_gprs[0] & 0xffff; 2605 toa = l1ps_dsp_com.pdsp_db_r_ptr->a_burst_toa_gprs[0] & 0xffff;
2606 pm = (l1ps_dsp_com.pdsp_db_r_ptr->a_burst_pm_gprs[0] & 0xffff); 2606 pm = (l1ps_dsp_com.pdsp_db_r_ptr->a_burst_pm_gprs[0] & 0xffff)>>5;
2607 angle = l1ps_dsp_com.pdsp_db_r_ptr->a_burst_angle_gprs[0] & 0xffff; 2607 angle = l1ps_dsp_com.pdsp_db_r_ptr->a_burst_angle_gprs[0] & 0xffff;
2608 snr = l1ps_dsp_com.pdsp_db_r_ptr->a_burst_snr_gprs[0] & 0xffff; 2608 snr = l1ps_dsp_com.pdsp_db_r_ptr->a_burst_snr_gprs[0] & 0xffff;
2609 } 2609 }
2610 2610
2611 #if (TRACE_TYPE!=0) && (TRACE_TYPE!=5) 2611 #if (TRACE_TYPE!=0) && (TRACE_TYPE!=5)
2612 trace_fct(CST_L1PS_READ_NB_DL, 1); //OMAPS00090550 2612 trace_fct(CST_L1PS_READ_NB_DL, -1);
2613 #endif 2613 #endif
2614 2614
2615 l1_check_pm_error(pm,task); 2615 l1_check_pm_error(pm,task);
2616 pm = pm >> 5;
2617 2616
2618 // Update AGC: Call PAGC algorithm 2617 // Update AGC: Call PAGC algorithm
2619 l1a_l1s_com.Scell_IL_for_rxlev = l1pctl_pagc_read((UWORD8)pm, l1pa_l1ps_com.p_idle_param.radio_freq_dd); 2618 l1a_l1s_com.Scell_IL_for_rxlev = l1pctl_pagc_read((UWORD8)pm, l1pa_l1ps_com.p_idle_param.radio_freq_dd);
2620 2619
2621 #if (FF_L1_FAST_DECODING == 1) 2620 #if (FF_L1_FAST_DECODING == 1)
2654 if(l1s.toa_var.toa_snr_mask == 0) 2653 if(l1s.toa_var.toa_snr_mask == 0)
2655 #else 2654 #else
2656 if(l1s.toa_snr_mask == 0) 2655 if(l1s.toa_snr_mask == 0)
2657 #endif 2656 #endif
2658 { 2657 {
2659 UWORD32 snr_temp;
2660 snr_temp = (l1a_l1s_com.Scell_IL_for_rxlev < IL_FOR_RXLEV_SNR) ? snr: 0;
2661 #if (TOA_ALGO == 2) 2658 #if (TOA_ALGO == 2)
2659 UWORD32 snr_temp;
2660 snr_temp = (l1a_l1s_com.Scell_IL_for_rxlev < IL_FOR_RXLEV_SNR) ? snr: 0;
2662 l1s.toa_var.toa_shift = l1ctl_toa(TOA_RUN, l1a_l1s_com.mode, snr_temp, toa); 2661 l1s.toa_var.toa_shift = l1ctl_toa(TOA_RUN, l1a_l1s_com.mode, snr_temp, toa);
2663 #else 2662 #else
2664 l1s.toa_shift = l1ctl_toa(TOA_RUN, l1a_l1s_com.mode, snr_temp, toa, &l1s.toa_update, &l1s.toa_period_count 2663 /* FreeCalypso TCS211 reconstruction */
2665 #if (FF_L1_FAST_DECODING == 1) 2664 if (l1a_l1s_com.Scell_IL_for_rxlev < IL_FOR_RXLEV_SNR)
2666 ,0 2665 {
2667 #endif 2666 l1s.toa_shift = l1ctl_toa(TOA_RUN, l1a_l1s_com.mode, snr, toa,
2668 ); 2667 &l1s.toa_update,
2668 &l1s.toa_period_count
2669 #if (FF_L1_FAST_DECODING == 1)
2670 ,0
2671 #endif
2672 );
2673 }
2674 else
2675 {
2676 l1s.toa_shift = l1ctl_toa(TOA_RUN, l1a_l1s_com.mode, 0, toa,
2677 &l1s.toa_update,
2678 &l1s.toa_period_count
2679 #if (FF_L1_FAST_DECODING == 1)
2680 ,0
2681 #endif
2682 );
2683 }
2669 #endif 2684 #endif
2670 } 2685 }
2671 #endif 2686 #endif
2672 } 2687 }
2673 } 2688 }