diff options
author | Harald Welte <laforge@gnumonks.org> | 2012-03-17 14:08:51 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-03-17 14:08:51 +0100 |
commit | b81c5d46999c4c403c9bbb5c8af8c4a196241f92 (patch) | |
tree | 7764a670333524a2116ad92ff8d9f37c15252685 /src/osmo-bts-sysmo/sysmobts_vty.c | |
parent | fe0c13f8bd58603fbe0c82ace29f8ed6b1b199cb (diff) |
introduce a command that permits setting the clock source via vty
the default source is the OCXO
Diffstat (limited to 'src/osmo-bts-sysmo/sysmobts_vty.c')
-rw-r--r-- | src/osmo-bts-sysmo/sysmobts_vty.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/osmo-bts-sysmo/sysmobts_vty.c b/src/osmo-bts-sysmo/sysmobts_vty.c index 51db434d..e4ecb82b 100644 --- a/src/osmo-bts-sysmo/sysmobts_vty.c +++ b/src/osmo-bts-sysmo/sysmobts_vty.c @@ -127,8 +127,45 @@ DEFUN(cfg_trx_clkcal, cfg_trx_clkcal_cmd, return CMD_SUCCESS; } +DEFUN(cfg_trx_clksrc, cfg_trx_clksrc_cmd, + "clock-source (tcxo|ocxo|ext|gps)", + "Set the clock source value\n" "Clock Source value\n") +{ + struct gsm_bts_trx *trx = vty->index; + struct femtol1_hdl *fl1h = trx_femtol1_hdl(trx); + int rc; + + rc = get_string_value(femtobts_clksrc_names, argv[0]); + if (rc < 0) + return CMD_WARNING; + + fl1h->clk_src = rc; + + return CMD_SUCCESS; +} + /* runtime */ +DEFUN(show_trx_clksrc, show_trx_clksrc_cmd, + "show trx <0-0> clock-source", + SHOW_TRX_STR "Display the clock source for this TRX") +{ + int trx_nr = atoi(argv[0]); + struct gsm_bts_trx *trx = gsm_bts_trx_num(vty_bts, trx_nr); + struct femtol1_hdl *fl1h; + + if (!trx) + return CMD_WARNING; + + fl1h = trx_femtol1_hdl(trx); + + vty_out(vty, "TRX Clock Source: %s%s", + get_value_string(femtobts_clksrc_names, fl1h->clk_src), + VTY_NEWLINE); + + return CMD_SUCCESS; +} + DEFUN(show_dsp_trace_f, show_dsp_trace_f_cmd, "show trx <0-0> dsp-trace-flags", SHOW_TRX_STR "Display the current setting of the DSP trace flags") @@ -265,11 +302,13 @@ int bts_model_vty_init(struct gsm_bts *bts) install_element_ve(&show_dsp_trace_f_cmd); install_element_ve(&show_sys_info_cmd); + install_element_ve(&show_trx_clksrc_cmd); install_element_ve(&dsp_trace_f_cmd); install_element_ve(&no_dsp_trace_f_cmd); install_element(TRX_NODE, &cfg_trx_clkcal_cmd); install_element(TRX_NODE, &cfg_trx_clkcal_def_cmd); + install_element(TRX_NODE, &cfg_trx_clksrc_cmd); return 0; } |