changeset 61:e4e3d406d4f3

l1_cmplx.c: l1s_ctrl_tch{th,tf,a} reconstructed
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Sun, 27 Mar 2016 18:20:37 +0000
parents 0894f542a30c
children 98b25a73c57a
files chipsetsw/layer1/cfile/l1_cmplx.c
diffstat 1 files changed, 25 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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