Closed shianglin closed 9 years ago
What format is the data you're feeding gr-air-modes? It is expecting complex float32 format. If you feed it data formatted in a different way the Gnuradio file source can segfault.
On Sat, Jun 27, 2015 at 12:00 AM shianglin notifications@github.com wrote:
hi Nick, I name is Siang Lin, I have one problem during I run the modes_rx by filename source. the problem shows below: command : modes_rx --source="/home/cnsl/raw1.dat" output: Using file source /home/cnsl/raw1.dat Using Volk machine: avx_64_mmx_orc Segmentation fault
what' wrong with "Segmentation fault"? Thx! Best Regards~
— Reply to this email directly or view it on GitHub https://github.com/bistromath/gr-air-modes/issues/73.
Hi Nick, Thank you for your responds.
I try the two different ways to record the data. One is I recorded data by usrp_source and file sink in gnuradio-companion application, and the usrp_source output format is complex float-32. The other way is I use "rx_sample_to_file" to record the data in "float" (fc32) format. In additionally, I also utilized the older gr-air-modes in 3.6 version gnuradio to replay this data. The data can be replayed by this version. So, I make sure that the data is complex-float32.
Thx! Best Regards~
Did you figure this out?
On Wed, Jul 1, 2015, 12:33 AM shianglin notifications@github.com wrote:
Closed #73 https://github.com/bistromath/gr-air-modes/issues/73.
— Reply to this email directly or view it on GitHub https://github.com/bistromath/gr-air-modes/issues/73#event-345075375.
Yes, the problem is in the pmt::pmt_t tag_to_timestamp of preamble_impl.cc. If the source is from file, the code line in "if(tstamp.key == NULL || pmt::symbol_to_string(tstamp.key) != "rx_time") " will return 0. Thus, the "tstamp.value" can not be obtained. Therefore, I add the few code in function of "static pmt::pmt_t tag_to_timestamp(gr::tag_t tstamp, uint64_t abs_sample_cnt, int rate)" as shown below: if(tstamp.key == NULL || pmt::symbol_to_string(tstamp.key) != "rx_time"){ last_whole_stamp = 0; last_frac_stamp = 0; { else{ .... {
Can you submit a pull request?
Thanks!
On Wed, Jul 1, 2015 at 8:39 AM shianglin notifications@github.com wrote:
Yes, the problem is in the pmt::pmt_t tag_to_timestamp of preamble_impl.cc. If the source is from file, the code line in "if(tstamp.key == NULL || pmt::symbol_to_string(tstamp.key) != "rx_time") " will return 0. Thus, the "tstamp.value" can not be obtained. Therefore, I add the few code in function of "static pmt::pmt_t tag_to_timestamp(gr::tag_t tstamp, uint64_t abs_sample_cnt, int rate)" as shown below: if(tstamp.key == NULL || pmt::symbol_to_string(tstamp.key) != "rx_time"){ last_whole_stamp = 0; last_frac_stamp = 0; { else{ .... {
— Reply to this email directly or view it on GitHub https://github.com/bistromath/gr-air-modes/issues/73#issuecomment-117719175 .
Sorry, what is the mean?
hi Nick, My name is Siang Lin, I have one problem during I run the modes_rx by filename source. The filename source "raw1.dat" is recorded by usrp_source and file_sink in form of complex-float32. I want to replay this data by modes_rx and then the problem shows below:
command : modes_rx --source="/home/cnsl/raw1.dat" output: Using file source /home/cnsl/raw1.dat Using Volk machine: avx_64_mmx_orc Segmentation fault
what's wrong with "Segmentation fault"? Thx! Best Regards~