diff options
Diffstat (limited to 'src/fig')
-rw-r--r-- | src/fig/FIG0_7.cpp | 13 | ||||
-rw-r--r-- | src/fig/FIG0_7.h | 2 | ||||
-rw-r--r-- | src/fig/FIGCarousel.cpp | 6 |
3 files changed, 11 insertions, 10 deletions
diff --git a/src/fig/FIG0_7.cpp b/src/fig/FIG0_7.cpp index e6df66b..50a12cf 100644 --- a/src/fig/FIG0_7.cpp +++ b/src/fig/FIG0_7.cpp @@ -43,12 +43,21 @@ struct FIGtype0_7 { uint8_t ReconfigCounter_low:8; } PACKED; -//=========== FIG 0/0 =========== +//=========== FIG 0/7 =========== FillStatus FIG0_7::fill(uint8_t *buf, size_t max_size) { FillStatus fs; + auto ensemble = m_rti->ensemble; + + if (ensemble->reconfig_counter < 0) { + // FIG 0/7 is disabled + fs.complete_fig_transmitted = true; + fs.num_bytes_written = 0; + return fs; + } + FIGtype0_7 *fig0_7; fig0_7 = (FIGtype0_7 *)buf; @@ -59,8 +68,6 @@ FillStatus FIG0_7::fill(uint8_t *buf, size_t max_size) fig0_7->PD = 0; fig0_7->Extension = 7; - auto ensemble = m_rti->ensemble; - fig0_7->ServiceCount = ensemble->services.size(); fig0_7->ReconfigCounter_high = (ensemble->reconfig_counter % 1024) / 256; fig0_7->ReconfigCounter_low = (ensemble->reconfig_counter % 1024) % 256; diff --git a/src/fig/FIG0_7.h b/src/fig/FIG0_7.h index 30de3dc..6e99d08 100644 --- a/src/fig/FIG0_7.h +++ b/src/fig/FIG0_7.h @@ -5,7 +5,7 @@ Copyright (C) 2020 Matthias P. Braendli, matthias.braendli@mpb.li - Mathisd Kuntze, mathias@kuntze.email + Mathias Kuntze, mathias@kuntze.email */ /* This file is part of ODR-DabMux. diff --git a/src/fig/FIGCarousel.cpp b/src/fig/FIGCarousel.cpp index d823bc6..c791364 100644 --- a/src/fig/FIGCarousel.cpp +++ b/src/fig/FIGCarousel.cpp @@ -319,16 +319,10 @@ size_t FIGCarousel::carousel( << std::endl; #endif } - else { - throw std::logic_error("Failed to write FIG0/7"); - } if (status0_7.complete_fig_transmitted) { (*fig0_7)->increase_deadline(); } - else { - throw std::logic_error("FIG0/7 did not complete!"); - } } } |