discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Getting GPS data into stream


From: Fabian Schwartau
Subject: Re: Getting GPS data into stream
Date: Sun, 7 May 2023 13:53:20 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1

Doing it the way Marcus M. described wasn actually not that complicated as I expected. I have a small "Embedded Python Block" that does more or less what I need. The file is attached, if anyone else needs this :) The error handling is a bit rough and there are probably many things to improve on, but its a starting point.

Am 07.05.23 um 13:09 schrieb Fabian Schwartau:
Hi again,
as I described earlier, I am now using a "Tags Strobe" block to periodically tag the data with the current gps coordinates. Within the "Tag Strobes" I use a function call to create the value:
pmt.to_pmt(gps.get_current_gps_position())
And this function is defined in a "Python Module" block.
But it seems that the function is only called once at startup and then never again. Which is quite useless in my case. Is that correct? Is there any other easy way to get the gps data into a stream as tags within GRC? I am not familiar with programming my own blocks and I don't see myself capable of doing what Marcus M. suggested earier, without spending a considerable amount of time.

Best,
Fabian

Am 05.05.23 um 09:58 schrieb Marcus Müller:
Hi Fabian,
it's interleaved real, imag, real, imag. If you used dtype=np.complex64 instead of float32 (and then not double the count), you'd get it interpreted exactly that way :)

Cheers,
Marcus

On 04.05.23 19:38, Fabian Schwartau wrote:
Sorry again, never mind... I found the problem.
The source code for reading the data does not include the fact that I am reading complex data and also three streams. Change the one line to: data=np.fromfile(file=fh, dtype=np.float32, count=3*2*int(header_info['nitems']), sep='', offset=0) and everything seems to work as expected. Now I just have to figure out how the data is ordered in that blob ;)

Best,
Fabian

Am 04.05.23 um 19:19 schrieb Fabian Schwartau:
Hi everyone,

I think I got hit by https://github.com/gnuradio/gnuradio/issues/5568.
Exactly the same error message. Is there any update on that issue or a workaround?
Attached are my files.

Best,
Fabian

Am 03.05.23 um 21:01 schrieb Marcus D. Leech:
On 03/05/2023 14:59, Fabian Schwartau wrote:
Sorry, forget it. Wrong sink...
You probably want:

https://wiki.gnuradio.org/index.php/File_Meta_Sink

Am 03.05.23 um 20:52 schrieb Fabian Schwartau:
OK, I think I found an easier way (at least for me), without having to write my own module - never done that. I used the "Tags Strobe" block in combination with the "Python Module" for my gps_get_position() function. Anyway, where can I find a definition of the format of the "Tagged File Sink"? I need to read this with antoher program, without gnuradio, but in python.

Best,
Fabian

Am 03.05.23 um 20:04 schrieb Marcus Müller:
Hi Fabian,

I'd write a block that copies a stream in- to output. It might query gpsd every time the work() function is called, or have a FIFO into which data from gspd is being pushed by a separate thread (or by reading from a socket or however gspd works, I must admit I'm not sure).

You then take that info, and encode the long, lat, uncertainty as (double, double, double) PMT tuple. You then use add_item_tag to add that PMT to the first sample in your output buffer.

You'd feed the result into a metadata file sink block: That saves things in a serialized format ready for retrieval.

Best,
Marcus

On 5/3/23 19:52, Fabian Schwartau wrote:
Hi everyone,

I am trying to record some data from an SDR and would like to sync/tag the data with the current gps position from gpsd. I am kind of stuck and don't know how a possible solution for that might look like in grc. I have a python function that gets the current position as a tuple, but how do I get this into my data stream, which I would like to write to a CSV file or similar? I am not asking for a solution of my problem, just point me in the right direction ;)

Best,
Fabian













Attachment: gpstagger.py
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]