summaryrefslogtreecommitdiffstats
path: root/src/fig/FIG0_13.cpp
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2017-04-22 05:18:40 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2017-04-22 05:18:40 +0200
commit2009dcd0494a671e2492aa865e690446388c7a5a (patch)
tree76b2da61393d8f4dbacef2d4474fdee5ea42e056 /src/fig/FIG0_13.cpp
parentdd14214e1ad46b9fa323be7e7e13c55c30085a67 (diff)
downloaddabmux-2009dcd0494a671e2492aa865e690446388c7a5a.tar.gz
dabmux-2009dcd0494a671e2492aa865e690446388c7a5a.tar.bz2
dabmux-2009dcd0494a671e2492aa865e690446388c7a5a.zip
Move all FIG structures to cpp files, fix FIG0_21 rfa
Diffstat (limited to 'src/fig/FIG0_13.cpp')
-rw-r--r--src/fig/FIG0_13.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/fig/FIG0_13.cpp b/src/fig/FIG0_13.cpp
index 51704f4..40a0be8 100644
--- a/src/fig/FIG0_13.cpp
+++ b/src/fig/FIG0_13.cpp
@@ -23,11 +23,37 @@
along with ODR-DabMux. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "fig/FIG0structs.h"
#include "fig/FIG0_13.h"
#include "utils.h"
namespace FIC {
+// See EN 300 401, Clause 8.1.20 for the FIG0_13 description
+struct FIG0_13_shortAppInfo {
+ uint16_t SId;
+ uint8_t No:4;
+ uint8_t SCIdS:4;
+} PACKED;
+
+struct FIG0_13_longAppInfo {
+ uint32_t SId;
+ uint8_t No:4;
+ uint8_t SCIdS:4;
+} PACKED;
+
+struct FIG0_13_app {
+ uint8_t typeHigh;
+ uint8_t length:5;
+ uint8_t typeLow:3;
+ void setType(uint16_t type) {
+ typeHigh = type >> 3;
+ typeLow = type & 0x1f;
+ }
+ uint16_t xpad;
+} PACKED;
+
+
FIG0_13::FIG0_13(FIGRuntimeInformation *rti) :
m_rti(rti),
m_initialised(false),