BTS_Tests: indicate TCH mode to the L1 in f_est_dchan()

Otherwise the L1 (trxcon or Calypso PHY) would 'think' that we're
in signalling mode, and would not send us Bad Frame Indications.

Change-Id: I0ade3bd63f604c7f0665124b182a023d50030d0b
Depends: I6f403ed0506b4b1872361d9976d3186bfe514b52
Related: OS#4799
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 9503bec..89d1d2c 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -2099,6 +2099,25 @@
 		f_L1CTL_CRYPTO_REQ(L1CTL, g_pars.chan_nr, alg_id, g_pars.encr.key);
 	}
 
+	/* Send TCH Mode Request to the L1 if needed */
+	if (match(g_pars.chan_mode.spd_ind, (RSL_SPDI_SPEECH, RSL_SPDI_DATA))) {
+		var L1ctlTchMode tch_mode;
+
+		select (g_pars.chan_mode.coding_alg_rate) {
+		case (RSL_CMOD_NO_RESOURCE) { tch_mode := L1CTL_CHAN_MODE_SIGN; }
+		case (RSL_CMOD_SP_GSM1) { tch_mode := L1CTL_CHAN_MODE_SPEECH_V1; }
+		case (RSL_CMOD_SP_GSM2) { tch_mode := L1CTL_CHAN_MODE_SPEECH_V2; }
+		case (RSL_CMOD_SP_GSM3) { tch_mode := L1CTL_CHAN_MODE_SPEECH_V3; }
+		case else {
+			log("RSL channel mode := ", g_pars.chan_mode.coding_alg_rate,
+			    " is not supported by the L1, falling back to signalling");
+			tch_mode := L1CTL_CHAN_MODE_SIGN;
+			}
+		}
+
+		f_L1CTL_TCH_MODE(L1CTL, tch_mode);
+	}
+
 	g_first_meas_res := true;
 }