summaryrefslogtreecommitdiffstats
path: root/src/fig/FIG0.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2016-10-02 12:29:20 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2016-10-02 12:29:20 +0200
commitb78139a2fe6ee76bcb85b240733bf803c5430286 (patch)
tree98d992201515574a7911990b5337abd7ef7db818 /src/fig/FIG0.h
parentf198d1a2c799c97fe1e4e92e110cc0782f6f7880 (diff)
downloaddabmux-b78139a2fe6ee76bcb85b240733bf803c5430286.tar.gz
dabmux-b78139a2fe6ee76bcb85b240733bf803c5430286.tar.bz2
dabmux-b78139a2fe6ee76bcb85b240733bf803c5430286.zip
Add some WIP for FIG0/6
Diffstat (limited to 'src/fig/FIG0.h')
-rw-r--r--src/fig/FIG0.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/fig/FIG0.h b/src/fig/FIG0.h
index 5a8a69f..0109219 100644
--- a/src/fig/FIG0.h
+++ b/src/fig/FIG0.h
@@ -29,6 +29,7 @@
#include <map>
#include <set>
#include <vector>
+#include <list>
#include "fig/FIG.h"
@@ -163,6 +164,27 @@ class FIG0_6 : public IFIG
std::list<std::shared_ptr<LinkageSet> >::iterator linkageSetFIG0_6;
};
+// FIG0/6 needs a change indicator, which is a short-form FIG (i.e. without the list)
+// and with C/N 1. Since this has another rate, it's implemented in another class.
+//
+// This is signalled once per second for a period of five seconds
+// (TS 103 176 5.2.4.3).
+class FIG0_6_CEI : public IFIG
+{
+ public:
+ FIG0_6_CEI(FIGRuntimeInformation* rti);
+ virtual FillStatus fill(uint8_t *buf, size_t max_size);
+ virtual FIG_rate repetition_rate(void) { return FIG_rate::B; }
+
+ virtual const int figtype(void) const { return 0; }
+ virtual const int figextension(void) const { return 6; }
+
+ private:
+ FIGRuntimeInformation *m_rti;
+ bool m_initialised;
+ std::list<std::shared_ptr<LinkageSet> >::iterator linkageSetFIG0_6;
+};
+
// FIG type 0/8
// The Extension 8 of FIG type 0 (FIG 0/8) provides information to link
// together the service component description that is valid within the ensemble