# HG changeset patch # User Mychaela Falconia # Date 1459102837 0 # Node ID e4e3d406d4f34b90904b8439480e122ae33c48a8 # Parent 0894f542a30c72a515c2a2a87d5284db0f806f2b l1_cmplx.c: l1s_ctrl_tch{th,tf,a} reconstructed diff -r 0894f542a30c -r e4e3d406d4f3 chipsetsw/layer1/cfile/l1_cmplx.c --- a/chipsetsw/layer1/cfile/l1_cmplx.c Sun Mar 27 16:54:55 2016 +0000 +++ b/chipsetsw/layer1/cfile/l1_cmplx.c Sun Mar 27 18:20:37 2016 +0000 @@ -4250,13 +4250,13 @@ /*--------------------------------------------*/ /* Program TPU... */ /*--------------------------------------------*/ - lna_off = IL_info_ptr->lna_off; // for TCHTH we use DPAGC algorithm. #if DPAGC_MAX_FLAG agc = Cust_get_agc_from_IL(radio_freq, input_level >> 1, MAX_ID); #else agc = Cust_get_agc_from_IL(radio_freq, input_level >> 1, AV_ID); #endif + lna_off = IL_info_ptr->lna_off; // Store input_level and lna_off fields used for current CTRL in order to be able @@ -4836,13 +4836,13 @@ /* Program TPU... */ /*--------------------------------------------*/ - lna_off = IL_info_ptr->lna_off; // for TCHTF we use DPAGC algorithm. #if DPAGC_MAX_FLAG agc = Cust_get_agc_from_IL(radio_freq, IL_info_ptr->input_level >> 1, MAX_ID); #else agc = Cust_get_agc_from_IL(radio_freq, IL_info_ptr->input_level >> 1, AV_ID); #endif + lna_off = IL_info_ptr->lna_off; // Store input_level and lna_off fields used for current CTRL in order to be able @@ -4968,11 +4968,14 @@ // In ETM test mode, the protocol stack is not active and hence we do not require any FACCH data from L23 // But this change is applicable only when ETM scripts are run with PS-builds. In case of L1-SA, // dll_read_dcch() is called which is just a stub function (It just returns a NULL ptr for L1 SA) + /* FreeCalypso: this logic is not present in TCS211 */ + #if 0 #if TESTMODE #if (OP_L1_STANDALONE == 0) if(!l1_config.TestMode) #endif // (OP_L1_STANDALONE == 0) #endif // TESTMODE + #endif { tx_data = dll_read_dcch(channel_mode); } @@ -5559,13 +5562,13 @@ /*--------------------------------------------*/ /* Program TPU... */ /*--------------------------------------------*/ - lna_off = IL_info_ptr->lna_off; // for TCHA we use DPAGC algorithm. #if DPAGC_MAX_FLAG agc = Cust_get_agc_from_IL(radio_freq, IL_info_ptr->input_level >> 1, MAX_ID); #else agc = Cust_get_agc_from_IL(radio_freq, IL_info_ptr->input_level >> 1, AV_ID); #endif + lna_off = IL_info_ptr->lna_off; @@ -5642,9 +5645,18 @@ // RACH is not allowed on SACCH therefore TX is avoided by setting // the txpwr to NO_TXPWR !!! { +#if 0 /* LoCosto code */ // NOTE: The spec says RACH bursts on SACCH UL is optional. hence it should not be counted // Refer spec 04.08 l1s_ctrl_rach(RAHO,NO_PAR); +#else /* TCS211 reconstruction, code taken from TSM30 */ + // Set TXPWR. + l1ddsp_load_txpwr(NO_TXPWR, radio_freq); + + #if (TRACE_TYPE == 1) || (TRACE_TYPE == 4) + RTTL1_FILL_UL_NB(task, l1a_l1s_com.dedic_set.aset->timing_advance, NO_TXPWR) + #endif +#endif } else // TCH/UL is a normal burst. @@ -5675,6 +5687,9 @@ l1a_l1s_com.adc_cpt = 0; } +#if 1 /* FreeCalypso TCS211 reconstruction */ + } // End of "TCH/UL is a normal burst" +#endif // In any case (normal TX or no TX due to Handover Access process) // the full TCHA task must be controled for TPU and DSP. @@ -5829,7 +5844,9 @@ } } +#if 0 /* FreeCalypso TCS211 reconstruction */ } // End of "TCH/UL is a normal burst" +#endif /*----------------------------------------------*/ /* Common for Dedicated mode: DSP parameters... */ @@ -5904,8 +5921,10 @@ l1a_l1s_com.dedic_set.reset_sacch = FALSE; #endif +#if 0 /* FreeCalypso TCS211 reconstruction */ if(l1a_l1s_com.dedic_set.aset->ho_acc_to_send == 0) { +#endif // Set tpu window identifier for Power meas or FS/SB search. l1s.tpu_win = (3 * BP_SPLIT) + l1_config.params.tx_nb_load_split + l1_config.params.rx_synth_load_split; @@ -5936,8 +5955,10 @@ if (l1_config.TestMode && (l1_config.tmode.rf_params.tmode_continuous != TM_NO_CONTINUOUS)) l1_config.tmode.rf_params.tmode_continuous = TM_CONTINUOUS; #endif + +#if 0 /* FreeCalypso TCS211 reconstruction */ } - +#endif } #if (MOVE_IN_INTERNAL_RAM == 0) // Must be followed by the pragma used to duplicate the funtion in internal RAM