summaryrefslogtreecommitdiffstats
path: root/src/ParserConfigfile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ParserConfigfile.cpp')
-rw-r--r--src/ParserConfigfile.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ParserConfigfile.cpp b/src/ParserConfigfile.cpp
index 2ae6555..1a954d7 100644
--- a/src/ParserConfigfile.cpp
+++ b/src/ParserConfigfile.cpp
@@ -400,6 +400,7 @@ void parse_configfile(string configuration_file,
int figType = hexparse(pt_comp.get("figtype", "-1"));
int packet_address = hexparse(pt_comp.get("address", "-1"));
+ int packet_datagroup = pt_comp.get("datagroup", false);
uint8_t component_type = hexparse(pt_comp.get("type", "0"));
DabComponent* component = new DabComponent(componentuid);
@@ -475,6 +476,16 @@ void parse_configfile(string configuration_file,
component->packet.address = packet_address;
}
+ if (packet_datagroup) {
+ if (! component->isPacketComponent(ensemble->subchannels)) {
+ stringstream ss;
+ ss << "Component with uid " << componentuid <<
+ " is not packet, cannot have datagroup enabled !";
+ throw runtime_error(ss.str());
+ }
+
+ component->packet.datagroup = packet_datagroup;
+ }
ensemble->components.push_back(component);