From 03ddfb507b24e6398ae60d4ea36a82cf13823efe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96man?= Date: Tue, 7 Jul 2009 20:50:58 +0000 Subject: [PATCH] Display modulation type in DVB mux grid. --- src/dvb/dvb_multiplex.c | 38 ++++++++++++++++++++++++++++++++++++- src/webui/static/app/dvb.js | 8 +++++++- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/src/dvb/dvb_multiplex.c b/src/dvb/dvb_multiplex.c index 61420b3b..142e8b5e 100644 --- a/src/dvb/dvb_multiplex.c +++ b/src/dvb/dvb_multiplex.c @@ -622,6 +622,38 @@ dvb_mux_set_enable(th_dvb_mux_instance_t *tdmi, int enabled) } +/** + * + */ +static void +dvb_mux_modulation(char *buf, size_t size, th_dvb_mux_instance_t *tdmi) +{ + struct dvb_frontend_parameters *f = &tdmi->tdmi_fe_params; + + switch(tdmi->tdmi_adapter->tda_type) { + case FE_OFDM: + snprintf(buf, size, "%s in %s, mode: %s", + val2str(f->u.ofdm.bandwidth, bwtab), + val2str(f->u.ofdm.constellation, qamtab), + val2str(f->u.ofdm.transmission_mode, modetab)); + break; + + case FE_QPSK: + snprintf(buf, size, "%d kBaud", f->u.qpsk.symbol_rate / 1000); + break; + + case FE_QAM: + snprintf(buf, size, "%d kBaud in %s", + f->u.qpsk.symbol_rate / 1000, + val2str(f->u.qam.modulation, qamtab)); + break; + default: + snprintf(buf, size, "Unknown"); + break; + } +} + + /** * */ @@ -636,9 +668,13 @@ dvb_mux_build_msg(th_dvb_mux_instance_t *tdmi) htsmsg_add_str(m, "id", tdmi->tdmi_identifier); htsmsg_add_u32(m, "enabled", tdmi->tdmi_enabled); htsmsg_add_str(m, "network", tdmi->tdmi_network ?: ""); - dvb_mux_nicefreq(buf, sizeof(buf), tdmi); + dvb_mux_nicefreq(buf, sizeof(buf), tdmi); htsmsg_add_str(m, "freq", buf); + + dvb_mux_modulation(buf, sizeof(buf), tdmi); + htsmsg_add_str(m, "mod", buf); + htsmsg_add_str(m, "pol", dvb_polarisation_to_str_long(tdmi->tdmi_polarisation)); diff --git a/src/webui/static/app/dvb.js b/src/webui/static/app/dvb.js index cae0eb36..71d627a7 100644 --- a/src/webui/static/app/dvb.js +++ b/src/webui/static/app/dvb.js @@ -65,6 +65,11 @@ tvheadend.dvb_muxes = function(adapterData, satConfStore) { header: "Frequency", dataIndex: 'freq', width: 50 + }, + { + header: "Modulation", + dataIndex: 'mod', + width: 100 }); if(adapterData.satConf) { @@ -115,7 +120,8 @@ tvheadend.dvb_muxes = function(adapterData, satConfStore) { cm.defaultSortable = true; var rec = Ext.data.Record.create([ - 'id', 'enabled','network', 'freq', 'pol', 'satconf', 'muxid', 'quality' + 'id', 'enabled','network', 'freq', 'pol', 'satconf', + 'muxid', 'quality', 'mod' ]); var store = new Ext.data.JsonStore({