From 085f717d3f24df8e5e2ef7c37fe0d114559d06c9 Mon Sep 17 00:00:00 2001 From: Data Path Date: Sun, 21 Jun 2015 19:49:13 +0200 Subject: Add FIG 0/14 decoding --- etisnoop.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'etisnoop.cpp') diff --git a/etisnoop.cpp b/etisnoop.cpp index 4097b39..4311a0f 100644 --- a/etisnoop.cpp +++ b/etisnoop.cpp @@ -384,6 +384,14 @@ unsigned char Ensemble_ECC=0, International_Table_Id=0; signed char Ensemble_LTO=0; bool LTO_uniq; +// fig 0/14 FEC Scheme: this 2-bit field shall indicate the Forward Error Correction scheme in use, as follows: +const char *FEC_schemes_str[4] = { + "no FEC scheme applied", + "FEC scheme applied according to ETSI EN 300 401 clause 5.3.5", + "reserved for future definition", + "reserved for future definition" +}; + // fig 0/18 0/19 announcement types (ETSI TS 101 756 V1.6.1 (2014-05) table 14 & 15) const char *announcement_types_str[16] = { "Alarm", @@ -1593,6 +1601,21 @@ void decodeFIG(FIGalyser &figs, } } break; + case 14: // FIG 0/14 FEC sub-channel organization + { // ETSI EN 300 401 6.2.2 + unsigned char i = 1, SubChId, FEC_scheme; + + while (i < figlen) { + // iterate over Sub-channel + SubChId = f[i] >> 2; + FEC_scheme = f[i] & 0x3; + sprintf(desc, "SubChId=0x%X, FEC scheme=%d %s", + SubChId, FEC_scheme, FEC_schemes_str[FEC_scheme]); + printbuf(desc, indent+1, NULL, 0); + i++; + } + } + break; case 18: // FIG 0/18 Announcement support { // ETSI EN 300 401 8.1.6.1 unsigned int key; -- cgit v1.2.3