Thursday, October 16, 2025

Detection of drones

hi everyone, i am trying to use gnuradio for drone detection but nothing is working, if anyone can help import numpy as np
from gnuradio import gr
import pmt
from threading import Timer, Lock

class freq_scanner(gr.sync_block):
    def __init__(self, start_freq=2.4e9, stop_freq=2.5e9, step_freq=5e6, dwell_time=0.5):
        gr.sync_block.__init__(self,
            name="Frequency Scanner",
            in_sig=None,
            out_sig=None) # Não precisamos mais da saída de sinal

        self.message_port_register_out(pmt.intern("cmd"))

        self._start_freq = float(start_freq)
        self._stop_freq = float(stop_freq)
        self._step_freq = float(step_freq)
        self._dwell_time = float(dwell_time)
        
        self.current_freq = self._start_freq
        
        # --- A "Caixa de Correio" agora guarda apenas um número (float) ---
        self.freq_to_send = None
        self.lock = Lock()

        # Iniciamos o timer
        self.timer = Timer(self._dwell_time, self.prepare_next_freq)
        self.timer.start()

    def prepare_next_freq(self):
        """Esta função é chamada pelo timer e APENAS CALCULA a frequência."""
        
        next_freq = self.current_freq + self._step_freq
        if next_freq > self._stop_freq:
            next_freq = self._start_freq
        
        self.current_freq = next_freq
        
        print(f"Timer preparou! Próxima Freq: {self.current_freq / 1e6:.2f} MHz", flush=True)
        
        # Coloca APENAS o número float na caixa de correio
        with self.lock:
            self.freq_to_send = self.current_freq

        # Reinicia o timer
        self.timer = Timer(self._dwell_time, self.prepare_next_freq)
        self.timer.start()

    def stop(self):
        self.timer.cancel()
        return True

    def work(self, input_items, output_items):
        """A função work agora faz TODO o trabalho de PMT e publicação."""
        
        local_freq_to_send = None
        # Pega o número da caixa de correio
        with self.lock:
            if self.freq_to_send is not None:
                local_freq_to_send = self.freq_to_send
                self.freq_to_send = None # Esvazia a caixa

        # Se havia um número para enviar...
        if local_freq_to_send is not None:
            # ...Cria o dicionário PMT AQUI, no thread principal...
            msg_dict = pmt.make_dict()
            msg_dict = pmt.dict_add(msg_dict, pmt.intern("freq"), pmt.from_double(local_freq_to_send))
            
            # ...e publica AQUI, no thread principal.
            self.message_port_pub(pmt.intern("cmd"), msg_dict)
        
        return 0  import numpy as np
from gnuradio import gr
import pmt
import scipy.special as scs
from threading import Lock

class Energy_Detector(gr.basic_block):
    def __init__(self, samples=1024, Pfa=0.01):
        self.samples = int(samples)
        self.Pfa = float(Pfa)

        gr.basic_block.__init__(self,
            name="Energy_Detector",
            in_sig=[(np.float32, self.samples), (np.float32, self.samples)],
            out_sig=None)

        self.message_port_register_out(pmt.intern("detection_in"))
        self.message_port_register_in(pmt.intern("freq_in"))
        # CORREÇÃO 1: Nome da função corrigido
        self.set_msg_handler(pmt.intern("freq_in"), self.handle_freq_msg)
        
        self.current_center_freq = 0.0 # Inicializa a frequência
        self.lock = Lock()

    def handle_freq_msg(self, msg):
        if pmt.is_dict(msg):
            freq_val = pmt.dict_ref(msg, pmt.intern("freq"), pmt.PMT_NIL)
            if not pmt.is_nil(freq_val):
                with self.lock:
                    self.current_center_freq = pmt.to_double(freq_val)

    def general_work(self, input_items, output_items):
        signal_energy_vector = input_items[0][0]
        noise_vector = input_items[1][0]

        signalAvg = np.mean(signal_energy_vector)
        
        NoisePower = noise_vector ** 2
        NoiseAvg = np.mean(NoisePower)
        var = np.var(NoisePower)
        stdev = np.sqrt(var)

        Qinv = np.sqrt(2) * scs.erfinv(1 - 2 * self.Pfa)
        Threshold = NoiseAvg + Qinv * stdev

        # CORREÇÃO 3: Lógica de detecção corrigida
        if signalAvg > Threshold:
            local_center_freq = 0.0
            with self.lock:
                local_center_freq = self.current_center_freq
            
            # Só envia a mensagem se a frequência for válida (maior que zero)
            if local_center_freq > 0:
                msg_tuple = pmt.make_tuple(
                    pmt.from_float(float(signalAvg)),
                    pmt.from_float(1.0),
                    pmt.from_double(local_center_freq)
                )
                self.message_port_pub(pmt.intern("detection_in"), msg_tuple)

        # CORREÇÃO 2: Consumo explícito das portas
        self.consume(0, 1)
        self.consume(1, 1)
        return 0     freq_hz = pmt.to_double(pmt.tuple_ref(msg, 2))
                freq_mhz = freq_hz / 1e6

                # Imprime o alerta formatado no terminal
                print("="*40)
                print("!!! ALERTA: SINAL DE DRONE DETECTADO !!!")
                print(f"    Frequência: {freq_mhz:.2f} MHz")
                print(f"    Energia do Sinal: {energy:.4f}")
                print("="*40, flush=True) # flush=True para garantir a impressão imediata

        except Exception as e:
            print(f"Alert Formatter - Erro ao processar mensagem: {e}")
            print(f"Mensagem recebida: {msg}")

    def work(self, input_items, output_items):
        # Este bloco não processa sinais de streaming, apenas mensagens.
        # Portanto, a função work não faz nada.
        return 0   

Thursday, October 9, 2025

Adding Signalhound sink/source oot module to gr core

Hello,

 

I’m a software engineer for signalhound. We are a big fan of gr over here. We already have a signalhound out of tree module on github for customers of SH to access. I was wondering it it would be possible to get our module added to the gr core and if so what that process would look like?

 

Thank you,

Nathan Snyder | Software Engineer

Signal Hound, Inc.

1502 SE Commerce Ave, Suite 101

Battle Ground, WA 98604

(360) 787-2144

nathan@signalhound.com

www.signalhound.com

 

Thursday, September 25, 2025

Capture the Flag @ Ingeniería deMuestra

Hi everyone,

Just like last year (and since 2020), we're organizing a little CTF very much like GRCon's during an exposition event at our University (https://idm.uy/). Since it is completely online, we encourage people from all over to join and play. The only caveat is that it is in Spanish, but many English-speaking people have played it in the past. 

If you're interested, you may read all the details at our webpage https://ctf.idm.uy/ (or directly at https://eva.fing.edu.uy/course/view.php?id=1557&section=1#tabs-tree-start). You may register with a group of up to three people by sending us a mail to ctf@fing.edu.uy.

The deadline to register is next Thursday, and the CTF begins next Friday!

best
Federico

Monday, September 15, 2025

[GR-UHD] Announcing GNURadio 3 binary installers with UHD 4.9

Hi All,
 
Together with the latest UHD 4.9 release new GNURadio 3 binary installers with UHD 4.9 support are now available for Ubuntu and Windows.
 
Ubuntu Noble (24.04), Plucky (25.04):
- GNURadio 3.10.12
 
Windows 10/11:
Note:   The Windows installer bundle uses cmake changes not yet available in gnuradio main and has received limited testing outside of using grc with gr-uhd required features. Please refer to https://files.ettus.com/binaries/gnuradio/latest_stable/gnuradio_installer_README.txt for other known limitations.
 
Thanks,
Marian Koop
 
 

Friday, September 12, 2025

Re: Simple BPSK Constellation?

Ralph,

It's because the Constellation Modulator includes a root-raised cosine filter. If you just want bare constellation points, you can use the Chunks to Symbols block.

Ron

On 9/12/25 03:29, Ralph Ewig wrote:

Hi Everyone,

I've been trying to make a simple DBPSK transmitter for a random data (bit) source in GRC. My flowgraph just uses:

                        Constellation Object
Random Uniform Source > Constellation Modulator > Throttle > QT GUI Sink

However, in the constellation plot I see clusters around -1,1 and a point at 0,0 instead of the expected tight grouping just around -1,1. I've confirmed the source produces a stream of 0,1 (bytes) so there should be no errand points being mapped to 0 etc. Can someone point me in the right direction?

Thanks,
Ralph

Simple BPSK Constellation?

Hi Everyone,

I've been trying to make a simple DBPSK transmitter for a random data (bit) source in GRC. My flowgraph just uses:

                        Constellation Object
Random Uniform Source > Constellation Modulator > Throttle > QT GUI Sink

However, in the constellation plot I see clusters around -1,1 and a point at 0,0 instead of the expected tight grouping just around -1,1. I've confirmed the source produces a stream of 0,1 (bytes) so there should be no errand points being mapped to 0 etc. Can someone point me in the right direction?

Thanks,
Ralph

Wednesday, September 10, 2025

Re: binding errors in Ubuntu 24

Federico and all,

I've found a better solution for this issue (a little late, but better than never). If you use the latest version of castxml, the massive error problem is solved. Here's the steps:

1) Download the latest pre-built version of castxml at:

https://github.com/CastXML/CastXMLSuperbuild/releases

For Ubuntu 24.04, I used:

https://github.com/CastXML/CastXMLSuperbuild/releases/download/v2025.09.03/castxml-ubuntu-24.04-x86_64.tar.gz

2) Install the tar.gz file into any directory.

3) Set a path to the newly installed castxml binary. For example, I installed into /media/re/nvme/castxml:

export PATH=/media/re/nvme/castxml/bin:$PATH

gr_modtool bind now works good.

Ron

On 1/30/25 14:12, Federico 'Larroca' La Rocca wrote:
Hi, 
Thanks (publicly) to Ron for his solution, it worked like a charm. For anyone finding a similar problem, I've used a Docker with a 22.04 Ubuntu (you may use mine at https://github.com/git-artes/docker-gnuradio/, although there are several other out there), migrated the OOT through the required gr_modtool bind, and it also worked perfectly in my "native" 24.04. 
best
Fede

El mié, 29 ene 2025 a las 20:47, Ron Economos (<w6rz@comcast.net>) escribió:
I just tried gr_modtool bind on Ubuntu 24.04, and I'm getting the same
results (huge error dump).

For the last OOT I updated to 3.10, I just went back to Ubuntu 20.04 and
gcc 9.4.0. Then I checked that it builds okay on Ubuntu 24.04.

I've pasted my Ubuntu 24.04 gr_modtool bind error dump onto the end of
this e-mail.

Ron

On 1/29/25 14:44, Federico 'Larroca' La Rocca wrote:
> Hi,
>
> I'm trying to port our gr-isdbt OOT so that it works as
> "out-of-the-box" as possible in Ubuntu 24.04 (it's used in our course,
> so I would like the student's life to be as simple as possible).
>
> I've had some problems regarding binding, so I've decided to add a
> single block into a freshly created OOT, and I get the following error:
>   Python bindings for ofdm_synchronization.h are out of sync
> which makes sense since I've changed that file in the include
> directory. However, when running gr_modtool bind ofdm_synchronization
> I get several errors that end with
>   fatal error: too many errors emitted, stopping now [-ferror-limit=]
>   20 errors generated.
>   Error occurred while running CASTXML xml file does not exist
>
> I've seen that this has been reported
> (https://github.com/gnuradio/gnuradio/issues/6477) and that there's
> even a PR that has been merged into the main code
> (https://github.com/gnuradio/gnuradio/pull/7408).
>
> My question is then: what do you think would be the simplest way to
> avoid this problem?
>
> thanks!
gr_modtool bind alpbbheader_bb
GNU Radio module name identified: atsc3
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:14:
In file included from /usr/include/c++/14/memory:63:
In file included from /usr/include/c++/14/bits/memoryfwd.h:48:
/usr/include/x86_64-linux-gnu/c++/14/bits/c++config.h:827:25: error:
       invalid suffix 'bf16' on floating constant
   827 |   typedef __decltype(0.0bf16) __bfloat16_t;
       |                         ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: invalid suffix
       'F32' on floating constant
  1989 | __glibcxx_float_n(32)
       | ^
/usr/include/c++/14/limits:1909:16: note: expanded from
       macro '__glibcxx_float_n'
  1909 |       { return __glibcxx_concat3 (__FLT, BITSIZE, _MIN__);
}            \
       |                ^
/usr/include/c++/14/limits:1894:34: note: expanded from
       macro '__glibcxx_concat3'
  1894 | #define __glibcxx_concat3(P,M,S) __glibcxx_concat3_ (P,M,S)
       |                                  ^
/usr/include/c++/14/limits:1893:35: note: expanded from
       macro '__glibcxx_concat3_'
  1893 | #define __glibcxx_concat3_(P,M,S) P ## M ## S
       |                                   ^
<scratch space>:232:1: note: expanded from here
   232 | __FLT32_MIN__
       | ^
<built-in>:217:64: note: expanded from macro
       '__FLT32_MIN__'
   217 | #define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
|                                                                ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: no return
       statement in constexpr function
/usr/include/c++/14/limits:1908:7: note: expanded from
       macro '__glibcxx_float_n'
  1908 |       min()
_GLIBCXX_USE_NOEXCEPT                                       \
       |       ^
/usr/include/c++/14/limits:1989:1: error: invalid suffix
       'F32' on floating constant
/usr/include/c++/14/limits:1913:16: note: expanded from
       macro '__glibcxx_float_n'
  1913 |       { return __glibcxx_concat3 (__FLT, BITSIZE, _MAX__);
}            \
       |                ^
/usr/include/c++/14/limits:1894:34: note: expanded from
       macro '__glibcxx_concat3'
  1894 | #define __glibcxx_concat3(P,M,S) __glibcxx_concat3_ (P,M,S)
       |                                  ^
/usr/include/c++/14/limits:1893:35: note: expanded from
       macro '__glibcxx_concat3_'
  1893 | #define __glibcxx_concat3_(P,M,S) P ## M ## S
       |                                   ^
<scratch space>:235:1: note: expanded from here
   235 | __FLT32_MAX__
       | ^
<built-in>:172:64: note: expanded from macro
       '__FLT32_MAX__'
   172 | #define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
|                                                                ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: no return
       statement in constexpr function
/usr/include/c++/14/limits:1912:7: note: expanded from
       macro '__glibcxx_float_n'
  1912 |       max()
_GLIBCXX_USE_NOEXCEPT                                       \
       |       ^
/usr/include/c++/14/limits:1989:1: error: invalid suffix
       'F32' on floating constant
/usr/include/c++/14/limits:1917:17: note: expanded from
       macro '__glibcxx_float_n'
  1917 |       { return -__glibcxx_concat3 (__FLT, BITSIZE, _MAX__);
}           \
       |                 ^
/usr/include/c++/14/limits:1894:34: note: expanded from
       macro '__glibcxx_concat3'
  1894 | #define __glibcxx_concat3(P,M,S) __glibcxx_concat3_ (P,M,S)
       |                                  ^
/usr/include/c++/14/limits:1893:35: note: expanded from
       macro '__glibcxx_concat3_'
  1893 | #define __glibcxx_concat3_(P,M,S) P ## M ## S
       |                                   ^
<scratch space>:238:1: note: expanded from here
   238 | __FLT32_MAX__
       | ^
<built-in>:172:64: note: expanded from macro
       '__FLT32_MAX__'
   172 | #define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
|                                                                ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: no return
       statement in constexpr function
/usr/include/c++/14/limits:1916:7: note: expanded from
       macro '__glibcxx_float_n'
  1916 |       lowest()
_GLIBCXX_USE_NOEXCEPT                                    \
       |       ^
/usr/include/c++/14/limits:1989:1: error: invalid suffix
       'F32' on floating constant
/usr/include/c++/14/limits:1933:16: note: expanded from
       macro '__glibcxx_float_n'
  1933 |       { return __glibcxx_concat3 (__FLT, BITSIZE, _EPSILON__);
}        \
       |                ^
/usr/include/c++/14/limits:1894:34: note: expanded from
       macro '__glibcxx_concat3'
  1894 | #define __glibcxx_concat3(P,M,S) __glibcxx_concat3_ (P,M,S)
       |                                  ^
/usr/include/c++/14/limits:1893:35: note: expanded from
       macro '__glibcxx_concat3_'
  1893 | #define __glibcxx_concat3_(P,M,S) P ## M ## S
       |                                   ^
<scratch space>:247:1: note: expanded from here
   247 | __FLT32_EPSILON__
       | ^
<built-in>:396:67: note: expanded from macro
       '__FLT32_EPSILON__'
   396 | #define __FLT32_EPSILON__
1.19209289550781250000000000000000000e-7F32
| ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: no return
       statement in constexpr function
/usr/include/c++/14/limits:1932:7: note: expanded from
       macro '__glibcxx_float_n'
  1932 |       epsilon()
_GLIBCXX_USE_NOEXCEPT                                   \
       |       ^
/usr/include/c++/14/limits:1989:1: error: invalid suffix
       'F32' on floating constant
/usr/include/c++/14/limits:1936:52: note: expanded from
       macro '__glibcxx_float_n'
  1936 |       round_error() _GLIBCXX_USE_NOEXCEPT { return
0.5F##BITSIZE; }     \
       |                                                    ^
<scratch space>:249:4: note: expanded from here
   249 | 0.5F32
       |    ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: no return
       statement in constexpr function
/usr/include/c++/14/limits:1936:7: note: expanded from
       macro '__glibcxx_float_n'
  1936 |       round_error() _GLIBCXX_USE_NOEXCEPT { return
0.5F##BITSIZE; }     \
       |       ^
/usr/include/c++/14/limits:1989:1: error: use of undeclared
       identifier '__builtin_huge_valf32'
/usr/include/c++/14/limits:1960:16: note: expanded from
       macro '__glibcxx_float_n'
  1960 |       { return __builtin_huge_valf##BITSIZE();
}                        \
       |                ^
<scratch space>:265:1: note: expanded from here
   265 | __builtin_huge_valf32
       | ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: use of undeclared
       identifier '__builtin_nanf32'
/usr/include/c++/14/limits:1964:16: note: expanded from
       macro '__glibcxx_float_n'
  1964 |       { return __builtin_nanf##BITSIZE("");
}                           \
       |                ^
<scratch space>:267:1: note: expanded from here
   267 | __builtin_nanf32
       | ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: use of undeclared
       identifier '__builtin_nansf32'
/usr/include/c++/14/limits:1968:16: note: expanded from
       macro '__glibcxx_float_n'
  1968 |       { return __builtin_nansf##BITSIZE("");
}                          \
       |                ^
<scratch space>:269:1: note: expanded from here
   269 | __builtin_nansf32
       | ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: invalid suffix
       'F32' on floating constant
/usr/include/c++/14/limits:1972:16: note: expanded from
       macro '__glibcxx_float_n'
  1972 |       { return __glibcxx_concat3 (__FLT, BITSIZE,
_DENORM_MIN__); }     \
       |                ^
/usr/include/c++/14/limits:1894:34: note: expanded from
       macro '__glibcxx_concat3'
  1894 | #define __glibcxx_concat3(P,M,S) __glibcxx_concat3_ (P,M,S)
       |                                  ^
/usr/include/c++/14/limits:1893:35: note: expanded from
       macro '__glibcxx_concat3_'
  1893 | #define __glibcxx_concat3_(P,M,S) P ## M ## S
       |                                   ^
<scratch space>:272:1: note: expanded from here
   272 | __FLT32_DENORM_MIN__
       | ^
<built-in>:304:71: note: expanded from macro
       '__FLT32_DENORM_MIN__'
   304 | #define __FLT32_DENORM_MIN__
1.40129846432481707092372958328991613e-45F32
| ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1989:1: error: no return
       statement in constexpr function
/usr/include/c++/14/limits:1971:7: note: expanded from
       macro '__glibcxx_float_n'
  1971 |       denorm_min()
_GLIBCXX_USE_NOEXCEPT                                \
       |       ^
/usr/include/c++/14/limits:1992:1: error: invalid suffix
       'F64' on floating constant
  1992 | __glibcxx_float_n(64)
       | ^
/usr/include/c++/14/limits:1909:16: note: expanded from
       macro '__glibcxx_float_n'
  1909 |       { return __glibcxx_concat3 (__FLT, BITSIZE, _MIN__);
}            \
       |                ^
/usr/include/c++/14/limits:1894:34: note: expanded from
       macro '__glibcxx_concat3'
  1894 | #define __glibcxx_concat3(P,M,S) __glibcxx_concat3_ (P,M,S)
       |                                  ^
/usr/include/c++/14/limits:1893:35: note: expanded from
       macro '__glibcxx_concat3_'
  1893 | #define __glibcxx_concat3_(P,M,S) P ## M ## S
       |                                   ^
<scratch space>:276:1: note: expanded from here
   276 | __FLT64_MIN__
       | ^
<built-in>:431:65: note: expanded from macro
       '__FLT64_MIN__'
   431 | #define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
|                                                                 ^
In file included from /tmp/tmpaa_arrq6.h:1:
In file included from
/home/re/xfer/gr-atsc3/include/atsc3/alpbbheader_bb.h:13:
In file included from /opt/gnuradio-3.11.0git/include/gnuradio/block.h:17:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/basic_block.h:15:
In file included from
/opt/gnuradio-3.11.0git/include/gnuradio/io_signature.h:19:
In file included from /usr/include/spdlog/fmt/fmt.h:31:
In file included from /usr/include/fmt/core.h:15:
/usr/include/c++/14/limits:1992:1: error: no return
       statement in constexpr function
/usr/include/c++/14/limits:1908:7: note: expanded from
       macro '__glibcxx_float_n'
  1908 |       min()
_GLIBCXX_USE_NOEXCEPT                                       \
       |       ^
/usr/include/c++/14/limits:1992:1: error: invalid suffix
       'F64' on floating constant
/usr/include/c++/14/limits:1913:16: note: expanded from
       macro '__glibcxx_float_n'
  1913 |       { return __glibcxx_concat3 (__FLT, BITSIZE, _MAX__);
}            \
       |                ^
/usr/include/c++/14/limits:1894:34: note: expanded from
       macro '__glibcxx_concat3'
  1894 | #define __glibcxx_concat3(P,M,S) __glibcxx_concat3_ (P,M,S)
       |                                  ^
/usr/include/c++/14/limits:1893:35: note: expanded from
       macro '__glibcxx_concat3_'
  1893 | #define __glibcxx_concat3_(P,M,S) P ## M ## S
       |                                   ^
<scratch space>:279:1: note: expanded from here
   279 | __FLT64_MAX__
       | ^
<built-in>:368:65: note: expanded from macro
       '__FLT64_MAX__'
   368 | #define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
|                                                                 ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Error occurred while running CASTXML xml file does not exist