[layer23] Alter simulated-delay via VTY on the fly (active channel)
This commit is contained in:
parent
e326e81728
commit
e97b7c418c
|
@ -192,5 +192,6 @@ int gsm48_rr_rach_conf(struct osmocom_ms *ms, uint32_t fn);
|
|||
extern const char *gsm48_rr_state_names[];
|
||||
int gsm48_rr_start_monitor(struct osmocom_ms *ms);
|
||||
int gsm48_rr_stop_monitor(struct osmocom_ms *ms);
|
||||
int gsm48_rr_alter_delay(struct osmocom_ms *ms);
|
||||
|
||||
#endif /* _GSM48_RR_H */
|
||||
|
|
|
@ -353,6 +353,21 @@ static uint8_t gsm48_rr_check_mode(struct osmocom_ms *ms, uint8_t chan_nr,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* apply new "alter_delay" in dedicated mode */
|
||||
int gsm48_rr_alter_delay(struct osmocom_ms *ms)
|
||||
{
|
||||
struct gsm48_rrlayer *rr = &ms->rrlayer;
|
||||
struct gsm_settings *set = &rr->ms->settings;
|
||||
|
||||
if (rr->state != GSM48_RR_ST_DEDICATED)
|
||||
return -EINVAL;
|
||||
l1ctl_tx_param_req(ms, rr->cd_now.ind_ta - set->alter_delay,
|
||||
(set->alter_tx_power) ? set->alter_tx_power_value
|
||||
: rr->cd_now.ind_tx_power);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* state transition
|
||||
*/
|
||||
|
|
|
@ -1123,6 +1123,7 @@ DEFUN(cfg_ms_sim_delay, cfg_ms_sim_delay_cmd, "simulated-delay <-128-127>",
|
|||
struct osmocom_ms *ms = vty->index;
|
||||
|
||||
ms->settings.alter_delay = atoi(argv[0]);
|
||||
gsm48_rr_alter_delay(ms);
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
@ -1133,6 +1134,7 @@ DEFUN(cfg_ms_no_sim_delay, cfg_ms_no_sim_delay_cmd, "no simulated-delay",
|
|||
struct osmocom_ms *ms = vty->index;
|
||||
|
||||
ms->settings.alter_delay = 0;
|
||||
gsm48_rr_alter_delay(ms);
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue