From 2009dcd0494a671e2492aa865e690446388c7a5a Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Sat, 22 Apr 2017 05:18:40 +0200 Subject: Move all FIG structures to cpp files, fix FIG0_21 rfa --- src/fig/FIG0_3.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/fig/FIG0_3.cpp') diff --git a/src/fig/FIG0_3.cpp b/src/fig/FIG0_3.cpp index 2e84e20..b85c853 100644 --- a/src/fig/FIG0_3.cpp +++ b/src/fig/FIG0_3.cpp @@ -23,11 +23,38 @@ along with ODR-DabMux. If not, see . */ +#include "fig/FIG0structs.h" #include "fig/FIG0_3.h" #include "utils.h" namespace FIC { +/* Warning: When bit SCCA_flag is unset(0), the multiplexer R&S does not send + * the SCCA field. But, in the Factum ETI analyzer, if this field is not there, + * it is an error. + */ +struct FIGtype0_3 { + uint8_t SCId_high; + uint8_t SCCA_flag:1; + uint8_t rfa:3; + uint8_t SCId_low:4; + uint8_t DSCTy:6; + uint8_t rfu:1; + uint8_t DG_flag:1; + uint8_t Packet_address_high:2; + uint8_t SubChId:6; + uint8_t Packet_address_low; + uint16_t SCCA; + void setSCId(uint16_t SCId) { + SCId_high = SCId >> 4; + SCId_low = SCId & 0xf; + } + void setPacketAddress(uint16_t address) { + Packet_address_high = address >> 8; + Packet_address_low = address & 0xff; + } +} PACKED; + FIG0_3::FIG0_3(FIGRuntimeInformation *rti) : m_rti(rti), m_initialised(false) -- cgit v1.2.3