firmware/layer1: handle CSD related channel modes

Change-Id: Ib73210b273826ded56d42c41ffeb835eef96dd2b
Related: OS#4396
This commit is contained in:
Vadim Yanitskiy 2023-08-31 20:13:46 +07:00
parent a6d0a3e170
commit 069b627abe
2 changed files with 16 additions and 0 deletions

View File

@ -109,6 +109,10 @@ uint8_t l1a_tch_mode_set(uint8_t mode)
switch (mode) {
case GSM48_CMODE_SPEECH_V1:
case GSM48_CMODE_SPEECH_EFR:
case GSM48_CMODE_DATA_14k5:
case GSM48_CMODE_DATA_12k0:
case GSM48_CMODE_DATA_6k0:
case GSM48_CMODE_DATA_3k6:
l1s.tch_mode = mode;
break;
default:

View File

@ -81,6 +81,18 @@ static void tch_get_params(struct gsm_time *time, uint8_t chan_nr,
case GSM48_CMODE_SPEECH_EFR:
*tch_mode = *tch_f_hn ? TCH_EFR_MODE : SIG_ONLY_MODE;
break;
case GSM48_CMODE_DATA_14k5:
*tch_mode = *tch_f_hn ? TCH_144_MODE : SIG_ONLY_MODE;
break;
case GSM48_CMODE_DATA_12k0:
*tch_mode = *tch_f_hn ? TCH_96_MODE : SIG_ONLY_MODE;
break;
case GSM48_CMODE_DATA_6k0:
*tch_mode = *tch_f_hn ? TCH_48F_MODE : TCH_48H_MODE;
break;
case GSM48_CMODE_DATA_3k6:
*tch_mode = *tch_f_hn ? TCH_24F_MODE : TCH_24H_MODE;
break;
default:
*tch_mode = SIG_ONLY_MODE;
}