Re: [Discuss-gnuradio] Correlation Estimator Over the Air

2015-10-20 Thread Nowlan, Sean
the
start byte bits.

-Andy



> These pictures are of the same communication session, screen-printed
> roughly 5 secs apart.
>
> (If the attachments don't make it through the mailing list, please let
> me
> know and I can host them elsewhere)
>
> I really appreciate your guys' help.
>
> Logan Washbourne
> Electrical Engineering Graduate Student
> (Electromagnetics)
>
>
> On Wed, Oct 14, 2015 at 1:31 PM, Washbourne, Logan <
> lwas...@ostatemail.okstate.edu> wrote:
>
> > Sean,
> >
> > Thanks for the tip! Is the k value the reference value in the AGC2
> block
> > or the max gain? Would you mind explaining the equation you used a
> little
> > more? From what I understand of it, the seq is the 1's and 0's that
> make up
> > the pseudorandom preamble, N is the sequence length and i is the
> specific
> > value of the sequence when summing. Is that right or am I way off
> base?
> >
> >
> >
> > Logan Washbourne
> > Electrical Engineering Graduate Student
> > (Electromagnetics)
> >
> >
> > On Wed, Oct 14, 2015 at 9:43 AM, Nowlan, Sean
> <sean.now...@gtri.gatech.edu
> > > wrote:
> >
> >> ?We saw a lot of improvement in the performance of the Correlation
> >> Estimator block once we calculated a level for the AGC. In our
> case, we're
> >> looking for a BPSK preamble that is a pseudorandom sequence. The
> corr_est
> >> block is provided with the match-filtered version of the preamble
> sequence.
> >> So we calculated the average energy per sample of that sequence as
> K =
> >> \frac{ \sum_{i}^{N}(\abs{seq}^2) }{ N }. (Sorry if the LaTeX
> notation is a
> >> bit off). So K is the target level we use in the AGC2 block. This
> seems to
> >> work pretty well for us.
> >>
> >>
> >> Sean
> >>
> >>
> >> --
> >> *From:* discuss-gnuradio-bounces
> +sean.nowlan=gtri.gatech@gnu.org
> >> <discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org> on
> behalf
> >> of Washbourne, Logan <lwas...@ostatemail.okstate.edu>
> >> *Sent:* Tuesday, October 13, 2015 12:03 PM
> >> *To:* GNURadio Discussion List
> >> *Subject:* Re: [Discuss-gnuradio] Correlation Estimator Over the
> Air
> >>
> >> Rich,
> >>
> >> Ah, that makes so much sense now. I was modulating all that came
> out of
> >> the costas loop and packing the bits into bytes which essentially
> means I
> >> was undoing the syncing the blocks before it were doing. This
> morning I
> >> tried searching for the preamble in the binary stream that was
> output from
> >> the constellation decoder and I found it. It was 98 samples in,
> which
> >> confused me, but now that I know I am looking for a tag then that
> makes
> >> perfect sense.
> >>
> >> I just tried that same process, looking for the preamble in the
> binary
> >> stream(using matlab) for the over the air program and I still can't
> find
> >> it, but I am going to play around with the AGC block and see if I
> can't
> >> tweak it enough to work.
> >>
> >> I really appreciate your help, I finally feel like I'm getting
> close to
> >> my goal.
> >>
> >> Logan Washbourne
> >> Electrical Engineering Graduate Student
> >> (Electromagnetics)
> >>
> >>
> >> On Tue, Oct 13, 2015 at 10:55 AM, Richard Bell
> <richard.be...@gmail.com>
> >> wrote:
> >>
> >>> Logan,
> >>>
> >>> How are you doing this test to see if the bit stream comes out?
> >>>
> >>> The corr_est block correlates against a known sequence and when
> the
> >>> correlation output is above a threshold, tags the local maximum
> item around
> >>> that beak. Now it's up to you to do something with that tag. It
> places the
> >>> tag at the very front of the correlation sequence, so one of the
> first
> >>> things you need to do is handle the tag placement. You have some
> control
> >>> over that with the builtin delay paramter, but sometimes that's
> not enough.
> >>>
> >>> I would recommend taking a step back and proving you know how to
> do the
> >>> transformations that don't involve synchronization and channel
> correction.
> >>> Take your input data, map it to symbols, modulate it and then
> immediately
> >>> reverse the process. No channel, no noise, no synch

Re: [Discuss-gnuradio] Correlation Estimator Over the Air

2015-10-20 Thread Nowlan, Sean
For our use case, since our preamble and payload use the same constellation, 
the double tag issue probably doesn't hurt us too much, so we haven't guarded 
against it. Qualitatively, as long as timing and phase offsets haven't diverged 
"too much" over the course of a few samples, the coarse estimates provided by 
sampling off-peak while still above threshold update the PFB Clock Sync and 
Costas loop states to get "close", and they seem to converge during the 
remainder of the preamble symbols before data payload symbols begin.​ If 
anybody has any comments on this, I'd love to hear them.


Sean



From: Richard Bell <richard.be...@gmail.com>
Sent: Tuesday, October 20, 2015 3:48 PM
To: Nowlan, Sean
Cc: Andy Walls; discuss-gnuradio@gnu.org; lwas...@ostatemail.okstate.edu
Subject: Re: [Discuss-gnuradio] Correlation Estimator Over the Air

Andy, Sean,

Even if you use a sequence that has good correlation properties, you will 
sometimes get a double tag. This happens when the correlation threshold is 
passed just at the end of a call to work. Upon the next call to work, the very 
first few samples may still be above the threshold, but the correlator has no 
way of knowing this was actually due to the peak it already tagged in the 
previous call to work, so it tags it again.

Andy, how do you work around double or triple tags usually? The tag location in 
all my applications is vitally important to the rest of the system. I couldn't 
handle ambiguity in that location. Is your system just not as dependant on 
knowing exact frame start positions, or are there other helpers to find this 
exactly down the line in your systems? Very curious.

Rich



On Tue, Oct 20, 2015 at 12:32 PM, Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>> wrote:
Logan, I've been away from email for the last week so sorry for the delay.

> Is the k value the reference value in the AGC2 block or the max gain? Would 
> you mind explaining the equation you used a little more?

Yes, it's the reference value. I think the max gain is used to keep the AGC 
from blowing up.

The equation I mentioned is essentially the Euclidean norm, which we applied to 
our 4x oversampled, root-raised cosine filtered, BPSK sequence of 0s and 1s 
mapped to constellation points -1+0j and +1+0j, respectively. The corr_est 
block is running at 4x oversampling of the baud rate. So for BPSK, you can use 
either GNU Radio or Matlab/Octave to create a root-raised cosine matched 
filter, map your preamble sequence to constellation points, and filter them. 
Then calculate the Euclidean norm of the upsampled, matched filtered sequence. 
That's what I called "K" in my previous message. Dividing by the length of this 
sequence gives you the average "energy" (unitless) of the sequence. Think of it 
this way: the corr_est block is a matched filter that will give maximum 
likelihood detection when the input sample stream containing a preamble 
sequence matches up in time and level with the correlation sequence. So the AGC 
should be configured to normalize the input stream to allow that to happen.

Sean

From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org<mailto:gtri.gatech@gnu.org>
 
<discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org<mailto:gtri.gatech@gnu.org>>
 on behalf of Andy Walls 
<a...@silverblocksystems.net<mailto:a...@silverblocksystems.net>>
Sent: Tuesday, October 20, 2015 12:38 PM
To: discuss-gnuradio@gnu.org<mailto:discuss-gnuradio@gnu.org>
Subject: Re: [Discuss-gnuradio] Correlation Estimator Over the Air

On Tue, 2015-10-20 at 11:46 -0400, 
discuss-gnuradio-requ...@gnu.org<mailto:discuss-gnuradio-requ...@gnu.org>
wrote:
> Message: 10
> Date: Tue, 20 Oct 2015 10:46:11 -0500
> From: "Washbourne, Logan"
> To: GNURadio Discussion List 
> <discuss-gnuradio@gnu.org<mailto:discuss-gnuradio@gnu.org>>
> Subject: Re: [Discuss-gnuradio] Correlation Estimator Over the Air

> Hello,
>
> I have still been working on getting the over the air communication to
> work
> and I think I have definitely narrowed it down to the AGC being the
> problem. I took Sean's advice and calculated the average energy per
> sample
> for the preamble, which yielded me a value of .0078 Joules and I used
> that
> for the reference value in the AGC2 block. When I used that value as
> the
> reference, the correlation estimator wouldn't catch anything as
> correlated.
> It is a real possibility that I calculated the energy per sample
> incorrectly. I calculated it by only sending the preamble over the
> air,
> then took the first 64 complex values( I used some code from the
> octave
> files in gr-utils, to convert file sink data to complex values) from
> t

Re: [Discuss-gnuradio] Correlation Estimator Over the Air

2015-10-14 Thread Nowlan, Sean
​We saw a lot of improvement in the performance of the Correlation Estimator 
block once we calculated a level for the AGC. In our case, we're looking for a 
BPSK preamble that is a pseudorandom sequence. The corr_est block is provided 
with the match-filtered version of the preamble sequence. So we calculated the 
average energy per sample of that sequence as K = \frac{ 
\sum_{i}^{N}(\abs{seq}^2) }{ N }. (Sorry if the LaTeX notation is a bit off). 
So K is the target level we use in the AGC2 block. This seems to work pretty 
well for us.


Sean



From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
 on behalf of 
Washbourne, Logan 
Sent: Tuesday, October 13, 2015 12:03 PM
To: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Correlation Estimator Over the Air

Rich,

Ah, that makes so much sense now. I was modulating all that came out of the 
costas loop and packing the bits into bytes which essentially means I was 
undoing the syncing the blocks before it were doing. This morning I tried 
searching for the preamble in the binary stream that was output from the 
constellation decoder and I found it. It was 98 samples in, which confused me, 
but now that I know I am looking for a tag then that makes perfect sense.

I just tried that same process, looking for the preamble in the binary 
stream(using matlab) for the over the air program and I still can't find it, 
but I am going to play around with the AGC block and see if I can't tweak it 
enough to work.

I really appreciate your help, I finally feel like I'm getting close to my goal.

Logan Washbourne
Electrical Engineering Graduate Student
(Electromagnetics)


On Tue, Oct 13, 2015 at 10:55 AM, Richard Bell 
> wrote:
Logan,

How are you doing this test to see if the bit stream comes out?

The corr_est block correlates against a known sequence and when the correlation 
output is above a threshold, tags the local maximum item around that beak. Now 
it's up to you to do something with that tag. It places the tag at the very 
front of the correlation sequence, so one of the first things you need to do is 
handle the tag placement. You have some control over that with the builtin 
delay paramter, but sometimes that's not enough.

I would recommend taking a step back and proving you know how to do the 
transformations that don't involve synchronization and channel correction. Take 
your input data, map it to symbols, modulate it and then immediately reverse 
the process. No channel, no noise, no synchronization. If you can't make this 
simulation work, you are misunderstanding something.

Rich

On Mon, Oct 12, 2015 at 1:28 PM, Washbourne, Logan 
> wrote:
Rich and others,

I added the AGC block to RX side and after playing with the parameters for 
awhile I got a correlation spike! My next step was to confirm that my output 
equalled my input (byte-wise). In order to accomplish this, I added a 
Constellation Decoder block after the costas loop and used the constellation 
object as the input parameter. Then I repacked the bits into 8 bit bytes and 
saved it to a file. I also saved the input byte stream to a file. I looked at 
those files in Matlab and so far I have not been able to find the preamble in 
the output byte stream.

After not being able to determine if this communication system was working( the 
TX and RX programs utilizing the USRPs), I took a step back and tried to figure 
out how to confirm if the test_corr_est.grc had the same output as its input 
and I'm running into the same problem, I haven't been able to find the preamble 
in the output.

Both programs show a clear correlation spike, I just want to put my mind at 
ease and verify if it's working through the actual bytes. One last note, the 
packed output byte stream is roughly 5.5 times smaller than the input byte 
stream, which I was expecting a really close 1:1 size, this makes me think I am 
overlooking a consequence of one of the blocks, namely the Correlation 
Estimator, Polyphase Clock Sync, or the Costas Loop.

Does anyone have any suggestions?

I know this thread is getting a little long, but I appreciate everyone's 
patience with my questions.



Logan Washbourne
Electrical Engineering Graduate Student
(Electromagnetics)


On Wed, Oct 7, 2015 at 11:26 AM, Richard Bell 
> wrote:
Ah, yes. I suspect you don't have an AGC in your flowgraph? Whenever you're 
thresholding against some static number, you need to be sure your input signal 
is set to a known amplitude, which is what the AGC does for you. If you put an 
AGC in the chain you should see peak values that get close to your simulation 
values. The AGC produces a stable platform for the rest of your blocks to 

Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using gr-trellis

2015-09-15 Thread Nowlan, Sean
Thanks, that did the trick. I got about 4e-5 BER and 1.1 % PER at 6dB Es/N0 
with my particular CPFSK parameters.

From: Achilleas Anastasopoulos [mailto:anas...@umich.edu]
Sent: Saturday, September 12, 2015 1:21 PM
To: Nowlan, Sean <sean.now...@gtri.gatech.edu>
Cc: Discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Sean,
I guess there was a missing normalization of the pulse.
Please add the line

p=p/sum(p)*Q/2.0;
just after the definition of the p pulse

p = numpy.ones(L*Q)


In addition, make sure you increase the Q (samples per symbol) considerably, ie 
make it 16 or more. The reason is that h=25/3 results in a BIG bandwidth for 
this constellation so it has to be appropriately samples in order to be 
represented accurately.

let me know how it goes
Achilleas



On Thu, Sep 10, 2015 at 6:09 PM, Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>> wrote:
Thanks, Achilleas, Jan, Jeff for your responses. I think I understand the 
format now, and I managed to build the gr-trellis documentation, which does 
spell out answers for a lot of what I asked.

I’ve abandoned making my own FSM since I can just use the CPM utilities in 
gr-trellis. However, I’m getting unexpected BER and PER when running 
gr-trellis/examples/python/test_cpm.py with my CPFSK parameters, h = 25/3 and 
L=1.

Diff of test_cpm.py with my simple modifications:
https://gist.github.com/nowls/5b2bc2aada87dc197e3f

$ python test_cpm.py
Using Volk machine: avx_64_mmx_orc
100 16868 100 0.16868 1.0
200 33852 200 0.16926 1.0
300 50786 300 0.16928667 1.0
400 67667 400 0.1691675 1.0
[…]

As you can see, PER is 100% and BER is pretty bad for 10 dB SNR. The 
construction of the phase response, q, looks correct to me. Any idea what might 
be going wrong?

Thanks,
Sean

From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org<mailto:gtri.gatech@gnu.org>
 
[mailto:discuss-gnuradio-bounces+sean.nowlan<mailto:discuss-gnuradio-bounces%2Bsean.nowlan>=gtri.gatech@gnu.org<mailto:gtri.gatech@gnu.org>]
 On Behalf Of Achilleas Anastasopoulos
Sent: Thursday, September 10, 2015 1:28 PM
To: Discuss-gnuradio@gnu.org<mailto:Discuss-gnuradio@gnu.org>
Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Sean,

I just wanted to add to the previous answer:
Indeed gr-trellis (and the fsm class specifically) has a built in constructor 
for generating the FSM corresponding to ANY CPM scheme.
It only requires three parameters as explained in the comments
in the file fsm.cc
The constructed FSM is NOT based on Proakis decomposition, but on the more 
elegant decomposition by:
"A decomposition approach to CPM", IEEE Trans. Info Theory, March 1988
  See also my own notes at
http://www.eecs.umich.edu/~anastas/docs/cpm.pdf
for all the details.
In this case for h=K/P, it does not matter whether K is even or odd, the number 
of states is always = M^{L-1} * P (where M is the cardinality of the input 
alphabet),
so in your case you'll have a trellis with 3 states as the previous email 
suggested.
You may also find useful the python utility
make_cpm_signals(K,P,M,L,q,frac)
that can be found in gr-trellis/python
that generates the signal space for you.
(please see the above references for more info).
Finally, you can take a look at the example "test_cpm.py"
in the gr-trellis/examples/python
and make appropriate changes for your CPFSK signal.


Now you can always drop all the above and design your FSM and signals from 
scratch. You can create the FSM from a file (this is explained in the 
gr-trellis documentaion--which is generated from gr-trellis/doc/gr-trellis.xml).
The ouput symbol mapping is defined EXACTLY as you suggested in your email:
every line corresponds to the current state and every column to an input.
The entry is a number from 0 to I-1 (where I is the input cardinality).
How this index is translated to an actual signal IS NOT PART OF  THE FSM 
DEFINITION but part of the modulation definition as explained very extensively 
in the gr-trellis documentation.

let me know if you have any further questions,
Achilleas





___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using gr-trellis

2015-09-15 Thread Nowlan, Sean
Sure. Here was the pulse normalization fix Achilleas suggested:

https://github.com/gnuradio/gnuradio/pull/636

And this is a patch for CPFSK with modulation index h=25/3 (based off the PR 
above):

https://gist.github.com/nowls/8566d649e20ac0fa6d4e

Sean

From: Dan CaJacob [mailto:dan.caja...@gmail.com]
Sent: Tuesday, September 15, 2015 2:36 PM
To: Nowlan, Sean <sean.now...@gtri.gatech.edu>; anas...@umich.edu
Cc: Discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Hi Sean,

Any chance you can share your work?

On Tue, Sep 15, 2015 at 2:33 PM Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>> wrote:
Thanks, that did the trick. I got about 4e-5 BER and 1.1 % PER at 6dB Es/N0 
with my particular CPFSK parameters.

From: Achilleas Anastasopoulos 
[mailto:anas...@umich.edu<mailto:anas...@umich.edu>]
Sent: Saturday, September 12, 2015 1:21 PM
To: Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>>
Cc: Discuss-gnuradio@gnu.org<mailto:Discuss-gnuradio@gnu.org>

Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Sean,
I guess there was a missing normalization of the pulse.
Please add the line

p=p/sum(p)*Q/2.0;
just after the definition of the p pulse

p = numpy.ones(L*Q)

In addition, make sure you increase the Q (samples per symbol) considerably, ie 
make it 16 or more. The reason is that h=25/3 results in a BIG bandwidth for 
this constellation so it has to be appropriately samples in order to be 
represented accurately.

let me know how it goes
Achilleas



On Thu, Sep 10, 2015 at 6:09 PM, Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>> wrote:
Thanks, Achilleas, Jan, Jeff for your responses. I think I understand the 
format now, and I managed to build the gr-trellis documentation, which does 
spell out answers for a lot of what I asked.

I’ve abandoned making my own FSM since I can just use the CPM utilities in 
gr-trellis. However, I’m getting unexpected BER and PER when running 
gr-trellis/examples/python/test_cpm.py with my CPFSK parameters, h = 25/3 and 
L=1.

Diff of test_cpm.py with my simple modifications:
https://gist.github.com/nowls/5b2bc2aada87dc197e3f

$ python test_cpm.py
Using Volk machine: avx_64_mmx_orc
100 16868 100 0.16868 1.0
200 33852 200 0.16926 1.0
300 50786 300 0.16928667 1.0
400 67667 400 0.1691675 1.0
[…]

As you can see, PER is 100% and BER is pretty bad for 10 dB SNR. The 
construction of the phase response, q, looks correct to me. Any idea what might 
be going wrong?

Thanks,
Sean

From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org<mailto:gtri.gatech@gnu.org>
 
[mailto:discuss-gnuradio-bounces+sean.nowlan<mailto:discuss-gnuradio-bounces%2Bsean.nowlan>=gtri.gatech@gnu.org<mailto:gtri.gatech@gnu.org>]
 On Behalf Of Achilleas Anastasopoulos
Sent: Thursday, September 10, 2015 1:28 PM
To: Discuss-gnuradio@gnu.org<mailto:Discuss-gnuradio@gnu.org>
Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Sean,

I just wanted to add to the previous answer:
Indeed gr-trellis (and the fsm class specifically) has a built in constructor 
for generating the FSM corresponding to ANY CPM scheme.
It only requires three parameters as explained in the comments
in the file fsm.cc
The constructed FSM is NOT based on Proakis decomposition, but on the more 
elegant decomposition by:
"A decomposition approach to CPM", IEEE Trans. Info Theory, March 1988
  See also my own notes at
http://www.eecs.umich.edu/~anastas/docs/cpm.pdf
for all the details.
In this case for h=K/P, it does not matter whether K is even or odd, the number 
of states is always = M^{L-1} * P (where M is the cardinality of the input 
alphabet),
so in your case you'll have a trellis with 3 states as the previous email 
suggested.
You may also find useful the python utility
make_cpm_signals(K,P,M,L,q,frac)
that can be found in gr-trellis/python
that generates the signal space for you.
(please see the above references for more info).
Finally, you can take a look at the example "test_cpm.py"
in the gr-trellis/examples/python
and make appropriate changes for your CPFSK signal.


Now you can always drop all the above and design your FSM and signals from 
scratch. You can create the FSM from a file (this is explained in the 
gr-trellis documentaion--which is generated from gr-trellis/doc/gr-trellis.xml).
The ouput symbol mapping is defined EXACTLY as you suggested in your email:
every line corresponds to the current state and every column to an input.
The entry is a number from 0 to I-1 (where I is the input cardinality).
How this index is translated to an actual signal IS NOT PART OF  THE FSM 
DEFINITION but part of the modulation definition as explained

Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using gr-trellis

2015-09-15 Thread Nowlan, Sean
The BER and PER seem to be very sensitive to the oversampling factor (samples 
per symbol), Q.  For low Q, Achilleas’ point about needing more samples to get 
a better resolution on the symbol matched filters makes sense. However, I’m not 
sure why there’s a big jump in performance from Q=8 to Q=12, or why performance 
gets worse for Q>12. But based on this limited test, Q=12 looks like a good 
candidate.

QBERPER
4 1.040e-030.2344
8 1.095e-030.2455
12   2.637e-050.0068
16   3.340e-050.0084
24   3.867e-050.0098
32   3.359e-050.0086
48   4.238e-050.0108
> I got about 4e-5 BER and 1.1 % PER at 6dB Es/N0 with my particular CPFSK 
> parameters.
By the way, the above claim was with Q=48.

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Nowlan, Sean
Sent: Tuesday, September 15, 2015 3:40 PM
To: Dan CaJacob <dan.caja...@gmail.com>; anas...@umich.edu
Cc: Discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Sure. Here was the pulse normalization fix Achilleas suggested:

https://github.com/gnuradio/gnuradio/pull/636

And this is a patch for CPFSK with modulation index h=25/3 (based off the PR 
above):

https://gist.github.com/nowls/8566d649e20ac0fa6d4e

Sean

From: Dan CaJacob [mailto:dan.caja...@gmail.com]
Sent: Tuesday, September 15, 2015 2:36 PM
To: Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>>; 
anas...@umich.edu<mailto:anas...@umich.edu>
Cc: Discuss-gnuradio@gnu.org<mailto:Discuss-gnuradio@gnu.org>
Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Hi Sean,

Any chance you can share your work?

On Tue, Sep 15, 2015 at 2:33 PM Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>> wrote:
Thanks, that did the trick. I got about 4e-5 BER and 1.1 % PER at 6dB Es/N0 
with my particular CPFSK parameters.

From: Achilleas Anastasopoulos 
[mailto:anas...@umich.edu<mailto:anas...@umich.edu>]
Sent: Saturday, September 12, 2015 1:21 PM
To: Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>>
Cc: Discuss-gnuradio@gnu.org<mailto:Discuss-gnuradio@gnu.org>

Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Sean,
I guess there was a missing normalization of the pulse.
Please add the line

p=p/sum(p)*Q/2.0;
just after the definition of the p pulse

p = numpy.ones(L*Q)
In addition, make sure you increase the Q (samples per symbol) considerably, ie 
make it 16 or more. The reason is that h=25/3 results in a BIG bandwidth for 
this constellation so it has to be appropriately samples in order to be 
represented accurately.

let me know how it goes
Achilleas



On Thu, Sep 10, 2015 at 6:09 PM, Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>> wrote:
Thanks, Achilleas, Jan, Jeff for your responses. I think I understand the 
format now, and I managed to build the gr-trellis documentation, which does 
spell out answers for a lot of what I asked.

I’ve abandoned making my own FSM since I can just use the CPM utilities in 
gr-trellis. However, I’m getting unexpected BER and PER when running 
gr-trellis/examples/python/test_cpm.py with my CPFSK parameters, h = 25/3 and 
L=1.

Diff of test_cpm.py with my simple modifications:
https://gist.github.com/nowls/5b2bc2aada87dc197e3f

$ python test_cpm.py
Using Volk machine: avx_64_mmx_orc
100 16868 100 0.16868 1.0
200 33852 200 0.16926 1.0
300 50786 300 0.16928667 1.0
400 67667 400 0.1691675 1.0
[…]

As you can see, PER is 100% and BER is pretty bad for 10 dB SNR. The 
construction of the phase response, q, looks correct to me. Any idea what might 
be going wrong?

Thanks,
Sean

From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org<mailto:gtri.gatech@gnu.org>
 
[mailto:discuss-gnuradio-bounces+sean.nowlan<mailto:discuss-gnuradio-bounces%2Bsean.nowlan>=gtri.gatech@gnu.org<mailto:gtri.gatech@gnu.org>]
 On Behalf Of Achilleas Anastasopoulos
Sent: Thursday, September 10, 2015 1:28 PM
To: Discuss-gnuradio@gnu.org<mailto:Discuss-gnuradio@gnu.org>
Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Sean,

I just wanted to add to the previous answer:
Indeed gr-trellis (and the fsm class specifically) has a built in constructor 
for generating the FSM corresponding to ANY CPM scheme.
It only requires three parameters as explained in the comments
in the file fsm.cc
The constructed FSM is NOT based on Proakis decomposition, but on the more 
elegant decomposition by:
"A decomposition approach to CPM", IEEE Trans. Info Theory, March 1988
  See also my own notes at
http://www.eecs.umich.edu/~

Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using gr-trellis

2015-09-10 Thread Nowlan, Sean
Thanks, Achilleas, Jan, Jeff for your responses. I think I understand the 
format now, and I managed to build the gr-trellis documentation, which does 
spell out answers for a lot of what I asked.

I’ve abandoned making my own FSM since I can just use the CPM utilities in 
gr-trellis. However, I’m getting unexpected BER and PER when running 
gr-trellis/examples/python/test_cpm.py with my CPFSK parameters, h = 25/3 and 
L=1.

Diff of test_cpm.py with my simple modifications:
https://gist.github.com/nowls/5b2bc2aada87dc197e3f

$ python test_cpm.py
Using Volk machine: avx_64_mmx_orc
100 16868 100 0.16868 1.0
200 33852 200 0.16926 1.0
300 50786 300 0.16928667 1.0
400 67667 400 0.1691675 1.0
[…]

As you can see, PER is 100% and BER is pretty bad for 10 dB SNR. The 
construction of the phase response, q, looks correct to me. Any idea what might 
be going wrong?

Thanks,
Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Achilleas Anastasopoulos
Sent: Thursday, September 10, 2015 1:28 PM
To: Discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using 
gr-trellis

Sean,

I just wanted to add to the previous answer:
Indeed gr-trellis (and the fsm class specifically) has a built in constructor 
for generating the FSM corresponding to ANY CPM scheme.
It only requires three parameters as explained in the comments
in the file fsm.cc
The constructed FSM is NOT based on Proakis decomposition, but on the more 
elegant decomposition by:
"A decomposition approach to CPM", IEEE Trans. Info Theory, March 1988
  See also my own notes at
http://www.eecs.umich.edu/~anastas/docs/cpm.pdf
for all the details.
In this case for h=K/P, it does not matter whether K is even or odd, the number 
of states is always = M^{L-1} * P (where M is the cardinality of the input 
alphabet),
so in your case you'll have a trellis with 3 states as the previous email 
suggested.
You may also find useful the python utility
make_cpm_signals(K,P,M,L,q,frac)
that can be found in gr-trellis/python
that generates the signal space for you.
(please see the above references for more info).
Finally, you can take a look at the example "test_cpm.py"
in the gr-trellis/examples/python
and make appropriate changes for your CPFSK signal.


Now you can always drop all the above and design your FSM and signals from 
scratch. You can create the FSM from a file (this is explained in the 
gr-trellis documentaion--which is generated from gr-trellis/doc/gr-trellis.xml).
The ouput symbol mapping is defined EXACTLY as you suggested in your email:
every line corresponds to the current state and every column to an input.
The entry is a number from 0 to I-1 (where I is the input cardinality).
How this index is translated to an actual signal IS NOT PART OF  THE FSM 
DEFINITION but part of the modulation definition as explained very extensively 
in the gr-trellis documentation.

let me know if you have any further questions,
Achilleas





___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Demodulating CPFSK with Viterbi algorithm using gr-trellis

2015-09-09 Thread Nowlan, Sean
I'm trying to demodulate a CPFSK signal using the Viterbi algorithm. The 
gr-trellis module seems to have most of the components I'll need, but I'm 
having trouble figuring out how to wrangle my problem into the FSM format. 
Basically, I have a binary CPFSK signal with a modulation index, h=25/3. 
Following the guidance of [1] section 3.3-2, I know that for CPM with rational 
h=m/p, (here, m=25 and p=3), with m odd, I have 2p=6 phase states. I worked out 
the phase trajectories and took them modulo 2*pi to get this set of terminal 
phase states: {0, pi/3, 2*pi/3, pi, 4*pi/3, 5*pi/3}.

I'm trying to understand the FSM format in gr-trellis, and how to build my FSM. 
If you consider the set of terminal phase states above as being zero-indexed, 
the phase transitions should go according to the "Next state" mapping of the 
FSM file format below. I've added my comments as to my understanding of the 
format. Please correct me if I'm wrong.

FSM file:
2 6 2   # 2 possible input symbols // 6 possible FSM states // 2 possible 
output symbols

# Next state mapping
5 1  # if in state 0 and a 0 is received, go to state 5, else (1 is 
received, and) go to state 1
0 2  # if in state 1 and a 0 is received, go to state 0, else go to 
state 2
1 3  # ...
2 4
3 5
4 0

# Output symbol mapping
[...]

I'm having trouble understanding how to define the output symbol mapping. Is 
there a plain-language interpretation like the one I spelled out for Next state 
mapping in my comments above?

Thanks!
Sean

[1] Proakis & Salehi, Digital Communications, 5ed.
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Building an OOT modules with an In Tree Dependency

2015-07-31 Thread Nowlan, Sean
If we don’t just document with comments in the proper places in the OOT 
structure, I was thinking we could have the user list GR required components in 
the gr_modtool interactive configuration. It wouldn’t solve all problems like 
the file_sink_base issue, but it would be a good start.

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Tom Rondeau
Sent: Friday, July 31, 2015 1:57 PM
To: Valenta, Chris R.
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Building an OOT modules with an In Tree 
Dependency

On Fri, Jul 31, 2015 at 1:52 PM, Valenta, Chris R. 
chris.vale...@gtri.gatech.edumailto:chris.vale...@gtri.gatech.edu wrote:
Ah, so I figured it out. Not only did I need to add #define BLOCKS_API to my 
swig .i file, but I also had to add %include “gnuradio/blocks/file_sink_base.h” 
as well.

Ah, of course! Good catch.

We should have this documented somewhere -- how to use GNU Radio classes and 
blocks in OOT projects.

Tom




From: Valenta, Chris R.
Sent: Friday, July 31, 2015 11:30 AM
To: 'Tom Rondeau'
Cc: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: RE: [Discuss-gnuradio] Building an OOT modules with an In Tree 
Dependency

Yes, blocks is included in the cmakelists.txt as set(GR_REQUIRED_COMPONENTS 
RUNTIME BLOCKS) as well as a link directory GNURADIO_BLOCKS_LIBRARY_DIRS. Its 
also in the /lib cmakelists.txt as a target_link_library 
GNURADIO_BLOCKS_LIBRARIES.

BLOCKS_API was not in the swig .i file. I added this, ran make clean, make, and 
installed and still get the same error.

From: trond...@trondeau.commailto:trond...@trondeau.com 
[mailto:trond...@trondeau.com] On Behalf Of Tom Rondeau
Sent: Friday, July 31, 2015 11:02 AM

To: Valenta, Chris R.
Cc: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Building an OOT modules with an In Tree 
Dependency

On Fri, Jul 31, 2015 at 10:50 AM, Valenta, Chris R. 
chris.vale...@gtri.gatech.edumailto:chris.vale...@gtri.gatech.edu wrote:
So the function (set_unbuffered) that’s coming up as not being found is in 
file_sink_base.h which is included in the file_sink.h so I’m pretty sure I’m ok 
here.

The swig file just includes file_sink.h….I tried adding file_sink_base.h to 
this as well, but it didn’t change anything.

For the time being, I’m replicating the file_sink block exactly (except the 
name) to try and get it to compile OOT. However, since file_sink depends on 
file_sink_base, which I’m not copying, I think there are problems linking to it.

Would it be better to also copy file_sink_base to my OOT module?


You should be able to use file_sink_base from libgnuradio-blocks.so, so no, 
keep that one in tree so you're not carrying around extra stuff. First, do you 
have BLOCKS as one of the GNU Radio required components in your CMakeLists.txt 
file?

Also, and I suspect this might be the real problem, do you #define BLOCKS_API 
in you .i file? There should be a #define for your module's name already; just 
add this line here along with that one.

Tom




From: trond...@trondeau.commailto:trond...@trondeau.com 
[mailto:trond...@trondeau.commailto:trond...@trondeau.com] On Behalf Of Tom 
Rondeau
Sent: Friday, July 31, 2015 10:27 AM
To: Valenta, Chris R.
Cc: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Building an OOT modules with an In Tree 
Dependency

On Thu, Jul 30, 2015 at 5:26 PM, Valenta, Chris R. 
chris.vale...@gtri.gatech.edumailto:chris.vale...@gtri.gatech.edu wrote:
I’m trying to make an out of tree module based on blocks::file_sink that has 
some additional functionality I need. Right now, I’ve built it OOT, but an 
having trouble getting it to work. The code (file_sink_impl.cc, 
file_sink_impl.h, and file_sink.h -- actual names are different so there are 
no conflicts) are all identical to the ones in tree. I used gr-modtool to 
create the OOT modules with this block and it makes and installs fine. However, 
when I try to use it, I get the following error:

AttributeError: ‘file_sink_sptr’ object has no attribute ‘set_unbuffered’

What I think is happening here is that the OOT version of my code isn’t linking 
to the file_sink_base in gnuradio-blocks to inherit this function. Browsing 
previous mail lists, Marcus Muller noted in the thread ‘ [Discuss-gnuradio] Out 
of Tree linker error... libgnuradio-MYMOD.so:‘ that the problem might be in my 
cmake files. He referenced gr-specest as an example which uses in tree modules. 
I compared the cmakelists.txt in gr-specest to the OOT module directory and in 
the OOT/lib directory and added the BLOCKS references in the appropriate 
places. However, this still hasn’t solved the problems.
Are there any other steps necessary to make and install an OOT modules with in 
tree dependencies?

All of this is running on Ubuntu 14.04LTS with gnuradio 3.7.7.1
The first thing that comes to mind 

Re: [Discuss-gnuradio] Simple BPSK modulation with alternating 1's and 0's

2015-07-22 Thread Nowlan, Sean
FYI - copying the GNU Radio mailing list, which would be a more appropriate 
place to post a question such as this one.

Some comments on your GNU Radio setup:
* You're using a PSK Mod block, which applies a root-raised cosine 
pulse-shaping filter to  the +1/-1 stream, so you wouldn't exactly see +1/-1 at 
the output, but instead the sum of symbol-period delayed filter responses.
* If you look at the documentation for the PSK Mod block in GRC, it will tell 
you that the input expects unsigned chars, which equates to values in the range 
[0,256). Instead of using a vector source, use a Random Source with Minimum=0 
and Maximum=256 to feed the PSK Mod block.
* Your throttle block is what's setting the sample rate in this example, and 
the modulator is using 4 sps (samples-per-symbol), so your symbol rate is 32k/4 
= 8 ksym/s. Since this is BPSK, the data rate is also 8 kbps.
* If you were to use a USRP to transmit, you would set its sample rate and then 
change the SPS to achieve the desired symbol rate: sym_rate = usrp_samp_rate / 
SPS.
* If you're using the QT GUI Constellation Sink, it will display all the 
complex points, including those interpolated by the filter in the PSK Mod 
block. Therefore you won't see symbol-clock sampled constellation points - you 
will also see intermediate points as the signal transitions between 
constellation points.

From: USRP-users [mailto:usrp-users-boun...@lists.ettus.com] On Behalf Of Moon, 
Seung - Exelis via USRP-users
Sent: Wednesday, July 22, 2015 2:55 PM
To: usrp-us...@lists.ettus.com
Subject: [USRP-users] Simple BPSK modulation with alternating 1's and 0's

Hello,

I'm currently working an intern, and my teammate and I are trying to generate a 
simple BPSK modulated signal.
We both lack knowledge on GNURadio and communications for our project, so we 
are hoping to get some help online.
Currently, I have a repeating vector source of alternating 1 and 0 which feeds 
into PSK modulator block (constellation point: 2, gray code: Y, differential 
encoding: Y, sps: 4, excess BW: .35) which feeds into a throttle block (sample 
rate: 32k) which then feeds into a GUI sink.
On the GUI constellation diagram, we see some points that are not situated at 
+1 and -1.
We are not sure on how to interpret what we are seeing on the constellation 
diagram.
From my understanding, BPSK modulation modulates our data to +1 and -1.
Ultimately, we will be using USRP B200 to transmit our signal to lock on to a 
receiver which expects a BPSK modulated signal at certain data rate (let's say 
1kbps).
We are also unsure on how to transmit our data at the desired data rate.
Any guidance will be greatly appreciated.
Thank you for your interest. Have a wonderful day.




This e-mail and any files transmitted with it may be proprietary and are 
intended solely for the use of the individual or entity to whom they are 
addressed. If you have received this e-mail in error please notify the sender. 
Please note that any views or opinions presented in this e-mail are solely 
those of the author and do not necessarily represent those of Exelis Inc. The 
recipient should check this e-mail and any attachments for the presence of 
viruses. Exelis Inc. accepts no liability for any damage caused by any virus 
transmitted by this e-mail.
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Debug Question

2015-07-21 Thread Nowlan, Sean
Neither of these are C++ commands, but they may do what you want:

To limit output to 100 lines, you could do the following:

$ ./my_flowgraph.py | head -n 100

Or insert a head block in your flowgraph and choose an appropriate number of 
samples to process.

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Marcus Müller
Sent: Tuesday, July 21, 2015 3:07 PM
To: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Debug Question

Hi Rich
Best approach is very probable running your flow graph in gdb and specifying a 
break point:

gdb --args python /path/to/flow_graph.py
...
break source_code.cc:121
blablabla not loaded, do you want to add it as soon as blabla? Y
run

if you really want to enforce this in the source code itself:

#include csignal
...

std::raise(std::SIGINT); // not quite sure which namespace raise and SIGINT end 
up in; try without std:: on either

Best regards,
Marcus

On 21.07.2015 20:50, Richard Bell wrote:
I'm looking for a way to stop my flowgraph through a C++ command just so I can 
see a few std::cout debug statements without freezing my console due to massive 
std::couts.
Is there a way of doing this?
Rich




___

Discuss-gnuradio mailing list

Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org

https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Tag Propagation Question

2015-07-20 Thread Nowlan, Sean
First, there may be multiple tags per sample. Use “get_tags_in_range” or 
“get_tags_in_window” to get all the tags you need. Using “get_tags_in_window(0, 
noutput_items, …)” will get you all the tags associated with samples passed as 
your inputs. (Perhaps you know this already and were just choosing a toy 
example, but I wanted to make it clear).

There is a pruning routine in the scheduler that will toss out “old” tags, 
i.e., tags that have been accounted for based on “nitems_read”, which is 
updated when you call consume_each. So I think you will end up getting the last 
5 tags again on the next call to work. But you have already propagated them, so 
you will be adding duplicates. The solution is to only propagate tags in the 
range that you intend to tell the scheduler you’ve consumed.

(Caveat emptor: I haven’t tested this out, but I believe this is how it would 
work).

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Richard Bell
Sent: Monday, July 20, 2015 3:51 PM
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] Tag Propagation Question

If I set_tag_propagation policy(TPP_DONT) and then re-add all tags in range to 
the output, but only produce a portion of the input items to output, what 
effect does this have?
Here is a good corner case example of what I mean:
Suppose I'm given 10 items, and every item has a tag associated with it. I then 
make the following actions

set_tag_propagation policy(TPP_DONT)
for( ii = 0; ii  9; ii++)
{
add_item_tag(0, tags[ii].offset, tags[ii].key, tags[ii].value, 
tags[ii].srcid);
}
consume_each(5);
return 5;
I'm concerned this might cause tags to be added or lost.

Thanks,
Rich
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Flowgraph locking up with Stream Mux

2015-07-09 Thread Nowlan, Sean
Yes, that’s a workaround. My point is that this issue is not obvious to 
somebody who isn’t familiar with how the scheduler works.

When using null sources, it makes sense to just use two of them. But what if 
you’re supplying a data stream and need to inject a synchronization sequence in 
the middle, as GSM does? In this case, my workaround is using a Deinterleave 
block to split a burst of data into two branches fed to the first and third 
ports of a Stream Mux, and a Vector Source with the sync sequence fed to the 
second Mux port. This works fine for me.

I still wonder if there’s a way to prevent people from stumbling into the issue 
that’s causing the lock up.

Sean


From: Richard Bell [mailto:richard.be...@gmail.com]
Sent: Thursday, July 09, 2015 3:40 AM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Flowgraph locking up with Stream Mux

I think it's the fact that you are feeding two different ports of the mux by 
one null source that is the issue. The first ports buffer fills before the 
third ports buffer does. When the first is full, it prevents null source from 
creating new outputs, which will cause the graph to stall on the third port 
waiting for items.


Use two distinct null sources and I think it will run fine.

Sent from my iPhone

On Jul 8, 2015, at 7:26 PM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
I’m somehow getting a simple flowgraph to lock up GNU Radio. It locks up every 
time I run it, after roughly the same amount of time. As you can see in the 
attached image and GRC file, I’m feeding two inputs of a Stream Mux block from 
the same upstream block. Do you imagine why that might cause problems?

I know there are other ways to do what I’ve shown here, but locking up seems 
like a bug.

Thanks,
Sean
simple_failing_flowgraph.png
stream_mux_bug_test.grc
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Flowgraph locking up with Stream Mux

2015-07-08 Thread Nowlan, Sean
Null source just sets all outputs to zero, so it’s equivalent to a constant 
source with the scalar=0.

…
  for(size_t n = 0; n  input_items.size(); n++) {
optr = (void*)output_items[n];
memset(optr, 0, noutput_items * 
output_signature()-sizeof_stream_item(n));
  }
…

I think this is some subtle issue with Stream Mux’s forecast function and how 
it interacts with the scheduler knowing when to advance read pointers from the 
upstream block. This is just a wild guess, though. Also, I’ve seen an upstream 
block connect to two inputs of a Multiply block to create a squaring device, 
and that seems to work just fine. But in Stream Mux’s case, it’s only copying 
from one input at a time.

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Jeon
Sent: Wednesday, July 08, 2015 10:46 PM
To: Discuss GNU Radio mailing list
Subject: Re: [Discuss-gnuradio] Flowgraph locking up with Stream Mux


whileni didnt look into null source block code,

but the basic behavior of null source block is,

it outputs nothing.

So stream mux waits until input blocks pass a given number of samples and it 
takes forever

Regards
Jeon
2015. 7. 9. 오전 11:27에 Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu님이 작성:
I’m somehow getting a simple flowgraph to lock up GNU Radio. It locks up every 
time I run it, after roughly the same amount of time. As you can see in the 
attached image and GRC file, I’m feeding two inputs of a Stream Mux block from 
the same upstream block. Do you imagine why that might cause problems?

I know there are other ways to do what I’ve shown here, but locking up seems 
like a bug.

Thanks,
Sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Flowgraph locking up with Stream Mux

2015-07-08 Thread Nowlan, Sean
I'm somehow getting a simple flowgraph to lock up GNU Radio. It locks up every 
time I run it, after roughly the same amount of time. As you can see in the 
attached image and GRC file, I'm feeding two inputs of a Stream Mux block from 
the same upstream block. Do you imagine why that might cause problems?

I know there are other ways to do what I've shown here, but locking up seems 
like a bug.

Thanks,
Sean


stream_mux_bug_test.grc
Description: stream_mux_bug_test.grc
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Additional code to GRC flowgraph

2015-07-06 Thread Nowlan, Sean
One way to do this is to create a flowgraph, such as foo.grc. This will 
generate a Python file that you can import into another file, bar.py:

#!/usr/bin/env python2

import foo
if __name__ == '__main__':
tb = foo.foo()

   # custom code
print samp_rate:, tb.get_samp_rate()

# standard stuff
tb.start()
try:
raw_input('Press Enter to quit: ')
except EOFError:
pass
tb.stop()
tb.wait()

You can add custom stuff into bar.py while being able to modify foo in GRC. I'm 
not sure if this applies directly to what you want to do, but I've found it 
useful for testing while avoiding having GRC overwrite your custom code.

Of course, another way to do this is to export your flowgraph as a hierarchical 
block, which you then import into a top level flowgraph. Your top level can 
stay the same but you can keep iterating on the hierarchical block.

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Marcus Müller
Sent: Monday, July 06, 2015 9:33 AM
To: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Additional code to GRC flowgraph

As I said, if that's the case, avoid using function probes but just use the 
MPSK estimator (not the estimator probe), and write your own block that just 
takes the tags that come from that, and translates them to messages that you 
send to another block that does something useful with them (e.g. adjusting a 
frequency correction etc.)

Best regards,

Marcus
On 07/06/2015 12:11 PM, Daniel Brogren wrote:
Sorry for for that I thought the imoprt block was a type of block that I 
could create from the modtool.

but

In the import-block I can import modules. But I can still not import actuall 
code into my top_block and I can not call functions from the import-block. What 
I want to avoid is to add code in the top_block manually since I'm normally 
using the GRC to generate the top_block.

/Daniel


Date: Mon, 6 Jul 2015 09:43:24 +0200
From: marcus.muel...@ettus.commailto:marcus.muel...@ettus.com
To: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Additional code to GRC flowgraph

Try the block search (magnifier button in GRC), type in import :)
On 07/06/2015 09:33 AM, Daniel Brogren wrote:
Hi again

I have a MPSK SNR Estimator Probe and a Function Probe that calculates the SNR.

I can not find any information regarding import block.

BR
Daniel Brogren
 Date: Fri, 3 Jul 2015 18:46:12 +0200
 From: marcus.muel...@ettus.commailto:marcus.muel...@ettus.com
 To: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
 Subject: Re: [Discuss-gnuradio] Additional code to GRC flowgraph

 Hi Daniel,

 if your code really just looks like

 from awesometoolkit import skynet
 skynet.kill_sarah()

 you can put that into an import block.

 But: what you describe doesn't sound like you want to modify the top
 block -- it sounds more like you'd want a block to calculate SNR, and
 every f_sample*3 samples change some other block.

 Now, this completely depends on the block where the freq. offset is
 used, but you can just write a block (in python or C++, only matters for
 performance), and give that block an message output port, and send
 messages containing the changed parameter to the block that needs
 adjustment.

 If you take a look at the frequency xlating fir filter block, it has a
 message port named freq, which takes in PMT messages in form of
 tuples; these tuples must be of the form
 pmt.pair(pmt.intern(freq), pmt.from_double(123.131) )


 Best regards,
 Marcus
 On 07/03/2015 04:27 PM, Daniel Brogren wrote:
  Hi
 
  I'm working with a receiver application in GNU Radio Companion. I would 
  like to add some additional code to the top block but I still want to be 
  able to work with the GRC. Is there a way to add this extra code without 
  the code will be removed when I re-generate the flowgraph from GRC
  or
  Could I create a new block that can access the variables in the top block 
  or can execute the set/get functions for the variables in the top block.
 
  What I'm trying to accomplish is that every 3rd second I will check the SNR 
  and then do som trimming of a freq-offset. I'm a newbie with GNU Radio and 
  Python but have read through the guided tutorials.
 
  BR
  Daniel Brogren
  ___
  Discuss-gnuradio mailing list
  Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org
  https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


 ___
 Discuss-gnuradio mailing list
 Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



___

Discuss-gnuradio mailing list

Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org

https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



Re: [Discuss-gnuradio] Include an OOT module in another OOT module?

2015-06-27 Thread Nowlan, Sean
?Strange. It is now working for me, and I don't know what I did to break or fix 
it.


Sean



From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org on behalf of 
Nowlan, Sean sean.now...@gtri.gatech.edu
Sent: Saturday, June 27, 2015 6:27 PM
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] Include an OOT module in another OOT module?


Let's say I've made two OOT projects called gr-first and gr-second. I want to 
link gr-second against gr-first, but CMake isn't finding it.


gr-first/CMakeLists.txt seems to install a helper file: 
$PREFIX/lib/cmake/first/firstConfig.cmake


In gr-second/CMakeLists.txt, I add a line:


find_package(first)


But this does not work. I also tried


include(firstConfig)

find_package(first)


I guess I can hack something together using an example like gr-osmosdr, which 
depends on gr-iqbalance. Although if possible, I'd like to use the default 
helper file and get that working, since that's the whole point of having a 
helper file. Any hints?


Thanks,

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Include an OOT module in another OOT module?

2015-06-27 Thread Nowlan, Sean
Let's say I've made two OOT projects called gr-first and gr-second. I want to 
link gr-second against gr-first, but CMake isn't finding it.


gr-first/CMakeLists.txt seems to install a helper file: 
$PREFIX/lib/cmake/first/firstConfig.cmake


In gr-second/CMakeLists.txt, I add a line:


find_package(first)


But this does not work. I also tried


include(firstConfig)

find_package(first)


I guess I can hack something together using an example like gr-osmosdr, which 
depends on gr-iqbalance. Although if possible, I'd like to use the default 
helper file and get that working, since that's the whole point of having a 
helper file. Any hints?


Thanks,

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] PSK Mod Block

2015-06-23 Thread Nowlan, Sean
This depends on your setup. If you’re just simulating with PSK Mod -- PSK 
Demod and then comparing the input with the output, then you may be seeing some 
initial output from the filters due to the convolution operations. Try 
searching through your output after some delay.

If you disabled differential encoding, you may be seeing a bitstream that is 
not correct due to phase locking with a fixed phase offset at the receiver.

If you’re going over hardware or through a noise channel, you might not have 
enough SNR to decode properly.

If you’re using USRPs, have you experimented with the benchmark_tx/rx scripts? 
These implement various types of single carrier modulation, including many 
variants of PSK.

Sean

From: Surya Agam [mailto:surya11.01a...@gmail.com]
Sent: Tuesday, June 23, 2015 10:53 AM
To: Nowlan, Sean
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] PSK Mod Block

Thank you for the fast respond,

But, when I use PSK Mod then PSK Demod the output different from the input so 
no output from the Packet Decoder. Any suggestion?

On Tue, Jun 23, 2015 at 9:17 PM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
Introducing ISI to a PSK signal with a root-raised cosine (RRC) filter is a 
standard communications technique. At the receiver, use a matched RRC filter to 
eliminate the intentional ISI introduced at the transmitter. This works because 
the combined filter response of the two filters is a raised cosine pulse, which 
satisfies the Nyquist criterion for zero ISI.

In the PSK Mod block, the filter construction is not exposed to the user except 
through the excess bandwidth or roll-off parameter. You could adjust that 
bandwidth factor to be close to zero, but this will create a very long filter. 
If you really want to do what you are saying, it would be worth looking at the 
source code for the PSK Mod block, and taking the filter out. However, it is 
likely that you don’t really want to do this.

Sean

From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org
 
[mailto:discuss-gnuradio-bounces+sean.nowlanmailto:discuss-gnuradio-bounces%2Bsean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org]
 On Behalf Of Surya Agam
Sent: Tuesday, June 23, 2015 9:47 AM
To: GNURadio Discussion List
Subject: [Discuss-gnuradio] PSK Mod Block

Hello,

I wanna use PSK Mod Block, but the ISI is annoying. Why PSK Mod Block have a 
it's own ISI?
And also is there anyway to disable the ISI from the block?

--
Sincerely,

Surya Agam
University Al Azhar of Indonesia, Jakarta



--
Sincerely,

Surya Agam
University Al Azhar of Indonesia, Jakarta
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] PSK Mod Block

2015-06-23 Thread Nowlan, Sean
Introducing ISI to a PSK signal with a root-raised cosine (RRC) filter is a 
standard communications technique. At the receiver, use a matched RRC filter to 
eliminate the intentional ISI introduced at the transmitter. This works because 
the combined filter response of the two filters is a raised cosine pulse, which 
satisfies the Nyquist criterion for zero ISI.

In the PSK Mod block, the filter construction is not exposed to the user except 
through the excess bandwidth or roll-off parameter. You could adjust that 
bandwidth factor to be close to zero, but this will create a very long filter. 
If you really want to do what you are saying, it would be worth looking at the 
source code for the PSK Mod block, and taking the filter out. However, it is 
likely that you don’t really want to do this.

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Surya Agam
Sent: Tuesday, June 23, 2015 9:47 AM
To: GNURadio Discussion List
Subject: [Discuss-gnuradio] PSK Mod Block

Hello,

I wanna use PSK Mod Block, but the ISI is annoying. Why PSK Mod Block have a 
it's own ISI?
And also is there anyway to disable the ISI from the block?

--
Sincerely,

Surya Agam
University Al Azhar of Indonesia, Jakarta
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] PSK Mod Block

2015-06-23 Thread Nowlan, Sean
Looking quickly at the documentation, for PSK Mod and Demod blocks, it appears 
that PSK Mod expects packed bytes (8 bits of meaningful data in each byte) and 
that the Demod block outputs a stream of bits with 1 meaningful bit in the LSB 
position. Use a Repack Bits block. However, you may need to play with the delay 
(insert a Delay Block) to make sure that the Repack Bits block is aligning bits 
into bytes properly.

Mod: The input is a byte stream (unsigned char), treated as a series of packed 
symbols. Symbols are grouped from MSB to LSB.

Demod: The output is a stream of bytes, each representing a recovered bit. The 
most significant bit is reported first.

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Marcus Müller
Sent: Tuesday, June 23, 2015 11:59 AM
To: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] PSK Mod Block

Then you really want some pulse shaping filter, like the RRC that is used by 
default.
On 06/23/2015 05:39 PM, Surya Agam wrote:
My target is using USRP, but still simulate using a noise channel. The output 
of PSK Demod is bit 0 a with some 1 and no input data in the output.

I attach the input and the output screenshot.

On Tue, Jun 23, 2015 at 10:12 PM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
This depends on your setup. If you're just simulating with PSK Mod -- PSK 
Demod and then comparing the input with the output, then you may be seeing some 
initial output from the filters due to the convolution operations. Try 
searching through your output after some delay.

If you disabled differential encoding, you may be seeing a bitstream that is 
not correct due to phase locking with a fixed phase offset at the receiver.

If you're going over hardware or through a noise channel, you might not have 
enough SNR to decode properly.

If you're using USRPs, have you experimented with the benchmark_tx/rx scripts? 
These implement various types of single carrier modulation, including many 
variants of PSK.

Sean

From: Surya Agam 
[mailto:surya11.01a...@gmail.commailto:surya11.01a...@gmail.com]
Sent: Tuesday, June 23, 2015 10:53 AM
To: Nowlan, Sean
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] PSK Mod Block

Thank you for the fast respond,

But, when I use PSK Mod then PSK Demod the output different from the input so 
no output from the Packet Decoder. Any suggestion?

On Tue, Jun 23, 2015 at 9:17 PM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
Introducing ISI to a PSK signal with a root-raised cosine (RRC) filter is a 
standard communications technique. At the receiver, use a matched RRC filter to 
eliminate the intentional ISI introduced at the transmitter. This works because 
the combined filter response of the two filters is a raised cosine pulse, which 
satisfies the Nyquist criterion for zero ISI.

In the PSK Mod block, the filter construction is not exposed to the user except 
through the excess bandwidth or roll-off parameter. You could adjust that 
bandwidth factor to be close to zero, but this will create a very long filter. 
If you really want to do what you are saying, it would be worth looking at the 
source code for the PSK Mod block, and taking the filter out. However, it is 
likely that you don't really want to do this.

Sean

From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org
 
[mailto:discuss-gnuradio-bounces+sean.nowlanmailto:discuss-gnuradio-bounces%2Bsean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org]
 On Behalf Of Surya Agam
Sent: Tuesday, June 23, 2015 9:47 AM
To: GNURadio Discussion List
Subject: [Discuss-gnuradio] PSK Mod Block

Hello,

I wanna use PSK Mod Block, but the ISI is annoying. Why PSK Mod Block have a 
it's own ISI?
And also is there anyway to disable the ISI from the block?

--
Sincerely,

Surya Agam
University Al Azhar of Indonesia, Jakarta



--
Sincerely,

Surya Agam
University Al Azhar of Indonesia, Jakarta



--
Sincerely,

Surya Agam
University Al Azhar of Indonesia, Jakarta




___

Discuss-gnuradio mailing list

Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org

https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Embedded WG

2015-06-19 Thread Nowlan, Sean
On Mon, Jun 15, 2015 at 7:38 PM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:

J Corgan's bootable USB stick on a Minnowboard

 I'm pretty curious how well this worked and if you ran into any issues or had 
 to do anything extra for this combination.

It was as simple as choosing the USB stick from the boot list in BIOS. 
MinnowBoard has a USB 3.0 port, so booting was fairly quick. It operated 
smoothly. I ran volk_profile and gr-benchmark and uploaded results to 
stats.gnuradio.org. The Intel Atom E3825 is mysteriously missing right now, but 
I know I’ve seen it up there. ODROIDXU is also gone, and I know that was up 
there too.

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Embedded WG

2015-06-15 Thread Nowlan, Sean
For the next year,  I'd like to get more people actually using the 
infrastructure

 we have. I'd like to get a list of gnuradio apps together and start validating

 they run on various embedded platforms.



I've been doing a little benchmarking of GR on various embedded platforms, but 
I've been using different O/Ses on each (Ubuntu 14.04.2 LTS on ODROID XU3 and 
C1, Ubuntu 15.04 on RPi2, J Corgan's bootable USB stick on a Minnowboard, and 
OE on E310). For uniformity, I agree that it would be nice to have an OE way to 
do build across all these targets. I've also been working on tuning compile 
flags for XU3. I'm planning to share some results with the community in the 
next few weeks.



I'd also like some feedback on who would attend a WG call sometime in the

 next few weeks.



I'm interested.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] [VOLK] volk_profile failures

2015-06-06 Thread Nowlan, Sean
That makes sense. I installed ORC 0.4.23 and tried to recompile GR, but the 
build is failing on Volk. GCC segfaults a couple times before failing with an 
error on volk_16ic_magnitude_16i_a_orc_impl. Full output here:

https://gist.github.com/nowls/2f6ddf5734e152ca21a7

ORC 0.4.23 was built with:

CFLAGS=-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 
-mfloat-abi=hard -funsafe-math-optimizations

CPPFLAGS=-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7 
-mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations


UHD built fine w/ ORC 0.4.23.


Sean



From: West, Nathan n...@ostatemail.okstate.edu
Sent: Saturday, June 6, 2015 12:57 PM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] [VOLK] volk_profile failures

Most likely.

What we've seen before is that ORC didn't preserve registers according to ARM 
specifications. This basically results in unpredictable data corruption. The 
commit I pointed to is the fix (vpush certain registers if used, then vpop 
after the routine).

The visible corruption is seen by corrupting the test tolerance. If you look at 
ctest -V you should see that the errors are actually the same result, but 
since tolerance gets corrupted the test erroneously is false. The only QA 
failures should be on kernels that have an ORC protokernel, but this bug can 
affect non-ORC protokernels for that kernel.

Nathan


On Sat, Jun 6, 2015 at 12:47 PM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:

​Ok, I will install ORC 0.4.23 from source. Is ORC involved with all the other 
architectures that had failures?


Sean



From: West, Nathan 
n...@ostatemail.okstate.edumailto:n...@ostatemail.okstate.edu
Sent: Friday, June 5, 2015 6:48 PM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] [VOLK] volk_profile failures

Hi Sean,

I didn't read all of the debug info, but your symptoms are a result of ORC 
doing bad things.

You can either uninstall ORC or upgrade to the latest release (0.4.23). The 
commit you really need is this one: 
http://cgit.freedesktop.org/gstreamer/orc/commit/?id=acdaac31c648fd10f1bd0a49c4c33b483bb9c35c

If you choose to upgrade ORC let me know how it goes.

Cheers,
Nathan

On Friday, June 5, 2015, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:

I compiled GNU Radio 3.7.7.1 natively on an ODROID XU3-Lite with Ubuntu 14.04.2 
LTS. I ran volk_profile and got a lot of failures for various embedded 
architectures. Any ideas what could be happening? Could it be something with 
the compile flags I chose?


volk_16ic_s32f_deinterleave_32f_x2: fail on arch neon
volk_16ic_s32f_deinterleave_32f_x2: fail on arch neon
volk_16ic_s32f_deinterleave_32f_x2: fail on arch u_orc
volk_16ic_s32f_deinterleave_32f_x2: fail on arch u_orc
volk_32fc_s32f_magnitude_16i: fail on arch u_orc
volk_32fc_x2_multiply_32fc: fail on arch a_generic
volk_32fc_x2_multiply_32fc: fail on arch a_generic
volk_32fc_x2_multiply_32fc: fail on arch a_generic
volk_32fc_x2_multiply_32fc: fail on arch neon
volk_32fc_x2_multiply_32fc: fail on arch neon
volk_32fc_x2_multiply_32fc: fail on arch neon
volk_32fc_x2_multiply_32fc: fail on arch neon_opttests
volk_32fc_x2_multiply_32fc: fail on arch neon_opttests
volk_32fc_x2_multiply_32fc: fail on arch neon_opttests
volk_32fc_x2_multiply_32fc: fail on arch neonasm
volk_32fc_x2_multiply_32fc: fail on arch neonasm
volk_32fc_x2_multiply_32fc: fail on arch neonasm
volk_32fc_x2_multiply_32fc: fail on arch u_orc
volk_32fc_x2_multiply_32fc: fail on arch u_orc
volk_32fc_x2_multiply_32fc: fail on arch u_orc
volk_32f_sqrt_32f: fail on arch neon
volk_32f_x3_sum_of_poly_32f: fail on arch a_neon
volk_32f_x3_sum_of_poly_32f: fail on arch neonvert
volk_32fc_s32fc_multiply_32fc: fail on arch neon

The full output of volk_profile is here: 
https://gist.github.com/nowls/37c78d89342053bae0ea 
https://gist.github.com/nowls/37c78d89342053bae0ea
Resulting volk_config: https://gist.github.com/nowls/5894fbce1b29325b8f58

Some relevant configuration info taken from CMakeCache.txt (gcc/g++ version and 
C/CXX/ASM flags):

CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++-4.9
CMAKE_CXX_COMPILER_WITH_PATH:FILEPATH=/usr/bin/g++-4.9
CMAKE_CXX_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7 
-mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
CMAKE_CXX_FLAGS_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
CMAKE_CXX_FLAGS_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0
CMAKE_CXX_FLAGS_O2WITHASM:STRING=-Wall -save-temps -g -O2
CMAKE_CXX_FLAGS_O3WITHASM:STRING=-Wall -save-temps -g -O3
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc-4.9
CMAKE_C_COMPILER_WITH_PATH:FILEPATH=/usr/bin/gcc

[Discuss-gnuradio] [VOLK] volk_profile failures

2015-06-05 Thread Nowlan, Sean
I compiled GNU Radio 3.7.7.1 natively on an ODROID XU3-Lite with Ubuntu 14.04.2 
LTS. I ran volk_profile and got a lot of failures for various embedded 
architectures. Any ideas what could be happening? Could it be something with 
the compile flags I chose?


volk_16ic_s32f_deinterleave_32f_x2: fail on arch neon
volk_16ic_s32f_deinterleave_32f_x2: fail on arch neon
volk_16ic_s32f_deinterleave_32f_x2: fail on arch u_orc
volk_16ic_s32f_deinterleave_32f_x2: fail on arch u_orc
volk_32fc_s32f_magnitude_16i: fail on arch u_orc
volk_32fc_x2_multiply_32fc: fail on arch a_generic
volk_32fc_x2_multiply_32fc: fail on arch a_generic
volk_32fc_x2_multiply_32fc: fail on arch a_generic
volk_32fc_x2_multiply_32fc: fail on arch neon
volk_32fc_x2_multiply_32fc: fail on arch neon
volk_32fc_x2_multiply_32fc: fail on arch neon
volk_32fc_x2_multiply_32fc: fail on arch neon_opttests
volk_32fc_x2_multiply_32fc: fail on arch neon_opttests
volk_32fc_x2_multiply_32fc: fail on arch neon_opttests
volk_32fc_x2_multiply_32fc: fail on arch neonasm
volk_32fc_x2_multiply_32fc: fail on arch neonasm
volk_32fc_x2_multiply_32fc: fail on arch neonasm
volk_32fc_x2_multiply_32fc: fail on arch u_orc
volk_32fc_x2_multiply_32fc: fail on arch u_orc
volk_32fc_x2_multiply_32fc: fail on arch u_orc
volk_32f_sqrt_32f: fail on arch neon
volk_32f_x3_sum_of_poly_32f: fail on arch a_neon
volk_32f_x3_sum_of_poly_32f: fail on arch neonvert
volk_32fc_s32fc_multiply_32fc: fail on arch neon

The full output of volk_profile is here: 
https://gist.github.com/nowls/37c78d89342053bae0ea 
https://gist.github.com/nowls/37c78d89342053bae0ea
Resulting volk_config: https://gist.github.com/nowls/5894fbce1b29325b8f58

Some relevant configuration info taken from CMakeCache.txt (gcc/g++ version and 
C/CXX/ASM flags):

CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++-4.9
CMAKE_CXX_COMPILER_WITH_PATH:FILEPATH=/usr/bin/g++-4.9
CMAKE_CXX_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7 
-mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
CMAKE_CXX_FLAGS_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
CMAKE_CXX_FLAGS_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0
CMAKE_CXX_FLAGS_O2WITHASM:STRING=-Wall -save-temps -g -O2
CMAKE_CXX_FLAGS_O3WITHASM:STRING=-Wall -save-temps -g -O3
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc-4.9
CMAKE_C_COMPILER_WITH_PATH:FILEPATH=/usr/bin/gcc-4.9
CMAKE_C_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7 
-mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations
CMAKE_C_FLAGS_DEBUG:STRING=-g
CMAKE_C_FLAGS_DEBUGPARANOID:STRING=-Wall -Wextra -g -O0
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
CMAKE_C_FLAGS_NOOPTWITHASM:STRING=-Wall -save-temps -g -O0
CMAKE_C_FLAGS_O2WITHASM:STRING=-Wall -save-temps -g -O2
CMAKE_C_FLAGS_O3WITHASM:STRING=-Wall -save-temps -g -O3
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
CMAKE_ASM_FLAGS:STRING=-mcpu=cortex-a15.cortex-a7 -mtune=cortex-a15.cortex-a7 
-mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations
CMAKE_ASM_FLAGS_DEBUG:STRING=-g
CMAKE_ASM_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
CMAKE_ASM_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
CMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG


Sean Nowlan

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Trouble with SWIG for packet_formatter_default child class

2015-02-24 Thread Nowlan, Sean
​​


From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org on behalf of 
Nowlan, Sean sean.now...@gtri.gatech.edu
Sent: Tuesday, February 24, 2015 1:27 PM
To: Tom Rondeau; Bastian Bloessl
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Trouble with SWIG for packet_formatter_default 
child class




From: trond...@trondeau.com trond...@trondeau.com on behalf of Tom Rondeau 
t...@trondeau.com
Sent: Tuesday, February 24, 2015 10:32 AM
To: Bastian Bloessl
Cc: Nowlan, Sean; discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Trouble with SWIG for packet_formatter_default 
child class

On Tue, Feb 24, 2015 at 3:00 AM, Bastian Bloessl 
bloe...@ccs-labs.orgmailto:bloe...@ccs-labs.org wrote:
Hi,

I also created a custom header that derives from packet_formatter_default and 
this swig file works for me
https://github.com/bastibl/gr-ieee802-11/blob/master/swig/ieee802_11_swig.i

I forgot why it did it like that, but maybe it helps.

Best,
Bastian

 On 23 Feb 2015, at 22:10, Nowlan, Sean 
 sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:

 From: 
 discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org
  
 [mailto:discuss-gnuradio-bounces+sean.nowlanmailto:discuss-gnuradio-bounces%2Bsean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org]
  On Behalf Of Nowlan, Sean
 Sent: Monday, February 23, 2015 3:10 PM
 To: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
 Subject: [Discuss-gnuradio] Trouble with SWIG for packet_formatter_default 
 child class

 Hi all –

 I’m working on Tom’s packet_handling branch 
 (github.com/trondeau/gnuradio.githttp://github.com/trondeau/gnuradio.git) 
 and building a custom packet formatter. Everything works in C++ land, 
 including QA code. However, SWIG is complaining about undeclared things. I 
 duplicated the CMake and SWIG structures of gnuradio/gr-digital/swig/ for 
 building derived classes such as gr::digital::packet_formatter_counter. Any 
 ideas why this would not work? Thanks!

  first few lines of make errors 

 /home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx: In function 
 ‘PyObject* _wrap_packet_formatter_custom_make(PyObject*, PyObject*, 
 PyObject*)’:
 /home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5030:3: error: 
 ‘sptr’ was not declared in this scope
 sptr result;
 ^
 /home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5030:8: error: 
 expected ‘;’ before ‘result’
 sptr result;
  ^
 /home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5062:7: error: 
 ‘result’ was not declared in this scope
 result = gr::myoot::packet_formatter_custom::make((std::string const 
 )*arg1,(std::string const )*arg2,arg3);
 ^

  gr-myoot/swig/myoot_swig.i 

 /* -*- c++ -*- */

 #define MYOOT_API

 %include gnuradio.i// the common stuff
 //load generated python docstrings
 %include myoot_swig_doc.i
 %{
 #include myoot/packet_formatter_custom.h
 %}
 %include myoot/packet_formatter_custom.h
 GR_SWIG_BLOCK_MAGIC2(myoot, packet_formatter_custom);

 // Properly package up non-block objects
 %include packet_formatter_custom.i


  gr-myoot/swig/packet_formatter_custom.i 

 %template(packet_formatter_custom_sptr) 
 boost::shared_ptrgr::myoot::packet_formatter_custom;
 %pythoncode %{
 packet_formatter_custom_sptr.__repr__ = lambda self: 
 packet_formatter_custom
 packet_formatter_custom = packet_formatter_custom .make;
 %}

 --

 To get it to build, I added the following typedef to 
 gr-myoot/include/myoot/packet_formatter_custom.h :
  …
  public:
  typedef 
 boost:shared_ptrpacket_formatter_custom sptr;
  …

 Now importing SWIG-generated stuff in Python fails:

 import myoot
 Traceback (most recent call last):
 File input, line 1, in module
 File /home/me/target/lib/python2.7/dist-packages/myoot/__init__.py, line 
 29, in module
  from myoot_swig import *
 File /home/me/target/lib/python2.7/dist-packages/myoot/myoot_swig.py, line 
 265, in module
  packet_formatter_custom = packet_formatter_custom .make;
 AttributeError: 'function' object has no attribute 'make'

 This is probably due to a conflict between the definition of sptr: one is 
 being autogenerated by SWIG based on the typedef in 
 include/myoot/packet_formatter_custom.h; the other is the template in 
 swig/packet_formatter_custom.i.

 Now if I build without the special sauce in swig/packet_formatter_custom.i, I 
 can get “import myoot” in Python to work. However, there’s still some strange 
 behavior if I don’t actually assign to a variable.

 import myoot
 from gnuradio import digital
 formatter1 = myoot.packet_formatter_custom(1, 1, 1)
 formatter2 = digital.packet_formatter_counter(1, 1

Re: [Discuss-gnuradio] Trouble with SWIG for packet_formatter_default child class

2015-02-24 Thread Nowlan, Sean


From: trond...@trondeau.com trond...@trondeau.com on behalf of Tom Rondeau 
t...@trondeau.com
Sent: Tuesday, February 24, 2015 10:32 AM
To: Bastian Bloessl
Cc: Nowlan, Sean; discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Trouble with SWIG for packet_formatter_default 
child class

On Tue, Feb 24, 2015 at 3:00 AM, Bastian Bloessl 
bloe...@ccs-labs.orgmailto:bloe...@ccs-labs.org wrote:
Hi,

I also created a custom header that derives from packet_formatter_default and 
this swig file works for me
https://github.com/bastibl/gr-ieee802-11/blob/master/swig/ieee802_11_swig.i

I forgot why it did it like that, but maybe it helps.

Best,
Bastian

 On 23 Feb 2015, at 22:10, Nowlan, Sean 
 sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:

 From: 
 discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org
  
 [mailto:discuss-gnuradio-bounces+sean.nowlanmailto:discuss-gnuradio-bounces%2Bsean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org]
  On Behalf Of Nowlan, Sean
 Sent: Monday, February 23, 2015 3:10 PM
 To: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
 Subject: [Discuss-gnuradio] Trouble with SWIG for packet_formatter_default 
 child class

 Hi all –

 I’m working on Tom’s packet_handling branch 
 (github.com/trondeau/gnuradio.githttp://github.com/trondeau/gnuradio.git) 
 and building a custom packet formatter. Everything works in C++ land, 
 including QA code. However, SWIG is complaining about undeclared things. I 
 duplicated the CMake and SWIG structures of gnuradio/gr-digital/swig/ for 
 building derived classes such as gr::digital::packet_formatter_counter. Any 
 ideas why this would not work? Thanks!

  first few lines of make errors 

 /home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx: In function 
 ‘PyObject* _wrap_packet_formatter_custom_make(PyObject*, PyObject*, 
 PyObject*)’:
 /home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5030:3: error: 
 ‘sptr’ was not declared in this scope
 sptr result;
 ^
 /home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5030:8: error: 
 expected ‘;’ before ‘result’
 sptr result;
  ^
 /home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5062:7: error: 
 ‘result’ was not declared in this scope
 result = gr::myoot::packet_formatter_custom::make((std::string const 
 )*arg1,(std::string const )*arg2,arg3);
 ^

  gr-myoot/swig/myoot_swig.i 

 /* -*- c++ -*- */

 #define MYOOT_API

 %include gnuradio.i// the common stuff
 //load generated python docstrings
 %include myoot_swig_doc.i
 %{
 #include myoot/packet_formatter_custom.h
 %}
 %include myoot/packet_formatter_custom.h
 GR_SWIG_BLOCK_MAGIC2(myoot, packet_formatter_custom);

 // Properly package up non-block objects
 %include packet_formatter_custom.i


  gr-myoot/swig/packet_formatter_custom.i 

 %template(packet_formatter_custom_sptr) 
 boost::shared_ptrgr::myoot::packet_formatter_custom;
 %pythoncode %{
 packet_formatter_custom_sptr.__repr__ = lambda self: 
 packet_formatter_custom
 packet_formatter_custom = packet_formatter_custom .make;
 %}

 --

 To get it to build, I added the following typedef to 
 gr-myoot/include/myoot/packet_formatter_custom.h :
  …
  public:
  typedef 
 boost:shared_ptrpacket_formatter_custom sptr;
  …

 Now importing SWIG-generated stuff in Python fails:

 import myoot
 Traceback (most recent call last):
 File input, line 1, in module
 File /home/me/target/lib/python2.7/dist-packages/myoot/__init__.py, line 
 29, in module
  from myoot_swig import *
 File /home/me/target/lib/python2.7/dist-packages/myoot/myoot_swig.py, line 
 265, in module
  packet_formatter_custom = packet_formatter_custom .make;
 AttributeError: 'function' object has no attribute 'make'

 This is probably due to a conflict between the definition of sptr: one is 
 being autogenerated by SWIG based on the typedef in 
 include/myoot/packet_formatter_custom.h; the other is the template in 
 swig/packet_formatter_custom.i.

 Now if I build without the special sauce in swig/packet_formatter_custom.i, I 
 can get “import myoot” in Python to work. However, there’s still some strange 
 behavior if I don’t actually assign to a variable.

 import myoot
 from gnuradio import digital
 formatter1 = myoot.packet_formatter_custom(1, 1, 1)
 formatter2 = digital.packet_formatter_counter(1, 1)
 myoot.packet_formatter_custom(1, 1, 1)
 Traceback (most recent call last):
 File input, line 1, in module
 File /home/me/target/lib/python2.7/dist-packages/myoot/myoot_swig.py, line 
 261, in lambda
  packet_formatter_custom_sptr.__repr__ = lambda self: gr_block %s (%d) % 
 (self.namehttp://self.name(), self.unique_id())
 AttributeError: 'packet_formatter_custom_sptr' object has no attribute 'name

Re: [Discuss-gnuradio] Trouble with SWIG for packet_formatter_default child class

2015-02-23 Thread Nowlan, Sean
From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Nowlan, Sean
Sent: Monday, February 23, 2015 3:10 PM
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] Trouble with SWIG for packet_formatter_default 
child class

Hi all -

I'm working on Tom's packet_handling branch (github.com/trondeau/gnuradio.git) 
and building a custom packet formatter. Everything works in C++ land, including 
QA code. However, SWIG is complaining about undeclared things. I duplicated the 
CMake and SWIG structures of gnuradio/gr-digital/swig/ for building derived 
classes such as gr::digital::packet_formatter_counter. Any ideas why this would 
not work? Thanks!

 first few lines of make errors 

/home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx: In function 
'PyObject* _wrap_packet_formatter_custom_make(PyObject*, PyObject*, PyObject*)':
/home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5030:3: error: 
'sptr' was not declared in this scope
   sptr result;
   ^
/home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5030:8: error: 
expected ';' before 'result'
   sptr result;
^
/home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5062:7: error: 
'result' was not declared in this scope
   result = gr::myoot::packet_formatter_custom::make((std::string const 
)*arg1,(std::string const )*arg2,arg3);
   ^

 gr-myoot/swig/myoot_swig.i 

/* -*- c++ -*- */

#define MYOOT_API

%include gnuradio.i// the common stuff
//load generated python docstrings
%include myoot_swig_doc.i
%{
#include myoot/packet_formatter_custom.h
%}
%include myoot/packet_formatter_custom.h
GR_SWIG_BLOCK_MAGIC2(myoot, packet_formatter_custom);

// Properly package up non-block objects
%include packet_formatter_custom.i


 gr-myoot/swig/packet_formatter_custom.i 

%template(packet_formatter_custom_sptr) 
boost::shared_ptrgr::myoot::packet_formatter_custom;
%pythoncode %{
packet_formatter_custom_sptr.__repr__ = lambda self: packet_formatter_custom
packet_formatter_custom = packet_formatter_custom .make;
%}

--

To get it to build, I added the following typedef to 
gr-myoot/include/myoot/packet_formatter_custom.h :
...
public:
typedef 
boost:shared_ptrpacket_formatter_custom sptr;
...

Now importing SWIG-generated stuff in Python fails:

 import myoot
Traceback (most recent call last):
  File input, line 1, in module
  File /home/me/target/lib/python2.7/dist-packages/myoot/__init__.py, line 
29, in module
from myoot_swig import *
  File /home/me/target/lib/python2.7/dist-packages/myoot/myoot_swig.py, line 
265, in module
packet_formatter_custom = packet_formatter_custom .make;
AttributeError: 'function' object has no attribute 'make'

This is probably due to a conflict between the definition of sptr: one is being 
autogenerated by SWIG based on the typedef in 
include/myoot/packet_formatter_custom.h; the other is the template in 
swig/packet_formatter_custom.i.

Now if I build without the special sauce in swig/packet_formatter_custom.i, I 
can get import myoot in Python to work. However, there's still some strange 
behavior if I don't actually assign to a variable.

 import myoot
 from gnuradio import digital
 formatter1 = myoot.packet_formatter_custom(1, 1, 1)
 formatter2 = digital.packet_formatter_counter(1, 1)
 myoot.packet_formatter_custom(1, 1, 1)
Traceback (most recent call last):
  File input, line 1, in module
  File /home/me/target/lib/python2.7/dist-packages/myoot/myoot_swig.py, line 
261, in lambda
packet_formatter_custom_sptr.__repr__ = lambda self: gr_block %s (%d) % 
(self.name(), self.unique_id())
AttributeError: 'packet_formatter_custom_sptr' object has no attribute 'name'
 digital.packet_formatter_counter(1, 1)
packet_formatter_default

Note that the sptr in gr-digital is of type packet_formatter_default, meaning 
it inherited the definition of the typedef from packet_formatter_default. In my 
case it didn't work because I used GR_SWIG_BLOCK_MAGIC2 on a non block, so the 
__repr__ definition (above) breaks.

What should I do? I can rely on GR_SWIG_BLOCK_MAGIC2, which is not really the 
right way to generate SWIG templates for a non block, or I can try to get 
things to work without redefining the sptr typedef in the child class. In that 
case, I need to include the proper header file (namely, 
packet_formatter_default.h) from gr-digital. Should I do that explicitly in 
myoot_swig.i, or is there a better way to add gr-digital to include dirs in 
swig/CMakeLists.txt?
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Trouble with SWIG for packet_formatter_default child class

2015-02-23 Thread Nowlan, Sean
Hi all -

I'm working on Tom's packet_handling branch (github.com/trondeau/gnuradio.git) 
and building a custom packet formatter. Everything works in C++ land, including 
QA code. However, SWIG is complaining about undeclared things. I duplicated the 
CMake and SWIG structures of gnuradio/gr-digital/swig/ for building derived 
classes such as gr::digital::packet_formatter_counter. Any ideas why this would 
not work? Thanks!

 first few lines of make errors 

/home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx: In function 
'PyObject* _wrap_packet_formatter_custom_make(PyObject*, PyObject*, PyObject*)':
/home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5030:3: error: 
'sptr' was not declared in this scope
   sptr result;
   ^
/home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5030:8: error: 
expected ';' before 'result'
   sptr result;
^
/home/me/code/gr-myoot/build/swig/myoot_swigPYTHON_wrap.cxx:5062:7: error: 
'result' was not declared in this scope
   result = gr::myoot::packet_formatter_custom::make((std::string const 
)*arg1,(std::string const )*arg2,arg3);
   ^

 gr-myoot/swig/myoot_swig.i 

/* -*- c++ -*- */

#define MYOOT_API

%include gnuradio.i// the common stuff
//load generated python docstrings
%include myoot_swig_doc.i
%{
#include myoot/packet_formatter_custom.h
%}
%include myoot/packet_formatter_custom.h
GR_SWIG_BLOCK_MAGIC2(myoot, packet_formatter_custom);

// Properly package up non-block objects
%include packet_formatter_custom.i


 gr-myoot/swig/packet_formatter_custom.i 

%template(packet_formatter_custom_sptr) 
boost::shared_ptrgr::myoot::packet_formatter_custom;
%pythoncode %{
packet_formatter_custom_sptr.__repr__ = lambda self: packet_formatter_custom
packet_formatter_custom = packet_formatter_custom .make;
%}
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GRC - specifying version for install

2014-12-10 Thread Nowlan, Sean
Hi,  I have only used pybombs to install GRC and it is a fantasic way to get 
this done.  Thanks very much for pybombs!  I do notice though that there is no 
mention of which version will be installed.  For example I have two machines 
GRC installed within about a week of one another a couple of months ago.  One 
machine has 3.7.5 git-0-grbb2b314 while the other has 3.7.6 git-1-g01deede3.  
This past weekend I installed it on a third machine which reports as 3.7.2.1  
All of these machines are to be used within a sensor network and I am weery of 
having differing versions.  Should I be concerned?  Is there an easy way to 
update them to have the same version?  Will I need to wipe everything and 
start fresh on each machine?

Thanks as always
John

John,

I don’t know if there is a more straightforward way to do this, but here’s a 
way you can force a specific branch or tag, like “master” (default) or 
“v3.7.5.1” (latest release). Edit the file “pybombs/recipes/gnuradio.lwr” and 
change the value of “gitbranch”. You will need to rebuild by doing the 
following:

./pybombs clean uhd gnuradio
./pybombs install uhd gnuradio

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Building BOOT.BIN for Zedboard to use with gnuradio-dev-image

2014-12-09 Thread Nowlan, Sean
I'd like to use the gnuradio openembedded SDK and image that are available here 
[1] to reproduce the work here [2] without building my own openembedded image. 
I'm having trouble getting a working boot.bin for Zedboard without doing a full 
openembedded build. I know that there are licensing issues that may prohibit 
distributing an FSBL file, but I've gone ahead and done that using the 
directions in [2]. I'd like to compile boot.bin with the zynq_fsbl.bit I 
created with Xilinx 14.6, uImage, and the device tree binary distributed in 
[1]. However, in order to use the build script in zynq-acp, I need u-boot.elf, 
and [1] only provides u-boot.bin. Is there another way to compile these without 
doing a full openembedded build?

[1]  http://gnuradio.org/data/sdk/zedboard_armv7a-sf-vfp-neon/
[2]  http://gnuradio.org/redmine/projects/gnuradio/wiki/Zynq

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Building BOOT.BIN for Zedboard to use with gnuradio-dev-image

2014-12-09 Thread Nowlan, Sean
On 12/09/2014 12:16 PM, Nick Foster wrote:
 A number of different distributions include a u-boot.elf suitable for 
 the Zedboard. I'm not a linux boot expert, but u-boot seems pretty 
 platform-agnostic when paired with a suitable FSBL.

A lot of u-boots I've found point to a ramdisk filesystem instead of a 
partition.

 
 The images here include a u-boot.elf that works with Zedboard, ZC702, 
 ZC706, etc.
 http://wiki.analog.com/resources/tools-software/linux-software/zynq_im
 ages
 
 Email me directly and I'll just send you the .elf if you're interested.

A pox on people using ancient stuff.
I think Sean wants to load an fpga image early in the boot process.

Not trying to do anything fancy; just trying to reproduce Jonathan Pendlum's 
FFT filter example, which was written back when that ancient stuff was current. 
I think it'd be good for that to be updated for people who want to run GNU 
Radio on Zynq. I know RFNoC will change how that's done with E310, but we don't 
need RFNoC for MicroZed/ZedBoard/ZC70x. I'm happy to help with the writeup 
if/when I figure all this out.

Try the image I posted a few days ago and drop a file called fpga.bin in the 
FAT partition. U-boot SPL will load that fpga.bin file then load u-boot.
You can now build the fsbl directly from u-boot but dropping the ps7* files in 
the right place. (See the OE recipe for how that is done there, and copy if 
you are building u-boot from Xilinx git)

I'll try your newer image.

My understanding is the current release of Xilinx tools will give you
ps7 files with a license that is compatible with the GPL.

Philip

 
 --n
 
 On Tue, Dec 9, 2014 at 7:27 AM, Nowlan, Sean 
 sean.now...@gtri.gatech.edu
 wrote:
 
  I'd like to use the gnuradio openembedded SDK and image that are 
 available here [1] to reproduce the work here [2] without building my 
 own openembedded image. I'm having trouble getting a working boot.bin 
 for Zedboard without doing a full openembedded build. I know that 
 there are licensing issues that may prohibit distributing an FSBL 
 file, but I've gone ahead and done that using the directions in [2]. 
 I'd like to compile boot.bin with the zynq_fsbl.bit I created with 
 Xilinx 14.6, uImage, and the device tree binary distributed in [1]. 
 However, in order to use the build script in zynq-acp, I need 
 u-boot.elf, and [1] only provides u-boot.bin. Is there another way to 
 compile these without doing a full openembedded build?
.


 [1]  http://gnuradio.org/data/sdk/zedboard_armv7a-sf-vfp-neon/

 [2]  http://gnuradio.org/redmine/projects/gnuradio/wiki/Zynq



 Thanks,

 Sean

 ___
 Discuss-gnuradio mailing list
 Discuss-gnuradio@gnu.org
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


 
 
 
 ___
 Discuss-gnuradio mailing list
 Discuss-gnuradio@gnu.org
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
 

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Can a tagged stream block be a source block?

2014-12-04 Thread Nowlan, Sean
On 12/04/2014 04:08 PM, Martin Braun wrote:
 Actually, it's probably something I should fix before people start 
 writing tags by hand. David, until I have that ready you should change 
 that offending line to:
 
 102 if(!d_n_input_items_reqd.empty()  d_n_input_items_reqd[0] ==
 0) { // Otherwise, it's already set from a previous call
 
 parse_length_tags() will then never be called.
 calculate_output_stream_length() however should return a valid length.

This was actually simpler than expected:
https://github.com/mbr0wn/gnuradio/tree/tsb/allow_source

I also put an example in there (see the 2nd commit).


Just to understand the implications of this change to pdu_to_tagged stream, max 
input PDU size is now effectively constrained by the max buffer size that can 
be handled by the scheduler and passed to work(). Correct? That may not be a 
limitation for many people, and I suppose it would have surfaced before if 
someone tried to send a larger PDU into a pdu_to_tagged_stream block connected 
to a downstream tsb-derived block.

I guess the upside is that now you only need one call to work() per PDU and you 
don't need an internal buffer and a stateful work() to push a PDU through.

Sean

Cheers,
M

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] [USRP-users] RFNoC -- Making FPGA design easy from GNU Radio

2014-12-04 Thread Nowlan, Sean

Ettus Research is very excited to announce the release of RFNoC!

[…]

This is very cool. I’ve been looking forward to working with this development.

 Mixing and matching host-based and FPGA-based processing is transparent to 
 the user, and that processing can scale across multiple FPGAs and devices 
 across a network

Does this imply that I could run a GNU Radio application on a Zedboard, for 
instance, with the following data flows:

(1) GR on Zynq ARM -- Zynq FPGA -- GR on Zynq ARM -- B2x0 RF/radio
(2) GR on Zynq ARM -- Zynq FPGA -- GR on Zynq ARM -- X3x0 FPGA -- X3x0 
RF/radio

I think (1) is similar or identical to Jonathon Pendlum’s FPGA filter demo. 
What I’m more curious about is how easy it is to build a single GR flowgraph 
that mixes GR processing with FPGAs that live either in Zynq or connected 3x0 
series devices. It sounds like this kind of support is an explicit goal of 
RFNoC.
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Dev call tomorrow? + digital mod/demod questions

2014-11-19 Thread Nowlan, Sean
It looks like there's a dev call tomorrow. Is that 1700 or 1800 UTC? 
https://gnuradio.org/redmine/projects/gnuradio/wiki/Call20141120

As for input to the digital mod and packet structure discussion, I have a few 
questions, or at least food-for-thought for tomorrow:

-  It looks like the correlate_and_sync work is promising for allowing 
carrier and timing recovery loops to adjust more quickly when dealing with 
bursty, packetized traffic. However, most of the GR modem applications I've 
seen use the correlate_access_code block without the time and phase estimates 
being done on the preamble. I know the paradigm is slightly different, i.e. 
matched-filter preamble correlator vs. counting access code bit errors after MF 
and slicing, but is the intent to eventually merge the two approaches together?

-  What's the best way to handle the sudden ramp in power at the start 
of a burst? Use squelch to detect power above a threshold? Use AGC? This may be 
a fundamental radio receiver design question but I think it makes sense to ask 
it in the context of how these blocks are implemented. In gr-air-modes it looks 
like the preamble detector scans for a rapid change in sample voltage before 
initiating a preamble search. This seems more efficient if packet traffic is 
expected to be low, otherwise all you're doing is correlating against noise 
(correlate_and_sync) or junk bit decisions (correlate_access_code). If I've 
misunderstood anything here, please advise.

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Transmitting bursts with GRC by inserting SOB and EOB

2014-10-21 Thread Nowlan, Sean
From Marcus:
 ... and that (wut) might be a bug, because it implies that, if the stream has 
 both a time tag and a sob tag, the 
 question whether the tx metadata has a time tag depends on in which order 
 these tags are sorted on the the
 tag storage multimap. Which might be random, because tags are sorted only by 
 tag offset.
 @Martin: is there a reason that this is explicitely set to false here, or can 
 one just fix this by deleting a line?

This appears to be handled correctly. Given the same tag offset, the order of 
tx_time vs. tx_sob tags should not matter. If tx_time is found first, it sets 
found_time_tag=true and _metadata.has_time_spec=true (lines 652  653). Then 
_metadata.has_time_spec is overwritten in the tx_sob check (line 665) with 
'false', but is set back to 'true'  in line 743 due to found_time_tag being 
true.

  if (found_time_tag) {
_metadata.has_time_spec = true;
  }

If instead tx_sob is found first and tx_time second, then the time spec will 
also be set in line 743. So the question is whether setting 
_metadata.has_time_spec=false is really necessary. I'd say it's worth keeping 
in case the user doesn't always want to use tx_time stamps. The user may want 
to schedule some bursts but force others to transmit as soon as possible while 
still using the ATR functionality of the USRP. 

I know all this logic can be hard to follow, but it has to handle so many 
different cases and possibly span many calls to work and tag_work. 

From Frederik:
 Unfortunately, even with the newest version the USRP is still transmitting 
 its carrier over the air. I tried both with
 the Message Burst Source as well as with the Stream to Tagged Stream Block 
 combined with setting a Length Tag
 name in the USRP Sink. With the Tag Debug Block I see tx_sob+tx_eob and the 
 Length Tag, respectively. They all
 seem to be at the right place and have the right value.
 
 The Length Tag should arrive properly at the Sink. I checked by changing the 
 tag's name at the Stream to Tagged 
 Stream Block to something stupid and finally got an tG printed out.

It should be mentioned that there are two burst tag interfaces that cannot be 
mixed. if a Length Tag Name is specified to the constructor, all tx_sob and 
tx_eob tags will be ignored in tag_work to ensure the interfaces are mutually 
exclusive. If no Length Tag Name is specified, then tag_work will search for 
tx_sob/tx_eob tags and won't look for length tags.

Sean

On 21.10.2014 15:53, Frederik Wing wrote:
 Hi Marcus,
 I cannot believe that there is no solution to it since the 
 tags_demo application shows that it is indeed possible.
 :-/
 that makes the two of us! I didn't get that when using tags_demo, 
 you're not seeing the carrier that you use tags_demo; as far as I 
 understood, your application does exactly the same, sending bursts 
 with sob/eob tags?
 
 That's right. tags_demo works perfectly. No carrier in between the 
 bursts. The flow graph I posted before sends exactly one burst with 
 SOB and EOB tags. The only difference to tags_demo I could recognize 
 so far is that I don't assign time stamps to the samples.
 But this shouldn't be a problem, should it?
 
 Frederik
 
 
 ___ Discuss-gnuradio 
 mailing list Discuss-gnuradio@gnu.org 
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
 
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEcBAEBAgAGBQJURnbzAAoJEAFxB7BbsDrL2nEIAJnutUguHZy3qb0delF4EEoZ
Wh+ikhML4LpzX76omgESTBzCIL+yeSzpwyF4+xFMs/laONrFoSYjKrIPicOUC85K
pKbddIT1eYC4ulDLViEAK7G+f3h8d6fj8NvVlBOYflyz/z8kfT5Ow2P7vT2osPbi
MrY9to3MQVGHriakq6mzf5cUe/F54YmscikEofrZXZj2EqwknULehS0Q0tm/Ms0L
G+OamkGyPdsyxn8vmR2yMOScHSKxWF0yINYzf+jLJ4ypmbYUmn+99lsDZoyF9bJ3
L93I6IaRgUReawdYjvfSmDMOL1n0t1zyp9GBgBTly4JtfD2Rcvfn8al6FSzOZv8=
=V3EN
-END PGP SIGNATURE-

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Transmitting bursts with GRC by inserting SOB and EOB

2014-10-21 Thread Nowlan, Sean
I'm concerned that the problem Frederik is observing has to do with the very 
short burst he is sending, something like 5 samples. I suspect this requires 1 
call each to work and tag_work per 5 sample burst, which seems like an awful 
lot of context switching and overhead.

-Original Message-
From: Marcus Müller [mailto:mar...@hostalia.de] 
Sent: Tuesday, October 21, 2014 1:24 PM
To: Nowlan, Sean; discuss-gnuradio@gnu.org; Martin Braun
Subject: Re: [Discuss-gnuradio] Transmitting bursts with GRC by inserting SOB 
and EOB

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Sean,

aaah good catch! Yes, that's right; sob is safe.

Cheers,
Marcus



On 21.10.2014 19:19, Nowlan, Sean wrote:
 From Marcus:
 ... and that (wut) might be a bug, because it implies that, if the 
 stream has both a time tag and a sob tag, the question whether the tx 
 metadata has a time tag depends on in which order these tags are 
 sorted on the the tag storage multimap. Which might be random, 
 because tags are sorted only by tag offset.
 @Martin: is there a reason that this is explicitely set to false 
 here, or can one just fix this by deleting a line?
 
 This appears to be handled correctly. Given the same tag offset, the 
 order of tx_time vs. tx_sob tags should not matter. If tx_time is 
 found first, it sets found_time_tag=true and 
 _metadata.has_time_spec=true (lines 652  653). Then 
 _metadata.has_time_spec is overwritten in the tx_sob check (line
 665) with 'false', but is set back to 'true'  in line 743 due to 
 found_time_tag being true.
 
 if (found_time_tag) { _metadata.has_time_spec = true; }
 
 If instead tx_sob is found first and tx_time second, then the time 
 spec will also be set in line 743. So the question is whether setting 
 _metadata.has_time_spec=false is really necessary. I'd say it's worth 
 keeping in case the user doesn't always want to use tx_time stamps. 
 The user may want to schedule some bursts but force others to transmit 
 as soon as possible while still using the ATR functionality of the 
 USRP.
 
 I know all this logic can be hard to follow, but it has to handle so 
 many different cases and possibly span many calls to work and 
 tag_work.
 
 From Frederik:
 Unfortunately, even with the newest version the USRP is still 
 transmitting its carrier over the air. I tried both with the Message 
 Burst Source as well as with the Stream to Tagged Stream Block 
 combined with setting a Length Tag name in the USRP Sink.
 With the Tag Debug Block I see tx_sob+tx_eob and the Length Tag, 
 respectively. They all seem to be at the right place and have the 
 right value.
 
 The Length Tag should arrive properly at the Sink. I checked by 
 changing the tag's name at the Stream to Tagged Stream Block to 
 something stupid and finally got an tG printed out.
 
 It should be mentioned that there are two burst tag interfaces that 
 cannot be mixed. if a Length Tag Name is specified to the constructor, 
 all tx_sob and tx_eob tags will be ignored in tag_work to ensure the 
 interfaces are mutually exclusive. If no Length Tag Name is specified, 
 then tag_work will search for tx_sob/tx_eob tags and won't look for 
 length tags.
 
 Sean
 
 On 21.10.2014 15:53, Frederik Wing wrote:
 Hi Marcus,
 I cannot believe that there is no solution to it since the  
 tags_demo application shows that it is indeed possible.
 :-/
 that makes the two of us! I didn't get that when using tags_demo, 
 you're not seeing the carrier that you use tags_demo; as far as I 
 understood, your application does exactly the same, sending bursts 
 with sob/eob tags?
 
 That's right. tags_demo works perfectly. No carrier in between the 
 bursts. The flow graph I posted before sends exactly one burst with 
 SOB and EOB tags. The only difference to tags_demo I could recognize 
 so far is that I don't assign time stamps to the samples. But this 
 shouldn't be a problem, should it?
 
 Frederik
 
 
 ___ Discuss-gnuradio  
 mailing list Discuss-gnuradio@gnu.org 
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
 
 -BEGIN PGP SIGNATURE- Version: GnuPG v1
 
 iQEcBAEBAgAGBQJURnbzAAoJEAFxB7BbsDrL2nEIAJnutUguHZy3qb0delF4EEoZ
 Wh+ikhML4LpzX76omgESTBzCIL+yeSzpwyF4+xFMs/laONrFoSYjKrIPicOUC85K
 pKbddIT1eYC4ulDLViEAK7G+f3h8d6fj8NvVlBOYflyz/z8kfT5Ow2P7vT2osPbi
 MrY9to3MQVGHriakq6mzf5cUe/F54YmscikEofrZXZj2EqwknULehS0Q0tm/Ms0L
 G+OamkGyPdsyxn8vmR2yMOScHSKxWF0yINYzf+jLJ4ypmbYUmn+99lsDZoyF9bJ3
 L93I6IaRgUReawdYjvfSmDMOL1n0t1zyp9GBgBTly4JtfD2Rcvfn8al6FSzOZv8=
 =V3EN -END PGP SIGNATURE-
 
 ___ Discuss-gnuradio 
 mailing list Discuss-gnuradio@gnu.org 
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
 
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEcBAEBAgAGBQJURparAAoJEAFxB7BbsDrLiT8H/0qUJ6qkMEgWdp7q1eKTr3Bm
hq4P6pIAXxXkmIRWVy+pn2uZ2zunvv0/2e/NcE4RMppuxTlT8HvjeKb0aKDMIxE2
spVqN/nuue5JSRAbQJIvI69jJytGgqzxvjY2EyWHSZPKtXB3Hc5a/PoMGY3EZb45
hZ

Re: [Discuss-gnuradio] Transmitting bursts with GRC by inserting SOB and EOB

2014-10-21 Thread Nowlan, Sean
  ##

  # Variables

  ##

  self.tx_gain = tx_gain = 15

  self.samp_rate = samp_rate = 20

  self.f_center = f_center = 1.47e9

  self.device = device = type=usrp2



  ##

  # Blocks

  ##

  self.usrp_sink = uhd.usrp_sink(

  device_addr=device,

  stream_args=uhd.stream_args(

  cpu_format=fc32,

  length_tag_name=packet_len,

  channels=range(1),

  ),

  )

  self.usrp_sink.set_samp_rate(samp_rate)

  self.usrp_sink.set_center_freq(f_center, 0)

  self.usrp_sink.set_gain(tx_gain, 0)

  self.usrp_sink.set_antenna(TX/RX, 0)

  self.blocks_vector_source_x_0 =

 blocks.vector_source_c((1,)*5, False, 1, [])

  self.blocks_stream_to_tagged_stream_0 =

 blocks.stream_to_tagged_stream(gr.sizeof_gr_complex, 1, 5,

 packet_len)



  ##

  # Connections

  ##

  self.connect((self.blocks_vector_source_x_0, 0),

 (self.blocks_stream_to_tagged_stream_0, 0))

  self.connect((self.blocks_stream_to_tagged_stream_0, 0),

 (self.usrp_sink, 0))

 It's not working either... I can still observe the carrier at the receiver.

 - You'll know if your USRP hasn't acknowledged tx_eob if you see 'U's

 between bursts.

 I am getting exactly one U. Both for the code in my previous post as

 well as for the above one. It really seems like the USRP is not

 recognizing the stream tags.



There are a few things to consider with this flowgraph (as posted):

1)  Your vector source is set to /not/ repeat. After your flowgraph 
terminates, is that when you observe the LO still running?

2)  You're essentially sending a very short rectangular pulse modulated 
onto a carrier, which in the frequency domain would look like a sinc function 
centered at the carrier. Is this what you want, or are you just experimenting 
with the burst interface?

3)  Is there a reason your burst pulses need to contain so few samples?

Could you provide some information about what you're trying to do in your end 
application?

Sean


From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Marcus Müller
Sent: Tuesday, October 21, 2014 1:41 PM
To: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Transmitting bursts with GRC by inserting SOB 
and EOB

Sean,

interesting point.

Frederik,

How does your carrier look when you send bursts of 500 samples?

Greetings,
Marcus

On 21.10.2014 19:29, Nowlan, Sean wrote:
 I'm concerned that the problem
  Frederik is observing has to do with the very short burst he is
  sending, something like 5 samples. I suspect this requires 1 call
  each to work and tag_work per 5 sample burst, which seems like an
  awful lot of context switching and overhead.

  

   -Original Message-

   From: Marcus Müller [mailto:mar...@hostalia.de]

   Sent: Tuesday, October 21, 2014 1:24 PM

   To: Nowlan, Sean; 
discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org; Martin Braun

   Subject: Re: [Discuss-gnuradio] Transmitting bursts with GRC
  by inserting SOB and EOB

  

Hi Sean,

aaah good catch! Yes, that's right; sob is safe.

Cheers,
Marcus



On 21.10.2014 19:19, Nowlan, Sean wrote:
 From Marcus:
 ... and that (wut) might be a bug, because it implies that, if the
 stream has both a time tag and a sob tag, the question whether the tx
 metadata has a time tag depends on in which order these tags are
 sorted on the the tag storage multimap. Which might be random,
 because tags are sorted only by tag offset.
 @Martin: is there a reason that this is explicitely set to false
 here, or can one just fix this by deleting a line?

 This appears to be handled correctly. Given the same tag offset, the
 order of tx_time vs. tx_sob tags should not matter. If tx_time is
 found first, it sets found_time_tag=true and
 _metadata.has_time_spec=true (lines 652  653). Then
 _metadata.has_time_spec is overwritten in the tx_sob check (line
 665) with 'false', but is set back to 'true'  in line 743 due to
 found_time_tag being true.

 if (found_time_tag) { _metadata.has_time_spec = true; }

 If instead tx_sob is found first and tx_time second, then the time
 spec will also be set in line 743. So the question is whether setting
 _metadata.has_time_spec=false is really necessary. I'd say it's worth
 keeping in case the user doesn't always want to use tx_time stamps.
 The user may want to schedule some

Re: [Discuss-gnuradio] Error: undefined symbol: volk_malloc

2014-09-26 Thread Nowlan, Sean
ImportError: /usr/local/lib/libgnuradio-filter-3.7.3.so.0.0.0: undefined 
symbol: volk_malloc

It's possible that parts of the build are out of sync. I recommend rebuilding / 
reinstalling GNU Radio.

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Problems building GNURadio

2014-09-21 Thread Nowlan, Sean
I'm using the cross compiling environment to take advantage of the latest 
updates to ARM VOLK kernels. My build environment is identical to the one 
described in the Wiki page for embedded, except that it was necessary to add 
-mtune=cortex-a9 to get the Neon assembly files to compile in volk. Before 
adding this flag, I got this error:


[  0%] Building ASM object 
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s.o
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:
 Assembler messages:
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:35:
 Error: selected processor does not support ARM mode `veor realAccQ,realAccQ'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:36:
 Error: selected processor does not support ARM mode `veor compAccQ,compAccQ'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:42:
 Error: selected processor does not support ARM mode `vld1.32 
{d4-d5},[taps:128]!'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:43:
 Error: selected processor does not support ARM mode `vld2.32 
{d18-d21},[input:128]!'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:50:
 Error: selected processor does not support ARM mode `vmul.f32 
realMul,tapsVal,inRealVal'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:51:
 Error: selected processor does not support ARM mode `vmul.f32 
compMul,tapsVal,inCompVal'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:52:
 Error: selected processor does not support ARM mode `vadd.f32 
realAccQ,realAccQ,realMul'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:53:
 Error: selected processor does not support ARM mode `vadd.f32 
compAccQ,compAccQ,compMul'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:54:
 Error: selected processor does not support ARM mode `vld1.32 
{d4-d5},[taps:128]!'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:55:
 Error: selected processor does not support ARM mode `vld2.32 
{d18-d21},[input:128]!'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:61:
 Error: selected processor does not support ARM mode `vpadd.f32 d0,d0,d1'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:62:
 Error: selected processor does not support ARM mode `vpadd.f32 d2,d2,d3'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:63:
 Error: selected processor does not support ARM mode `vadd.f32 realAccS,s0,s1'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:64:
 Error: selected processor does not support ARM mode `vadd.f32 compAccS,s4,s5'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:71:
 Error: selected processor does not support ARM mode `vld1.32 {d4[0]},[taps]!'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:72:
 Error: selected processor does not support ARM mode `vld2.32 
{d5[0],d6[0]},[input]!'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:73:
 Error: selected processor does not support ARM mode `vmul.f32 s5,s8,s12'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:74:
 Error: selected processor does not support ARM mode `vmul.f32 s6,s8,s10'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:75:
 Error: selected processor does not support ARM mode `vadd.f32 
realAccS,realAccS,s5'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:76:
 Error: selected processor does not support ARM mode `vadd.f32 
compAccS,compAccS,s6'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:82:
 Error: selected processor does not support ARM mode `vst1.32 {d0[0]},[result]!'
/home/snowlan3/pybombs/src/gnuradio/volk/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s:83:
 Error: selected processor does not support ARM mode `vst1.32 {d2[0]},[result]'
make[2]: *** 

Re: [Discuss-gnuradio] ZedBoard GNU Radio image boot problems

2014-09-04 Thread Nowlan, Sean

On Wed, Sep 3, 2014 at 4:30 PM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
I’m trying to boot a ZedBoard with the GNU Radio image here: 
http://gnuradio.org/data/sdk/zedboard_armv7a-hf-vfp-neon/. I picked the hard 
float image even though the tutorial points to the soft float image 
(http://gnuradio.org/redmine/projects/gnuradio/wiki/Zynq). I don’t know why I’d 
want the soft float image since using the FPU will be much faster.

There's a bug in ORC on hard float. So we were looking into soft float + ORC or 
hard flow - ORC. Now that we've checked in all of Nathan's NEON VOLK kernels to 
GNU Radio, we mostly cover all of the cases where we were benefiting from ORC.

Bottom line, at this point in the development, use hard float. We will likely 
stop all support of soft float images in the future.


I followed the directions at the aforementioned tutorial except I renamed 
“u-boot.bin” to “BOOT.BIN” and “uImage-zedboard-zynq7.dtb” to “devicetree.dtb”. 
I could not get the board to boot. The USB-to-UART triggers cdc_acm to load 
/dev/ttyACM0 on my Linux host PC, but there is no activity over serial. I’m 
confident the board is not dead because I am able to boot from the preloaded SD 
card that came with the ZedBoard development kit. Does anybody have any 
suggestions? It seems like either some step is missing or I am misunderstanding 
a step in the tutorial.

Thanks,
Sean Nowlan

u-boot.bin != BOOT.BIN. I know it feels like it should, but it's missing the 
first stage boot loader (fsbl). There are licensing issues with distributing 
that ourselves. I might have the details slightly wrong since it's been a 
while. But basically, follow the instructions on the Zynq wiki you linked to 
above to build your of fsbl file and properly build your own boot.bin. Then 
DON'T LOSE THAT FILE. That'll be pretty much permanent for your uses. You did 
the right thing with the device tree file, as that might be updated and changed 
and we'll continue providing that.

Tom

Ok. I was afraid of that, but it’s not clear in the tutorial. Also, I see the 
process for building BOOT.BIN in Appendix A. I think things would be more clear 
if the “Pre-built” wiki section had a paragraph explicitly referring to 
Appendix A as a necessary step before using pre-built images (second stage boot 
loader, kernel, boot parameters, rootfs, etc.) for everything else. In my mind 
it seemed like that step only applied if doing a full OpenEmbedded build.

Thanks!
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] ZedBoard GNU Radio image boot problems

2014-09-03 Thread Nowlan, Sean
I'm trying to boot a ZedBoard with the GNU Radio image here: 
http://gnuradio.org/data/sdk/zedboard_armv7a-hf-vfp-neon/. I picked the hard 
float image even though the tutorial points to the soft float image 
(http://gnuradio.org/redmine/projects/gnuradio/wiki/Zynq). I don't know why I'd 
want the soft float image since using the FPU will be much faster.

I followed the directions at the aforementioned tutorial except I renamed 
u-boot.bin to BOOT.BIN and uImage-zedboard-zynq7.dtb to devicetree.dtb. 
I could not get the board to boot. The USB-to-UART triggers cdc_acm to load 
/dev/ttyACM0 on my Linux host PC, but there is no activity over serial. I'm 
confident the board is not dead because I am able to boot from the preloaded SD 
card that came with the ZedBoard development kit. Does anybody have any 
suggestions? It seems like either some step is missing or I am misunderstanding 
a step in the tutorial.

Thanks,
Sean Nowlan
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GNU Radio support on MicroZed

2014-08-26 Thread Nowlan, Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Tom Rondeau
Sent: Tuesday, August 26, 2014 10:10 AM
To: Stephen Harrison
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] GNU Radio support on MicroZed

On Sat, Aug 23, 2014 at 11:42 PM, Stephen Harrison 
msteveharri...@gmail.commailto:msteveharri...@gmail.com wrote:
Hi Sean,

Is the Linaro distribution possible on MicroZed? I spent a long time trying to 
get OpenEmbedded to happen with no success. The Linaro distribution was a snap 
and I got GNURadio running no problem on the ZedBoard.

Stephen

For reference on getting OE working, see our Embedded page:

http://gnuradio.org/redmine/projects/gnuradio/wiki/Embedded

Though I can't speak directly to the MicroZed.

Tom

Thanks, all, for the pointers. I’ll see if I can get MicroZed boot files to 
launch into the GNU Radio rootfs image.

Thanks,
Sean


On Sat, Aug 23, 2014 at 6:55 PM, West, Nathan 
n...@ostatemail.okstate.edumailto:n...@ostatemail.okstate.edu wrote:
On Fri, Aug 22, 2014 at 7:10 PM, Nowlan, Sean
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
 I'm not the world's foremost expert in OpenEmbedded (read: person with
 nearly no knowledge of how to use it). I'd like to get GNU Radio working on
 a MicroZed. Unfortunately that board is not among the boards supported as
 mentioned here: http://gnuradio.org/redmine/projects/gnuradio/wiki/Zynq
 Also, I don't necessarily need John Pendlum's changes to add userspace
 support for interfacing with the FPGA. I just want to get the ARM running
 GNU Radio.


 The meta-xilinx-community repo claims to support a BSP and build for
 MicroZed:
 http://git.yoctoproject.org/cgit/cgit.cgi/meta-xilinx-community/about/  How
 do I go about merging these two things together? I've taken my best guess as
 to how to setup a configuration with Poky:


 Build Configuration:
 BB_VERSION= 1.23.1
 BUILD_SYS = x86_64-linux
 NATIVELSBSTRING   = Ubuntu-13.10
 TARGET_SYS= arm-poky-linux-gnueabi
 MACHINE   = microzed-zynq7
 DISTRO= poky
 DISTRO_VERSION= 1.6+snapshot-20140822
 TUNE_FEATURES =  arm armv7a vfp neon zynq
 TARGET_FPU= vfp-neon
 meta
 meta-yocto
 meta-yocto-bsp= master:34436672f3ef4915e7526770a0fa8dcff328f93d
 meta-xilinx   = master:83bf54daeaca21879290bf444876f9949b117454
 meta-xilinx-community = master:a093287b81d446435d44cf238a9240782a80e1b7
 meta-oe
 meta-networking
 meta-filesystems  = master:8f637f9bbcdda1dc7a1998d243708c727aa6016f
 meta-sdr  = master:21e2722a5e6671fd98268241f216e087f279566d

 Am I on the right track here? It's still fetching/building/etc. I'm not too
 confident it will actually work, since I don't really know what I'm doing.

 Thanks,
 Sean


Hi Sean,

The embedded page might be more useful:
http://gnuradio.org/redmine/projects/gnuradio/wiki/embedded Especially
check out the link to SDKs. There's a rootfs and modules built for a
zedboard, all you'll need are device specific boot files. Just create
the right partitions on your card and the provided rootfs and modules
should be sufficient. (extract the rootfs to the / mounted partition
on the SD card). Hopefully that can get you booting

Nathan
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GNU Radio support on MicroZed

2014-08-26 Thread Nowlan, Sean
Be careful what branch of meta-xilinx-community you use. If it is useful, I 
can look at adding it to the repo manifest to try and keep things in sync.

I tried bitbaking again and ran into problems. I used the daisy branch on 
meta-xilinx-community. I also replaced github.com/Xilinx/meta-xilinx with 
git.yoctoproject.org/meta-xilinx in repo manifest.xml, also using daisy branch. 
I initially used the directions at 
https://github.com/balister/oe-gnuradio-manifest to set everything up and then 
made the aforementioned changes, and added meta-xilinx-community to 
bblayers.conf. No dice. Do you know if Yocto's and Xilinx's meta-xilinx layers 
are too different to be substituted? Is there a way to pull the microzed-zynq7 
machine diffs into Xilinx/meta-xilinx? I'm kind of surprised Xilinx hasn't 
already added MicroZed support there.

Philip

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] GNU Radio support on MicroZed

2014-08-22 Thread Nowlan, Sean
I'm not the world's foremost expert in OpenEmbedded (read: person with nearly 
no knowledge of how to use it). I'd like to get GNU Radio working on a 
MicroZed. Unfortunately that board is not among the boards supported as 
mentioned here: http://gnuradio.org/redmine/projects/gnuradio/wiki/Zynq 
http://gnuradio.org/redmine/projects/gnuradio/wiki/Zynq  Also, I don't 
necessarily need John Pendlum's changes to add userspace support for 
interfacing with the FPGA. I just want to get the ARM running GNU Radio.


The meta-xilinx-community repo claims to support a BSP and build for MicroZed: 
http://git.yoctoproject.org/cgit/cgit.cgi/meta-xilinx-community/about/ 
http://git.yoctoproject.org/cgit/cgit.cgi/meta-xilinx-community/about/  How do 
I go about merging these two things together? I've taken my best guess as to 
how to setup a configuration with Poky:


Build Configuration:
BB_VERSION= 1.23.1
BUILD_SYS = x86_64-linux
NATIVELSBSTRING   = Ubuntu-13.10
TARGET_SYS= arm-poky-linux-gnueabi
MACHINE   = microzed-zynq7
DISTRO= poky
DISTRO_VERSION= 1.6+snapshot-20140822
TUNE_FEATURES =  arm armv7a vfp neon zynq
TARGET_FPU= vfp-neon
meta
meta-yocto
meta-yocto-bsp= master:34436672f3ef4915e7526770a0fa8dcff328f93d
meta-xilinx   = master:83bf54daeaca21879290bf444876f9949b117454
meta-xilinx-community = master:a093287b81d446435d44cf238a9240782a80e1b7
meta-oe
meta-networking
meta-filesystems  = master:8f637f9bbcdda1dc7a1998d243708c727aa6016f
meta-sdr  = master:21e2722a5e6671fd98268241f216e087f279566d

?Am I on the right track here? It's still fetching/building/etc. I'm not too 
confident it will actually work, since I don't really know what I'm doing.

Thanks,
Sean



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] comments on stream tags and metadata storage

2014-07-17 Thread Nowlan, Sean
 
 From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
 discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org on behalf of 
 Peter A. Bigot p...@pabigot.com
 Sent: Thursday, July 17, 2014 6:11 PM
 To: discuss-gnuradio@gnu.org
 Subject: [Discuss-gnuradio] comments on stream tags and metadata storage
 
 Some comments after playing with stream tags and metadata this
 afternoon.


I can't speak to all of these issues due to not having played around much with 
the file_meta_sink and tagged_file_sink blocks but I have some responses to 
some of your comments/questions.
 
 (1) Although the discussion of stream tag insertion hints that this
 should be done within the scheduler's call to work() it could be more
 clear that doing it in any other context can result in race conditions.
 (I did think I saw it stated more clearly somewhere, but can't find
 that now, so maybe this point has been addressed.)
 
 (2) In the current implementation it's further necessary that tags be
 added to an output in monotonic non-decreasing offset order.
 file_meta_sink does not sort the return value from get_tags_in_range(),
 and emits all data up to the timestamp of the next tag, so a subsequent
 tag with an earlier offset is dropped from the archive.
 
 (I note that tagged_file_sink() does sort the tags it receives in one
 case, but not in others.)
 
 I don't see this requirement on ordered generation documented.  In some
 cases, it may be inconvenient to do this, e.g. when a block's analysis
 discovers after-the-fact that something interesting can be associated
 with a past sample.  Similarly, a user might want a block to associate
 a tag with sample that not yet arrived, to notify a downstream block
 that will need to process the event.


I don't think that ordered generation is required per se, but certain blocks 
sort and others don't. For instance, the tag_work function in usrp_sink_impl.cc 
does sort precisely because get_tags_in_range doesn't.
 
 A simple solution for the infrastructure is to require that tags only be
 generated from within work(), with offsets corresponding to samples
 generated in that call to work(), and in non-decreasing offset order
 (though this last requirement could be handled by add_item_tag()).  The
 developer must then handle the too-late/too-early tag associations
 through some other mechanism, such as carrying the effective offset as
 part of the tag value.
 

As far as I'm aware, adding tags from within work is the only safe way to add 
tags to a stream. Also, it is required that offsets correspond to the valid 
range spanning the buffer of input items passed to work. The scheduler prunes 
others outside this range. It's also worth noting that although the history 
mechanism allows viewing past samples (filters use this, for example), 
attempting to add tags to samples in history will not work; those tags will be 
pruned.

If tags need to be stored for future processing in subsequent calls to work, 
it's up to the programmer to push them onto a stack/queue/whatever inside the 
block. The scheduler won't handle this.

 (3) Qt GUI Range with widget Counter + Slider invokes callbacks twice,
 even if the value itself was set exactly once through the counter text
 entry.  If the callback records the change by queuing a stream tag for
 addition to the output, multiple tags with the same offset/key/value
 will be generated.
 
 There are ugly solutions to this but it's probably sufficient to note
 somewhere that it can happen.  It's really not specific to tags, but is
 clearly visible in that case.
 
 (4) The in-memory stream of tags can produce multiple settings of the
 same key at the same offset.  However, when stored to a file only the
 last setting of the key is recorded.
 
 I believe this last behavior is incorrect and that it's a mistake to use
 a map instead of a multimap or simple list for the metadata record of
 stream tags associated with a sample.
 
 One argument is that it's critical that a stream archive of a processing
 session faithfully record the contents of the stream so that re-running
 the application using playback reproduces that stream and thus the
 original behavior (absent non-determinism due to asynchrony). This
 faithful reproduction is what would allow a maintainer to diagnose an
 operational failure caused by a block with a runtime failure when the
 same tag is processed twice at the same offset.  This is true even if
 the same key is set to the same value at the same sample offset multiple
 times, which some might otherwise want to argue is redundant.
 
 A corollary argument is that the sample number at which an event like a
 tuner configuration change occurs usually can't be exactly associated
 with a sample; the best estimate is likely to be the index of the first
 sample generated by the next call to work.  But depending on processing
 speed an application might change an attribute of a data source multiple

[Discuss-gnuradio] PyBOMBS skip volk_profile

2014-07-15 Thread Nowlan, Sean
Is there a clean way to skip volk_profile when rebuilding gnuradio with 
PyBOMBS? This setting seems to be automated and I can't find where to switch it 
off.

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] PyBOMBS skip volk_profile

2014-07-15 Thread Nowlan, Sean
Never mind. It looks like there's a timeout before which the user can select 
no to running volk_profile.

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Nowlan, Sean
Sent: Tuesday, July 15, 2014 4:47 PM
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] PyBOMBS skip volk_profile

Is there a clean way to skip volk_profile when rebuilding gnuradio with 
PyBOMBS? This setting seems to be automated and I can't find where to switch it 
off.

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] QT Sink center frequency not working

2014-06-23 Thread Nowlan, Sean
On Fri, Jun 20, 2014 at 5:41 PM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
Setting the center frequency in the QT Sink doesn't seem to work. It stays 
centered at 0 Hz. Center frequency seems to work fine with regular QT Frequency 
Sink. GNU Radio version is v3.7.4git-332-g34ee3b7d. I attached a GRC file.

Sean


Hmm... just tested your example GRC file here and it worked fine for me.

Tom

Strange. I’m using the latest git revision on master. PyQt4 version is 4.10.4. 
Any other ideas?

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] QT Sink center frequency not working

2014-06-23 Thread Nowlan, Sean
Well, that would help, wouldn’t it! D’oh. Thanks!

Sean

From: Nowlan, Sean
Sent: Monday, June 23, 2014 1:39 PM
To: 'Tom Rondeau'
Subject: RE: [Discuss-gnuradio] QT Sink center frequency not working

Ah. The shame. Thanks!

From: trond...@trondeau.commailto:trond...@trondeau.com 
[mailto:trond...@trondeau.com] On Behalf Of Tom Rondeau
Sent: Monday, June 23, 2014 11:23 AM
To: Nowlan, Sean
Subject: Re: [Discuss-gnuradio] QT Sink center frequency not working

Stupid question, but you are clicking the Display RF Frequencies check box, 
right?

Tom


On Mon, Jun 23, 2014 at 11:21 AM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
On Fri, Jun 20, 2014 at 5:41 PM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
Setting the center frequency in the QT Sink doesn't seem to work. It stays 
centered at 0 Hz. Center frequency seems to work fine with regular QT Frequency 
Sink. GNU Radio version is v3.7.4git-332-g34ee3b7d. I attached a GRC file.

Sean


Hmm... just tested your example GRC file here and it worked fine for me.

Tom

Strange. I’m using the latest git revision on master. PyQt4 version is 4.10.4. 
Any other ideas?

Sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] QT Sink center frequency not working

2014-06-20 Thread Nowlan, Sean
Setting the center frequency in the QT Sink doesn't seem to work. It stays 
centered at 0 Hz. Center frequency seems to work fine with regular QT Frequency 
Sink. GNU Radio version is v3.7.4git-332-g34ee3b7d. I attached a GRC file.

Sean
?


qt_sink_test.grc
Description: qt_sink_test.grc
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] testing block written in block

2014-06-18 Thread Nowlan, Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Activecat
Sent: Wednesday, June 18, 2014 5:59 AM
To: discuss-gnuradio@gnu.org
Cc: sreena p h
Subject: Re: [Discuss-gnuradio] testing block written in block

On Wed, Jun 18, 2014 at 4:57 PM, sreena p h 
sreena...@yahoo.inmailto:sreena...@yahoo.in wrote:
Hi

I'm new to GNU radio and is trying to develop my own block. I want to develop a 
block that intake a vector and out put sum of the vector elements. I used the 
out of tree module and followed tutorial using python code. How should be the 
arguments of blocks.vector_source_f to be given if i am inputting vector stream 
of four integers is used. the python code and test file is given below.


Does your intake vectors have fixed-length or variable length?

If they are variable length, then your sream_ff block won't be very useful in 
graphical GRC flowgraph, because there the vector streams are usually 
fixed-length.
If they are fixed-length, then your problem could be easily solved; just create 
sream_ff as a decimator block.


If you’d rather use stock GR blocks or you would like a flowgraph with 
identical functionality, you can hook up a Vector to Stream block (with 
num_items=vector_length) to an Integrate block (with decimation=vector_length).

…
vector_length = 10
self.vec2stream = blocks.vector_to_stream(gr.sizeof_gr_complex, vector_length)
self.integrate = blocks.integrate_cc(vector_length)
self.connect((self.vec2stream, 0), (self.integrate, 0))
…

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Data Collection Across Multiple Machines and USRPs

2014-06-03 Thread Nowlan, Sean


From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Tom Rondeau
Sent: Tuesday, June 03, 2014 2:32 PM
To: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Data Collection Across Multiple Machines and 
USRPs

On Tue, Jun 3, 2014 at 2:28 PM, Marcus Müller 
marcus.muel...@ettus.commailto:marcus.muel...@ettus.com wrote:
Hey Jonathan,

when you cannot use GPSDOs, you should just sync your Laptops using NTP, and 
then set the laptop time as device time on the USRPs using set_time_now.

You can then agree on a specific point in time, use set_start_time on the USRP 
sources and try to estimate how well-coordinated you are by cross-correlating 
your measurements.

Greetings,
Marcus

I'll also recommend the file_meta_sink block:

http://gnuradio.org/doc/doxygen/classgr_1_1blocks_1_1file__meta__sink.html

This will store a time stamp based on the time info from the USRPs. It should 
help you realign the data sets afterwards.

Tom

If you don’t have GPSDOs but need near-GPS accuracy, one option is to get cheap 
USB GPS pucks and configure your GPSD instance to run an NTP server, and point 
your system ntpd client at it. Then use the “set_time_now” UHD/gr-uhd command 
to set the time register on multiple radios. Finally, use the “set_start_time” 
command mentioned above to schedule RX captures.

www.catb.org/gpsd/gpsd-time-service-howto.htmlhttp://www.catb.org/gpsd/gpsd-time-service-howto.html

Sean

On 03.06.2014 20:24, Jonathan Fox wrote:

Hey list, this is a question for anyone that has used the USRPs and GNU

Radio for synchronized data collection.



I need to collect data using USRP N210s across a wireless network for a

field test. Basically the USRPs would be connected to laptops running GNU

radio and the laptops themselves will be networked over WiFi.



My conceptualized collection would work as so: master computer that would

control the collection python scripts on remote machines and itself locally

(a simple USRP source to throttle to file sink). The caveat is these

scripts must start within a second of each other, so I am trying to avoid

delays and keep latency under a 1000 ms (preferably somewhere close to 500

ms). My initial testing of my idea at my work desk as been less than

spectacular. I was using a bash script that had two lines of code:



#!/bin/sh

./home/$USER/Documents/GNU_radio/data_collection.py

--uhd-addr=addr=10.2.8.104 

ssh -t $USER@Dell1 python ~/Documents/GNU_radio/data_collection.py

--uhd-addr=addr=10.2.8.105 



It is a very simple script executing a script on local and one remotely via

SSH, and according to the saved data files the file creation/modification

times are off. If the the save files are created from scratch, the timing

is extremely close and meets expectations when it is just two scripts. If

the files are already pre-existing then the modification times can range

from 1 to 5 seconds. When I add more scripts to the shell script. Like so:



#!/bin/sh

./home/$USER/Documents/GNU_radio/data_collection.py

--uhd-addr=addr=10.2.8.104 

./home/$USER/Documents/GNU_radio/data_collection.py

--uhd-addr=addr=10.2.8.102 

ssh -t $USER@Dell1 python ~/Documents/GNU_radio/data_collection.py

--uhd-addr=addr=10.2.8.105 

ssh -t $USER@Dell1 python ~/Documents/GNU_radio/data_collection.py

--uhd-addr=addr=10.2.8.103 



The times are even more off and can range from 3 to 10 seconds.

Alternatively, I can have dual USRP sources to file sink in the same script

to get back down to the original script and I have a 3 to 7 seconds gap

between the data files collected in the local script compared to the data

files collected by the remote script.



Is there a better way to go about collecting data quickly in synchronized

fashion? I thought about a timing function built in each GNU radio script

that should start the flow graph on any even second (based off a modulus

function of current system time in seconds) but I want to weigh all options

first.



Thanks for your time reading,



Jon




___

Discuss-gnuradio mailing list

Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org

https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Digital voice encryption block

2014-04-17 Thread Nowlan, Sean
There is no crypto in the main GNU Radio installation. I am not aware of any 
public out-of-tree modules that implement crypto. Your best bet would probably 
be handling crypto at the data socket layer and pushing to a GNU Radio 
PDU-to-tagged-stream or using GR's message passing interface to pass encrypted 
data packet between the upper layer and GR mod/demod layer. You could use 
PyCrypto, as you suggested, or libgcrypt in C/C++. 
http://www.gnu.org/software/libgcrypt/

GNU Radio is best suited for the PHY and basic MAC layers, but of course this 
doesn't preclude wrapping libgcrypt functions into GNU Radio blocks. I just 
think it would be more efficient to do crypto at a layer above the GR mod/demod 
blocks. You would essentially pass data between the layers using message queues 
and message handlers.

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Ralph A. Schmid, dk5ras
Sent: Thursday, April 17, 2014 10:38 AM
To: 'Tigor Christian'; discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Digital voice encryption block

Question 3: AES is indeed a common system for voice encryption, widely used for 
example in US police / public safety radios (APCO25 standard). Older systems 
used often DES, but not with a neat linear predictive voice codec, but just a 
CVSD digitizer, DES box and FSK radio link (Motorola SECURENET). Then there are 
lots of proprietary / closed source encryption systems, some really weak with 
32 bit keys, more aimed against the casual listener / scanner kid, but not 
providing real security against an advanced eavesdropping attack.

Ralph.

From: 
discuss-gnuradio-bounces+ralph=schmid@gnu.orgmailto:discuss-gnuradio-bounces+ralph=schmid@gnu.org
 [mailto:discuss-gnuradio-bounces+ralph=schmid@gnu.org] On Behalf Of Tigor 
Christian
Sent: Thursday, April 17, 2014 3:50 PM
To: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] Digital voice encryption block

Hi all,

I want to simulate a voice transmission system in GNURadio Companion (GRC) 
before I build a real one. My system configuration is as follows.

TX:
mic -- encoder -- encryption -- modulator -- RF

Rx:
speaker -- decoder -- decryption -- demodulator -- RF

I have succeed in simulating the above configuration in Ubuntu 12.04 LTS 
machine but without encryption/decryption blocks.

I want to encrypt my digital voice using AES (128/192/256, either one) 
algorithm, but so far, I couldn't find suitable blocks for my purpose.

I know that GNURadio will synthesize a python code when you compile your blocks 
configuration in GRC. On the other hand, every python dev installation in 
Ubuntu will also install PyCrypto lib in your machine, this library has a 
ready-to-use function of AES algorithm. Furthermore, I also know the concept of 
Out-of-Tree Module (OoTM) of GNURadio.

My questions are:

1. My first thought is to get data stream of certain block and do encryption 
process with PyCrypto (not in the OoTM, but directly in synthesized python 
code) then put them back to the next block. Would it be possible and how to 
achieve this?

2. Do GNURadio has a ready-to-use GRC blocks or OoTM of digital encryption 
algorithm (not scrambler)? and how do I get it (a tutorial would be fine)?
So far, I can not found the block either in GRC or 
https://www.cgran.orghttps://www.cgran.org/

3. Last question may be off topic a bit. Is it common to use AES algorithm to 
encrypt voice data, or is there any common encryption method (preferably could 
be implemented in GRC)?

Thank you for your time and willingness to answer these questions

Regards
tc


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GNU Radio Conference 2014 - Registration is Open!

2014-03-14 Thread Nowlan, Sean
Looking forward to it!

What will generally be the agenda for the New Developers' Day? Do you see a 
role for people who have been hacking at GR for a while, or is it specifically 
catered to new users? I'm trying to debate whether to go the extra day or not, 
and I bet I'm not the only one who is curious. :)

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of John Malsbury
Sent: Wednesday, March 12, 2014 2:49 AM
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] GNU Radio Conference 2014 - Registration is Open!

Greetings,

We just wanted to let everyone know that registration for GNU Radio Conference 
2014 is now open.  Here is a quick overview of the event for those of you who 
have missed previous announcements:

Date: September 15-19, 2014

Location: The District Architecture Centerhttp://aiadac.com/ in Washington, 
DC (USA) - an interesting, modern event facility. Unlike previous conference 
values, we will be renting out an entire floor and will have access to several 
divided spaces that will allow us to add new components to the conference.

 Attendance:  We are expecting to have somewhere between 120 and 150 attendees. 
 A great mix of new users, experienced developers, students, professors, 
engineers and researchers.  This is the perfect mix  for everyone to share 
their experiences with GNU Radio, learn more about it, and help build the 
future of SDR.

New Components: Hacker/demo space, poster session, 'New Developers Day' to 
attract new/beginning users, an open lounge for people to socialize and mingle, 
and daily working groups.
For more information, and links to the registration page, please see the GNU 
Radio Conference Websitehttp://www.trondeau.com/grcon14.  We will be posting 
a preliminary agenda, and more details about the facility soon.
I'd also like to take this opportunity to remind everyone about the Call for 
Presentationshttp://www.trondeau.com/grc2014-call-for-presentations/, which 
is open until March 31.  We've seen some great submissions up to this point, 
and look forward to receiving more!

Best Regards,
John Malsbury
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GNU Radio Conference 2014 - Registration is Open!

2014-03-14 Thread Nowlan, Sean
I'd be happy to help! I'm sure classroom-style lectures will be covered by a 
few people who have already presented the material a bunch of times (Tom, 
Johnathan, etc.). Maybe you could use a bunch of more experienced GR people in 
small breakout sessions or to oversee hands-on tutorials, etc. I'll be on the 
lookout for how to get involved.

Sean

From: John Malsbury [mailto:john.malsb...@ettus.com]
Sent: Friday, March 14, 2014 3:09 PM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] GNU Radio Conference 2014 - Registration is 
Open!

Sean,
Thanks for bringing this up.  Simply stated, the goal of this New Users Day is:

  *   Increase visibility for GNU Radio, possibly touching new professional and 
social circles where GNU Radio isn't used yet
  *   Help new users understand what GNU Radio is, and how to use it

In some ways this is a marketing opportunity for GNU Radio.  But the major 
focus will be on actually teaching people the basics of GNU Radio through 
lecture and possibly hands-on tutorials.  Hopefully this gives you an idea of 
the type of content we'll have on the first day.  It would seem someone with 
your experience would get more value out of contributing the event, rather than 
sitting through the presentations/tutorials.

It would be great if everyone can help promote this widely.  A single-day event 
will be more oriented toward a regional audience, but in an ideal case people 
from all over will come for the new user day and stay for the conference.  It's 
going to be a great show this year!  Aside from the high quality presentations 
we have every year, there will be more time for working groups, and a 
hackerspace filled with enough hardware for everyone to make some trouble.

More details will be forthcoming.  In the meantime, I suppose the call to 
action is - help us promote!  Registration is open, and seats are filling up.
-John

On Fri, Mar 14, 2014 at 11:51 AM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
Looking forward to it!

What will generally be the agenda for the New Developers' Day? Do you see a 
role for people who have been hacking at GR for a while, or is it specifically 
catered to new users? I'm trying to debate whether to go the extra day or not, 
and I bet I'm not the only one who is curious. :)

Sean

From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org
 
[mailto:discuss-gnuradio-bounces+sean.nowlanmailto:discuss-gnuradio-bounces%2Bsean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org]
 On Behalf Of John Malsbury
Sent: Wednesday, March 12, 2014 2:49 AM
To: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] GNU Radio Conference 2014 - Registration is Open!

Greetings,

We just wanted to let everyone know that registration for GNU Radio Conference 
2014 is now open.  Here is a quick overview of the event for those of you who 
have missed previous announcements:

Date: September 15-19, 2014

Location: The District Architecture Centerhttp://aiadac.com/ in Washington, 
DC (USA) - an interesting, modern event facility. Unlike previous conference 
values, we will be renting out an entire floor and will have access to several 
divided spaces that will allow us to add new components to the conference.

 Attendance:  We are expecting to have somewhere between 120 and 150 attendees. 
 A great mix of new users, experienced developers, students, professors, 
engineers and researchers.  This is the perfect mix  for everyone to share 
their experiences with GNU Radio, learn more about it, and help build the 
future of SDR.

New Components: Hacker/demo space, poster session, 'New Developers Day' to 
attract new/beginning users, an open lounge for people to socialize and mingle, 
and daily working groups.
For more information, and links to the registration page, please see the GNU 
Radio Conference Websitehttp://www.trondeau.com/grcon14.  We will be posting 
a preliminary agenda, and more details about the facility soon.
I'd also like to take this opportunity to remind everyone about the Call for 
Presentationshttp://www.trondeau.com/grc2014-call-for-presentations/, which 
is open until March 31.  We've seen some great submissions up to this point, 
and look forward to receiving more!

Best Regards,
John Malsbury

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] get_tags_in_range

2014-03-11 Thread Nowlan, Sean

On Mon, Mar 10, 2014 at 4:16 PM, Nowlan, Sean sean.now...@gtri.gatech.edu 
wrote:
On Mon, Mar 10, 2014 at 5:55 AM, Martin Braun martin.br...@ettus.com wrote:
 On 03/10/2014 01:08 AM, Nowlan, Sean wrote:
 I'm using get_tags_in_range with bounds outside the absolute sample 
 offsets presented in each work function. I'm using this to add 
 end-of-burst tags at offset K-1 for every start-of-burst tag that I 
 find at offset K (except the very first K).

 I just want to confirm that this is valid. All my tests have shown 
 that it is, since I believe the underlying deque is completely 
 independent of the data stream except that offsets are used for 
 both absolute sample offsets and tag bookkeeping.

 I think you're right, but only if you do this *after* the current 
 bounds, not before.

 M

Yes, the scheduler prunes all tags before the window after work is done. 
Basically, since we're tagging a data sample, if that sample is no longer 
available to you, neither is it's tag. You'll have to get them and store 
them locally for your uses later.

Tom

 Ok, that makes sense; I'd be unable to read tags from the past. But what 
 happens if I *create* a tag on a past data sample? Will it be propagated or 
 ignored?

 (   A  )  { B   }
 (0   1)  { 2   3   4 }  5 ...

 Let's say section ( A ) is from a previous call to work. Let's also say { B 
 } is the current work window, i.e., nitems_read(0) == 2 and noutput_items == 
 3. If I find a start-of-burst tag on absolute offset 2, is it impossible to 
 create a new tag on absolute offset 1?

 The vast majority of the time, this would not be a problem. The boundary 
 condition is really the only source of trouble. I suppose I could  use 
 set_history(2) so that I can always see the tags at the offset range 
 endpoints. Do you advise this? Does history ensure the scheduler doesn't 
 prune tags from the history region?

 Sean


Yeah, if you set a tag to a time in the past, the following blocks will 
(likely, based on the dynamics of the scheduler) prune it before your 
follow-on block can process it.

I'd have to double check and think about the case where you use set_history 
for this. It seems like it should work, but just remember that set history 
really just initializes your read pointers back by
history()-1 number of items. So the tag wouldn't go on item-2 in the stream 
since index 0 of the buffer /is/ item-2 already.

Ok, I guess I should go poke around the prune_tags logic and see how it works. 
If it respects history(), it wouldn't prune tags from any item that is 
available at the start of the read pointer, including history. If it doesn't, 
tags may be abandoned/pruned even though I have access to history()-1 number of 
previous items, and I'm still stuck.

Functionally speaking, if I can read a sample, I should be able to read its 
associated tags. But history() only involves input buffers, not output buffers, 
so perhaps I'm still falling into the trap mentioned above, i.e., the tag may 
be pruned before the downstream block can see it.

But something like this, if not exactly, should work, yes.

I'm trying to determine an exact solution. This is another way to work around 
PFB arb resampler tag propagation issues (discussed in issue #652). Basically 
I'm adding a start-of-burst tag to the first sample of a stream pre-resampler, 
and then once things have been resampled, I go back and fill in end-of-burst 
tags. This avoids having to know when the PFB arb resampler adds +/- 1 samples. 
This block I've written is a sync_block that simply does a memcpy of samples 
and the tag processing mentioned above.

Now I'm thinking a workaround could be to return noutput_items-1 items. This 
way I get to check the last item of a work input buffer, 
nitems_read(0)+noutput_items-1, for a start-of-burst tag and place an 
end-of-burst tag at nitems_read(0)+noutput_items-2. At the next call to work, 
that last item of the previous input buffer is the first item of the input 
buffer, and I can put an end-of-burst tag at nitems_read(0) if I find a tag at 
nitems_read(0)+1. Makes sense in my head, at least...

Tom

Sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] get_tags_in_range

2014-03-09 Thread Nowlan, Sean
I'm using get_tags_in_range with bounds outside the absolute sample offsets 
presented in each work function. I'm using this to add end-of-burst tags at 
offset K-1 for every start-of-burst tag that I find at offset K (except the 
very first K).

I just want to confirm that this is valid. All my tests have shown that it is, 
since I believe the underlying deque is completely independent of the data 
stream except that offsets are used for both absolute sample offsets and tag 
bookkeeping.

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Problem with undefined symbol in new block created by gr_modtool in 3.7.2

2014-03-05 Thread Nowlan, Sean
The first place I'd look is in your_block.h. Did you remember to declare any 
public member functions to be pure virtual in that file, and then declare your 
(non-virtual) functions in your_block_impl.h? If you forgot to declare pure 
virtual functions, i.e., virtual return_type your_block(args_list) = 0; in 
your_block.h, it will compile but you will get the undefined symbol at runtime.

This probably a common pitfall and it might be worth making a note in the wiki 
for OutOfTreeModules. I'll add that.

Architects of gr_modtool... can you add an autogen comment in *.h files 
reminding the user to declare pure virtual functions? I think users who don't 
deeply understand OO and particularly its  C++ syntax would benefit from this 
reminder. I think it's a common paradigm to use other examples to fill in the 
guts of gr_modtool generated C++ code, but things like this are easy to miss.

Sean

-Original Message-
From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Marcus Müller
Sent: Wednesday, March 05, 2014 3:21 PM
To: George Sklivanitis; GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Problem with undefined symbol in new block 
created by gr_modtool in 3.7.2

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Hi George,
This is a little unspecific. Most probably you have a problem similar to the 
fftw- related problem of activecat, but that's only guessing... Please heed 
http://gnuradio.org/redmine/projects/gnuradio/wiki/ReportingErrors when 
reporting errors.
Greetings,
Marcus

On March 5, 2014 8:57:46 PM CET, George Sklivanitis 
george.sklivani...@gmail.com wrote:
Hello all,

I am dealing with the problem of undefined symbol when trying to 
execute a python script for testing my new custom block created in GNU 
Radio 3.7.2.
I used gr_modtool for creating the new block and also followed the 
instructions posted at

http://gnuradio.org/redmine/projects/gnuradio/wiki/OutOfTreeModulesConf
ig

for correctly configuring it but the problem still holds.

Any ideas?

Thanks,
-George

--
Sklivanitis Georgios


---
-

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

- --
Sent from my Android device with K-9 Mail. Please excuse my brevity.
-BEGIN PGP SIGNATURE-
Version: APG v1.0.9

iQFABAEBCAAqBQJTF4c7IxxNYXJjdXMgTfxsbGVyIDxtYXJjdXNAaG9zdGFsaWEu
ZGU+AAoJEBKNLRrpJvfojQoH/2a609iWLTsywtozQ+FcZkuQT6uCy13vX3n4b5k3
rTvy9QP3uHuHQkiRZHDbZoJ+mZ9kFOf6NeG20RGdf8i4yCB1AZ8F7uvvdi7CebXT
sRQxoQE+8Vz5VS+faAStAOK3+tArdRGZOU2v3gTYXGCvATaeM3A+rxsNQ7LKPwM8
sI5KZ3xgvgikkObbFuo00MOaLA7tHzMttXxWjU5riXann1l1eOyGIzM1j0XO1gAD
imofs0DfXHB4cE0Gi43E1gjjeqEW034dLZAS7w/c/Gq85Z0Ni+z1a35kS5UYvYhQ
ndeEMqrLQv4ghCRnHR93ob+8YRlqMedVjDDeKQdjEh0D2jY=
=27ny
-END PGP SIGNATURE-


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Problem with undefined symbol in new block created by gr_modtool in 3.7.2

2014-03-05 Thread Nowlan, Sean
Ah, nevermind about the wiki edit. The use of pure virtual functions is already 
discussed in 
http://gnuradio.org/redmine/projects/gnuradio/wiki/BlocksCodingGuide . Still, 
the gr_modtool addition may be useful.


-Original Message-
From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Nowlan, Sean
Sent: Wednesday, March 05, 2014 4:45 PM
To: Marcus Müller; George Sklivanitis; GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Problem with undefined symbol in new block 
created by gr_modtool in 3.7.2

The first place I'd look is in your_block.h. Did you remember to declare any 
public member functions to be pure virtual in that file, and then declare your 
(non-virtual) functions in your_block_impl.h? If you forgot to declare pure 
virtual functions, i.e., virtual return_type your_block(args_list) = 0; in 
your_block.h, it will compile but you will get the undefined symbol at runtime.

This probably a common pitfall and it might be worth making a note in the wiki 
for OutOfTreeModules. I'll add that.

Architects of gr_modtool... can you add an autogen comment in *.h files 
reminding the user to declare pure virtual functions? I think users who don't 
deeply understand OO and particularly its  C++ syntax would benefit from this 
reminder. I think it's a common paradigm to use other examples to fill in the 
guts of gr_modtool generated C++ code, but things like this are easy to miss.

Sean

-Original Message-
From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Marcus Müller
Sent: Wednesday, March 05, 2014 3:21 PM
To: George Sklivanitis; GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Problem with undefined symbol in new block 
created by gr_modtool in 3.7.2

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Hi George,
This is a little unspecific. Most probably you have a problem similar to the 
fftw- related problem of activecat, but that's only guessing... Please heed 
http://gnuradio.org/redmine/projects/gnuradio/wiki/ReportingErrors when 
reporting errors.
Greetings,
Marcus

On March 5, 2014 8:57:46 PM CET, George Sklivanitis 
george.sklivani...@gmail.com wrote:
Hello all,

I am dealing with the problem of undefined symbol when trying to 
execute a python script for testing my new custom block created in GNU 
Radio 3.7.2.
I used gr_modtool for creating the new block and also followed the 
instructions posted at

http://gnuradio.org/redmine/projects/gnuradio/wiki/OutOfTreeModulesConf
ig

for correctly configuring it but the problem still holds.

Any ideas?

Thanks,
-George

--
Sklivanitis Georgios


---
-

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

- --
Sent from my Android device with K-9 Mail. Please excuse my brevity.
-BEGIN PGP SIGNATURE-
Version: APG v1.0.9

iQFABAEBCAAqBQJTF4c7IxxNYXJjdXMgTfxsbGVyIDxtYXJjdXNAaG9zdGFsaWEu
ZGU+AAoJEBKNLRrpJvfojQoH/2a609iWLTsywtozQ+FcZkuQT6uCy13vX3n4b5k3
rTvy9QP3uHuHQkiRZHDbZoJ+mZ9kFOf6NeG20RGdf8i4yCB1AZ8F7uvvdi7CebXT
sRQxoQE+8Vz5VS+faAStAOK3+tArdRGZOU2v3gTYXGCvATaeM3A+rxsNQ7LKPwM8
sI5KZ3xgvgikkObbFuo00MOaLA7tHzMttXxWjU5riXann1l1eOyGIzM1j0XO1gAD
imofs0DfXHB4cE0Gi43E1gjjeqEW034dLZAS7w/c/Gq85Z0Ni+z1a35kS5UYvYhQ
ndeEMqrLQv4ghCRnHR93ob+8YRlqMedVjDDeKQdjEh0D2jY=
=27ny
-END PGP SIGNATURE-


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] message port names

2014-02-28 Thread Nowlan, Sean

Hi Sean, Tom and Martin,

basic_block enforces using a symbol in its message_port_register_in method, so 
that's where you'd have to start changing things.
But to add my 0b0010* ct to this:

- using strings as port names keeps consistency
- using strings is the proper way to ensure all tools (esp. the companion) 
display port names alike and are able to save/generate a flowgraph into/from a 
text file format
- stepping away from pmt_symbol as port name type opens up the gate for people 
doing stuff like assigning numeric values of different types (that could lead 
to a nice monte carlo QA for pmt::eqv; corner cases like 
pmt::eqv(pmt_uint64(x),pmt_int(x))==false will lead to problems)
   - I guess the whole point of pmt_symbol is it being unique and provide 
 guaranteed identification**
- comparatively very little overhead with the outK method, your workaround 
seems feasible (also: you could consider keeping your own port name 
std::vectorpmt_t and use that for later reference; if you just need a 
(strangely sorted) list of your ports, it's basic_block::msg_queue)
- hashing overhead negligible for short strings and it speeds up the std::map 
operations when adding/using message ports (hashing will probably even pay 
during runtime)
+Ok, I admit it's strange to use PMTs if you'd actually wanted to use strings 
(and have the type safety)

Greetings,
Marcus

I don't see a need to change how it's currently being done, i.e., using 
string_to_symbol. I had just asked the question because I was curious, and I 
think the outK workaround is useful because it corresponds with how GRC 
automates naming with nports.


* valid for gcc 4.3+, clang and C++14 ;)
** Tom: why is there a d_next member in pmt_symbol?
On 02/28/2014 09:19 AM, Martin Braun wrote:
 On 02/28/2014 01:39 AM, Nowlan, Sean wrote:
 Hey Sean,
 I /think/ so. I'd have to double check, but at some point it's
 likely to go through a symbol_to_string conversion.
 Can you think of a need for a port name to be something other than
 a symbol/string? Maybe an enumeration or something?
 Tom
 In a certain block I'm registering N ports, where N is a constructor
 argument to the block. I was hoping I could call them
 pmt::from_long(0) through pmt::from_long(N-1), but that didn't work.
 I ended up creating string names out0 through outK (where K =
 N-1) and then used pmt::string_to_symbol.
 I doubt anyone implemented that to limit names, it was more likely that
 we didn't think of this use case. If you see this is a small,
 non-invasive change that would allow other PMTs to be port names, that
 would be interesting to see.

 M


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] message port names

2014-02-27 Thread Nowlan, Sean


From: trond...@trondeau.com [trond...@trondeau.com] on behalf of Tom Rondeau 
[t...@trondeau.com]
Sent: Thursday, February 27, 2014 2:45 PM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] message port names

On Mon, Feb 24, 2014 at 2:46 PM, Nowlan, Sean
sean.now...@gtri.gatech.edu wrote:
 Quick question: can a message port name be any valid PMT type? Or does it
 have to be a string converted to a symbol?

 Thanks,

 Sean

Hey Sean,

I /think/ so. I'd have to double check, but at some point it's likely
to go through a symbol_to_string conversion.

Can you think of a need for a port name to be something other than a
symbol/string? Maybe an enumeration or something?

Tom

In a certain block I'm registering N ports, where N is a constructor argument 
to the block. I was hoping I could call them pmt::from_long(0) through 
pmt::from_long(N-1), but that didn't work. I ended up creating string names 
out0 through outK (where K = N-1) and then used pmt::string_to_symbol.

Thanks,
Sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Message API questions

2014-02-26 Thread Nowlan, Sean
I have a few questions regarding messages in GR.


1)  Is it possible to mix-and-match the old style message sink/source 
blocks with the new style message passing API? Any guidance on how to make the 
connections? I didn't have much luck with msg_connect. I don't think the 
message sink/source blocks have an associated port name to make this possible. 
Perhaps that's something worth adding internally?



2)  I see 2 implementations of msg_queue, one in gr namespace and one in 
gr::messages namespace. What are the differences between these?



3)  How does one achieve flow control with the new style message passing 
API? I have a use case in which I'm generating packets in one flowgraph and 
pushing them through a pdu_to_tagged_stream (P2TS) block to be modulated in 
another flowgraph. I believe I'm overwhelming the P2TS block's queue because I 
get warnings about dropped messages. One hack I made was to insert a throttle 
block into the packet generating flowgraph. This helped a bit, but I have to 
guess the magic throttle rate at which I don't fill up the queue. Is there a 
way to have P2TS block when its queue is full and therefore generate 
backpressure on the upstream flowgraph?





Thanks!
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Message API questions

2014-02-26 Thread Nowlan, Sean


From: Aditya Dhananjay [mailto:adi...@cs.nyu.edu]
Sent: Wednesday, February 26, 2014 8:53 AM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Message API questions



On Wed, Feb 26, 2014 at 8:45 AM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
I have a few questions regarding messages in GR.


1)  Is it possible to mix-and-match the old style message sink/source 
blocks with the new style message passing API? Any guidance on how to make the 
connections? I didn't have much luck with msg_connect. I don't think the 
message sink/source blocks have an associated port name to make this possible. 
Perhaps that's something worth adding internally?

I'm not sure I completely understand your question.

Have you looked at the OFDM Tx/Rx examples in PATH/gr-digital/examples/ofdm? 
The flowgraph is a combination of standard connections within blocks, along 
with a message passing connection (look at the header/payload demux block).

Thanks! What I was referring to are the gr::blocks::message_source and 
gr::blocks::message_sink blocks. They don't use the new style message passing 
API in which you register ports and message handlers. Instead, 
gr::blocks::message_source has an internal message queue. It blocks in within 
its work function waiting for a message to enter the queue. What I'm wondering 
is how to connect a new style block's message output with the input to this 
block, and the inverse case for connecting a gr::blocks::message_sink to a new 
style block's message input.



2)  I see 2 implementations of msg_queue, one in gr namespace and one in 
gr::messages namespace. What are the differences between these?



3)  How does one achieve flow control with the new style message passing 
API? I have a use case in which I'm generating packets in one flowgraph and 
pushing them through a pdu_to_tagged_stream (P2TS) block to be modulated in 
another flowgraph. I believe I'm overwhelming the P2TS block's queue because I 
get warnings about dropped messages. One hack I made was to insert a throttle 
block into the packet generating flowgraph. This helped a bit, but I have to 
guess the magic throttle rate at which I don't fill up the queue. Is there a 
way to have P2TS block when its queue is full and therefore generate 
backpressure on the upstream flowgraph?

Are you using actual hardware or is this a software only simulation?

I basically have flowgraph (FG1) -- message domain -- flowgraph (FG2) -- 
USRP. FG1's flow rate is not constrained by streaming backpressure. FG2's flow 
rate is constrained by the USRP. To constrain FG1's flow rate I either have to 
use a throttle block or find a way to enforce flow control in the message 
domain.





Thanks!
Sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Async message flow control

2014-02-26 Thread Nowlan, Sean
How does one achieve flow control with the new style message passing API? I 
have a use case in which I'm generating packets in one flowgraph and pushing 
them through a pdu_to_tagged_stream (P2TS) block to be modulated in another 
flowgraph. I believe I'm overwhelming the P2TS block's queue because I get 
warnings about dropped messages. One hack I made was to insert a throttle block 
into the packet generating flowgraph. This helped a bit, but I have to guess 
the magic throttle rate at which I don't fill up the queue. Is there a way to 
have P2TS block when its queue is full and therefore generate backpressure on 
the upstream flowgraph?

I basically have flowgraph (FG1) -- message domain -- flowgraph (FG2) -- 
USRP. FG1's flow rate is not constrained by streaming backpressure. FG2's flow 
rate is constrained by a USRP. To constrain FG1's flow rate I either have to 
use a throttle block or find a way to enforce flow control in the message 
domain.

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] message port names

2014-02-24 Thread Nowlan, Sean
Quick question: can a message port name be any valid PMT type? Or does it have 
to be a string converted to a symbol?

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Catch-22 with forecast general_work

2014-02-19 Thread Nowlan, Sean
I have a situation in which I need to read tags associated with multiple block 
inputs in order to decide which input to process during general_work. In my 
situation it's possible for there to be zero input available to some inputs, 
and a nonzero amount of input available to others. The Catch-22 is that if I 
demand ninput_items_required[k] = 1 on all k inputs, but any individual input 
doesn't have any data available yet, the scheduler will never call 
general_work. If I demand ninput_items_required[k] = 0 for all inputs, my 
general_work method will be called, but there will be no data to process, even 
if there actually is data available on some inputs.

The problem is partially solved by the tagged_stream_block implementation. 
However, the huge limitation with that approach is that tagged streams are 
limited to a maximum on the order of 8k items (this number is probably system 
dependent). If I want to operate on a tagged stream that is several orders of 
magnitude greater than this limit, I'm out of luck.

Does anybody have any suggestions? I may end up having to reimplement 
tagged_stream_block to hold some internal state so it can handle tagged streams 
much larger than any one call to work. This state would be some variable, maybe 
nitems_left_in_tagged_stream that would get reset every time a length_tag was 
found and would be decremented by the number of items consumed. The forecast 
implementation would demand ninput_items_reqd[k] = 
min(items_left_in_tagged_stream, noutput_items), or something like that. 
Thoughts?

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] gr-rds

2014-01-08 Thread Nowlan, Sean
 Clayton and I worked on the FM RDS project over the last weeks. I think that 
 the receiving side is in a pretty good state now. It works well with the RTL 
 SDR.

This is really cool! Worked right out of the box. It's decoding and displaying 
the local NPR station without any problems.

Sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Message port connections in gr-blocks/examples/msg_passing

2013-12-20 Thread Nowlan, Sean


-Original Message-
From: Bastian Bloessl [mailto:bastian.bloe...@uibk.ac.at] 
Sent: Friday, December 20, 2013 9:06 AM
To: Koslowski, Sebastian (CEL)
Cc: Tom Rondeau; Nowlan, Sean; GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Message port connections in 
gr-blocks/examples/msg_passing

Hi,

On 19 Dec 2013, at 17:45, Koslowski, Sebastian (CEL) 
sebastian.koslow...@kit.edu wrote:
 I am a little surprised to hear that gr-ieee802-11 files are not 
 working either because it was Bastian who came up with the need to change 
 this...
 

I'm currently travelling and can't test it, but I updated my stuff and tested 
it on several different PCs. So it should work.

The conversation with Sean about the broken connections was before the changes 
to mainline. At that time I had a non-standard installation and therefore my 
flow graphs did not work for out of the box. But that should be fixed now.

Bastian

-
Sorry I didn't provide that context, i.e., that my experience with 
gr-ieee802-11 was several weeks ago before those changes.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] gnuradio-companion segfaults with latest gnuradio master and gr-osmosdr

2013-12-19 Thread Nowlan, Sean
When I run gnuradio-companion with the latest gnuradio master and gr-osmosdr 
master, it segfaults. A backtrace reveals that there's a problem when Python 
tries to load _osmosdr_swig. If I uninstall gr-osmosdr, gnuradio-companion 
opens normally.

GDB backtrace:
http://pastebin.com/PYmyAbqE

Let me know if I should open a bug report. I'm not sure if others are 
experiencing this, or there is just something weird or misconfigured on my 
system.

Ubuntu 13.04 x86_64

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Message port connections in gr-blocks/examples/msg_passing

2013-12-16 Thread Nowlan, Sean
I'm trying to learn the message passing API by reviewing the examples in 
gr-blocks/examples/msg_passing. Message ports are not connected upon opening 
GRC (this seems to be a gnuradio-wide problem - same thing happens with 
gr-ieee802-11). I know the workaround is to open each hier block and build so 
that code gets put in ~/.grc_gnuradio. However, I'm not sure how to hook up the 
ports as they were intended. Does anybody have screen captures of strobe.grc, 
test_msg_hier.grc, and test_msg_hier_topblock.grc with the ports connected 
correctly?

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] gr-ctrlport-monitor timeout exception

2013-12-03 Thread Nowlan, Sean
Sorry it took me a bit of time to respond. Yes, I'm sure my flowgraph is still 
running and producing data as expected. Can anybody think of why the ice 
endpoint would die unexpectedly?

Sean

From: Tim Newman [mailto:tim.new...@gmail.com]
Sent: Wednesday, November 13, 2013 11:42 AM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] gr-ctrlport-monitor timeout exception

I've seen ICE do this before, but usually its because my flowgraph dies, via 
segfault or something.  When the flowgraph dies, the ice endpoints aren't 
available anymore so the controlport monitor timesout when attempting to query 
them.  Are you sure your flowgraph isn't crapping out for some reason or 
another?

Tim

On Wed, Nov 13, 2013 at 11:10 AM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:

From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org
 
[mailto:discuss-gnuradio-bounces+sean.nowlanmailto:discuss-gnuradio-bounces%2Bsean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org]
 On Behalf Of Nowlan, Sean
Sent: Monday, November 11, 2013 4:10 PM
To: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] gr-ctrlport-monitor timeout exception

I'm using ControlPort to monitor transmissions through a USRP. I have a 
flowgraph responsible for generating burst traffic and streaming to a 
uhd_sink. Then I have a uhd_source tuned to the same frequency as the 
uhd_sink, and I connect it to a ctrlport_probe2_c block with length=128. I 
have ControlPort support compiled-in and enabled from a config file. I'm able 
to connect to a remotely running flowgraph using gr-ctrlport-monitor and plot 
the PSD of the samples vector pulled from the probe2 block every 100 
milliseconds. The problem is that after (what seems to be) a nondeterministic 
time, the ICE port stops responding and gr-ctrlport-monitor reports an error:

ctrlport-monitor: radio.get threw exception (exception 
::Ice::ConnectTimeoutException
{
}).

When I close and restart, gr-ctrlport-monitor times out and segfaults:

2013-11-11 16:02:47.329422 /usr/local/bin/gr-ctrlport-monitor: error: 
Traceback (most recent call last):
  File /usr/lib/pymodules/python2.7/Ice.py, line 984, in main
status = self.doMain(args, initData)
  File /usr/lib/pymodules/python2.7/Ice.py, line 1031, in doMain
return self.run(args)
  File 
 /usr/local/lib/python2.7/dist-packages/gnuradio/ctrlport/IceRadioClient.py, 
 line 97, in run
radio = self.getRadio(host, port)
  File 
 /usr/local/lib/python2.7/dist-packages/gnuradio/ctrlport/IceRadioClient.py, 
 line 36, in getRadio
radio = GNURadio.ControlPortPrx.checkedCast(base)
  File /usr/local/lib/python2.7/dist-packages/gnuradio_ice.py, line 1257, in 
 checkedCast
return _M_gnuradio.ctrlport.GNURadio.ControlPortPrx.ice_checkedCast(proxy, 
 '::GNURadio::ControlPort', facetOrCtx, _ctx)
ConnectTimeoutException: exception ::Ice::ConnectTimeoutException
{
}

Segmentation fault (core dumped)

So there are two issues to note here:
-Something in the ICE instance is breaking on the GNU Radio flowgraph 
 side. The port is still open; it just times out. Trying to instantiate 
 gr-ctrlport-monitor to an incorrect port just says connection refused, as 
 expected.
-gr-ctrlport-monitor is not robust to connection-related errors like 
 timeouts or refused connections.

Is there any advice of what I can turn on or enable in GNU Radio or my 
flowgraph to debug the first problem? I can live with the second problem as 
long as I can make sure ICE doesn't break on me.

Thanks,
Sean

Sorry for getting antsy about this, but I'm really not sure how to go about 
debugging ICE server stuff. It seems like it's buried pretty deeply in 
gnuradio-runtime. Where's the best place to start looking to find out why the 
ICE server stops responding?

Sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] gr-ctrlport-monitor timeout exception

2013-12-03 Thread Nowlan, Sean
Perhaps this is happening due to the ICE endpoint's TCP timeout setting. I have 
it configured to 300 ms based on the example ctrlport.conf file distributed 
with GNU Radio. I'll try increasing this. A few questions:


1)  What disadvantages would there be to setting this to something really 
high?

2)  I need to monitor things over a potentially unreliable connection. It 
looks straightforward to configure the ICE endpoint to use UDP. What would it 
take to make gr-ctrlport-monitor work with a UDP endpoint?

Thanks,
Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Nowlan, Sean
Sent: Tuesday, December 03, 2013 3:13 PM
To: Tim Newman
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] gr-ctrlport-monitor timeout exception

Sorry it took me a bit of time to respond. Yes, I'm sure my flowgraph is still 
running and producing data as expected. Can anybody think of why the ice 
endpoint would die unexpectedly?

Sean

From: Tim Newman [mailto:tim.new...@gmail.com]
Sent: Wednesday, November 13, 2013 11:42 AM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] gr-ctrlport-monitor timeout exception

I've seen ICE do this before, but usually its because my flowgraph dies, via 
segfault or something.  When the flowgraph dies, the ice endpoints aren't 
available anymore so the controlport monitor timesout when attempting to query 
them.  Are you sure your flowgraph isn't crapping out for some reason or 
another?

Tim

On Wed, Nov 13, 2013 at 11:10 AM, Nowlan, Sean 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:

From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org
 
[mailto:discuss-gnuradio-bounces+sean.nowlanmailto:discuss-gnuradio-bounces%2Bsean.nowlan=gtri.gatech@gnu.orgmailto:gtri.gatech@gnu.org]
 On Behalf Of Nowlan, Sean
Sent: Monday, November 11, 2013 4:10 PM
To: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] gr-ctrlport-monitor timeout exception

I'm using ControlPort to monitor transmissions through a USRP. I have a 
flowgraph responsible for generating burst traffic and streaming to a 
uhd_sink. Then I have a uhd_source tuned to the same frequency as the 
uhd_sink, and I connect it to a ctrlport_probe2_c block with length=128. I 
have ControlPort support compiled-in and enabled from a config file. I'm able 
to connect to a remotely running flowgraph using gr-ctrlport-monitor and plot 
the PSD of the samples vector pulled from the probe2 block every 100 
milliseconds. The problem is that after (what seems to be) a nondeterministic 
time, the ICE port stops responding and gr-ctrlport-monitor reports an error:

ctrlport-monitor: radio.get threw exception (exception 
::Ice::ConnectTimeoutException
{
}).

When I close and restart, gr-ctrlport-monitor times out and segfaults:

2013-11-11 16:02:47.329422 /usr/local/bin/gr-ctrlport-monitor: error: 
Traceback (most recent call last):
  File /usr/lib/pymodules/python2.7/Ice.py, line 984, in main
status = self.doMain(args, initData)
  File /usr/lib/pymodules/python2.7/Ice.py, line 1031, in doMain
return self.run(args)
  File 
 /usr/local/lib/python2.7/dist-packages/gnuradio/ctrlport/IceRadioClient.py, 
 line 97, in run
radio = self.getRadio(host, port)
  File 
 /usr/local/lib/python2.7/dist-packages/gnuradio/ctrlport/IceRadioClient.py, 
 line 36, in getRadio
radio = GNURadio.ControlPortPrx.checkedCast(base)
  File /usr/local/lib/python2.7/dist-packages/gnuradio_ice.py, line 1257, in 
 checkedCast
return _M_gnuradio.ctrlport.GNURadio.ControlPortPrx.ice_checkedCast(proxy, 
 '::GNURadio::ControlPort', facetOrCtx, _ctx)
ConnectTimeoutException: exception ::Ice::ConnectTimeoutException
{
}

Segmentation fault (core dumped)

So there are two issues to note here:
-Something in the ICE instance is breaking on the GNU Radio flowgraph 
 side. The port is still open; it just times out. Trying to instantiate 
 gr-ctrlport-monitor to an incorrect port just says connection refused, as 
 expected.
-gr-ctrlport-monitor is not robust to connection-related errors like 
 timeouts or refused connections.

Is there any advice of what I can turn on or enable in GNU Radio or my 
flowgraph to debug the first problem? I can live with the second problem as 
long as I can make sure ICE doesn't break on me.

Thanks,
Sean

Sorry for getting antsy about this, but I'm really not sure how to go about 
debugging ICE server stuff. It seems like it's buried pretty deeply in 
gnuradio-runtime. Where's the best place to start looking to find out why the 
ICE server stops responding?

Sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Re: [Discuss-gnuradio] [USRP-users] A good alternative for Ezcap DVB-T Dongle??

2013-11-25 Thread Nowlan, Sean
My experience has been that the EZcaps with E4000 aren't easy to get anymore 
since the E4000 has been discontinued. I'll second Rui's notion that you should 
look for something with the R820T. I just picked one up last week - it seems to 
have much better sensitivity and much less LO leakage (DC spike) than my EZcap.

Look for the NooElec TV28T: 
http://www.amazon.com/Receiver-RTL2832U-Compatible-Packages-Guaranteed/dp/B009U7WZCA/

Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Manu T S
Sent: Tuesday, November 19, 2013 7:58 AM
To: Rui Pinheiro; GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] [USRP-users] A good alternative for Ezcap DVB-T 
Dongle??

Hi Rui,
I was looking for alternatives because ezcap dongles are not readily available 
in India. When I bought one (I bought from dealextream) it had to be shipped 
from Hong Kong and took many days to reach me. I had to pay extra customs 
duty.(That any way will be unavoidable)
. I'm not averse to ezcap in any way. But I'm looking for better reliability 
about shipping.
If you are aware of any dealers selling ezcap, I would be glad to know the 
details.
Thanks.
Manu

On Tue, Nov 19, 2013 at 5:59 PM, Rui Pinheiro 
ruipinhei...@gmail.commailto:ruipinhei...@gmail.com wrote:

Hi Manu,

why an alternative? I uses dongles with the E4000 tuner some cynergys. In my 
opinion the ezcap with the R820T tuner works better and more stable (rtl-sdr 
project).

Cheers..

Rui
Am 19.11.2013 12:36 schrieb Manu T S 
manu.t.s...@gmail.commailto:manu.t.s...@gmail.com:
Hi,

What are the options for a good alternative for Ezcap DVB-T dongle?
We need some RTL SDR dongles, for setting up experiments for undergraduate 
communication lab course. We were planning to buy some RTL SDR compatible 
dongles for the same. If anyone knows a good alternative for Ezcap DVB-T 
dongle, please let me know. Any amount of details ( specifications, available 
vendors) are welcome.
Thank you.

--
Manu T S

___
USRP-users mailing list
usrp-us...@lists.ettus.commailto:usrp-us...@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com



--
Manu T S
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GRC: File/Path browser in QT or WX gui ?

2013-11-20 Thread Nowlan, Sean
You could have a text box with a file open dialog, and the callback would 
lock/stop the flowgraph, give the returned file path string to a file_source 
block, and then unlock/start the flowgraph.

-Original Message-
From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of M Dammer
Sent: Wednesday, November 20, 2013 10:12 AM
To: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] GRC: File/Path browser in QT or WX gui ?

I was thinking about people who just load a flowgraph and start it. In this 
case it would be very convenient to have all parameters that need adjusting 
(including filepath) in the GUI.
greetings, Mark

On 20/11/13 15:07, Marcus Müller wrote:
 I think that would be possible; however, before you start coding it 
 yourself, please consider the use case:
 In most cases, things like I want to read that file are considered 
 before starting a flow graph.

 Greetings,
 Marcus

 On 20.11.2013 15:08, M Dammer wrote:
 I am looking for a standard file browser widget for a QT or Wx based 
 GUI. You browse the filesystem and the moment you click o.k. the 
 choosen path is put into a variable that can be used within your 
 flowgraph. Is this possible ? Currently the only option I see is to 
 set the filename/path within the flowgraph (e.g. WAV sinks/sources).
 Mark




 ___
 Discuss-gnuradio mailing list
 Discuss-gnuradio@gnu.org
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


 ___
 Discuss-gnuradio mailing list
 Discuss-gnuradio@gnu.org
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] gr-ieee802-11 grc files missing

2013-11-19 Thread Nowlan, Sean
I'm taking a look at the gr-ieee802-11 project. I'm unable to use 
ofdm_loopback.grc because ofdm_phy_hier appears to be missing. I've installed 
gr-ieee802-11 and gr-foo from Bastian's github page. What step am I missing?

Thanks,
Sean

 Welcome to GNU Radio Companion v3.7.2-13-gf1904733 

Loading: ofdm_loopback.grc
 Error: Block key ofdm_phy_hier not found in Platform - grc(GNU Radio 
 Companion)
 Error: Connection between ofdm_phy_hier_1(0) and foo_packet_pad_0(0) could 
 not be made.
source block id ofdm_phy_hier_1 not in block ids
 Error: Connection between blocks_add_xx_0(0) and ofdm_phy_hier_1(0) could 
 not be made.
sink block id ofdm_phy_hier_1 not in block ids
 Error: Connection between blocks_message_strobe_0(0) and 
 ieee802_11_ofdm_mac_0(0) could not be made.
source key 0 not in source block keys
 Error: Connection between ofdm_phy_hier_1(1) and ieee802_11_ofdm_mac_0(1) 
 could not be made.
source block id ofdm_phy_hier_1 not in block ids
 Error: Connection between ieee802_11_ofdm_mac_0(1) and ofdm_phy_hier_1(1) 
 could not be made.
sink block id ofdm_phy_hier_1 not in block ids
 Error: Connection between ofdm_phy_hier_1(1) and 
 ieee802_11_ofdm_parse_mac_0(0) could not be made.
source block id ofdm_phy_hier_1 not in block ids
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] gr-ieee802-11 grc files missing

2013-11-19 Thread Nowlan, Sean
I don't know if there is a way to include hierarchical blocks in the 
installation process. So for now you have to manually open ofdm_phy_hier.grc 
and click build.
This installs the block in your ~/.grc_gnuradio folder. Then reopen grc.

Thanks, Bastian. I tried this and got another error:

 Welcome to GNU Radio Companion v3.7.2-13-gf1904733 

Loading: ofdm_phy_hier.grc
 Error: Connection between pad_source_1(0) and ieee802_11_ofdm_mapper_0(0) 
 could not be made.
sink key 0 not in sink block keys
 Error: Connection between ieee802_11_ofdm_decode_mac_0(0) and pad_sink_1(0) 
 could not be made.
source key 0 not in source block keys
 Done

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] gr-ieee802-11 grc files missing

2013-11-19 Thread Nowlan, Sean
I have a patch applied that rename message ports. Maybe the connections are 
therefore broken. Can you have a quick look if the gray ports are connected. 
It should be easy to spot where the connections should be (mac_out - phy_in 
and so on).

They were not connected; I connected them and it compiled. There are message 
block connections missing in ofdm_loopback.grc as well, but it's not as clear 
how they should be connected.

Sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] gr-ieee802-11 grc files missing

2013-11-19 Thread Nowlan, Sean
like this:
http://www.ccs-labs.org/~bloessl/grc.png

strobe - app_in
phy_out - mac_in
mac_out - phy_in
mac_out - in (of parser)

Thanks! It works.

Sean



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] gr-ctrlport-monitor timeout exception

2013-11-13 Thread Nowlan, Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On 
Behalf Of Nowlan, Sean
Sent: Monday, November 11, 2013 4:10 PM
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] gr-ctrlport-monitor timeout exception

I'm using ControlPort to monitor transmissions through a USRP. I have a 
flowgraph responsible for generating burst traffic and streaming to a 
uhd_sink. Then I have a uhd_source tuned to the same frequency as the 
uhd_sink, and I connect it to a ctrlport_probe2_c block with length=128. I 
have ControlPort support compiled-in and enabled from a config file. I'm able 
to connect to a remotely running flowgraph using gr-ctrlport-monitor and plot 
the PSD of the samples vector pulled from the probe2 block every 100 
milliseconds. The problem is that after (what seems to be) a nondeterministic 
time, the ICE port stops responding and gr-ctrlport-monitor reports an error:

ctrlport-monitor: radio.get threw exception (exception 
::Ice::ConnectTimeoutException
{
}).

When I close and restart, gr-ctrlport-monitor times out and segfaults:

2013-11-11 16:02:47.329422 /usr/local/bin/gr-ctrlport-monitor: error: 
Traceback (most recent call last):
  File /usr/lib/pymodules/python2.7/Ice.py, line 984, in main
status = self.doMain(args, initData)
  File /usr/lib/pymodules/python2.7/Ice.py, line 1031, in doMain
return self.run(args)
  File 
 /usr/local/lib/python2.7/dist-packages/gnuradio/ctrlport/IceRadioClient.py, 
 line 97, in run
radio = self.getRadio(host, port)
  File 
 /usr/local/lib/python2.7/dist-packages/gnuradio/ctrlport/IceRadioClient.py, 
 line 36, in getRadio
radio = GNURadio.ControlPortPrx.checkedCast(base)
  File /usr/local/lib/python2.7/dist-packages/gnuradio_ice.py, line 1257, in 
 checkedCast
return _M_gnuradio.ctrlport.GNURadio.ControlPortPrx.ice_checkedCast(proxy, 
 '::GNURadio::ControlPort', facetOrCtx, _ctx)
ConnectTimeoutException: exception ::Ice::ConnectTimeoutException
{
}

Segmentation fault (core dumped)

So there are two issues to note here:
-Something in the ICE instance is breaking on the GNU Radio flowgraph 
 side. The port is still open; it just times out. Trying to instantiate 
 gr-ctrlport-monitor to an incorrect port just says connection refused, as 
 expected.
-gr-ctrlport-monitor is not robust to connection-related errors like 
 timeouts or refused connections.

Is there any advice of what I can turn on or enable in GNU Radio or my 
flowgraph to debug the first problem? I can live with the second problem as 
long as I can make sure ICE doesn't break on me.

Thanks,
Sean

Sorry for getting antsy about this, but I'm really not sure how to go about 
debugging ICE server stuff. It seems like it's buried pretty deeply in 
gnuradio-runtime. Where's the best place to start looking to find out why the 
ICE server stops responding?

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] gr-ctrlport-monitor timeout exception

2013-11-11 Thread Nowlan, Sean
I'm using ControlPort to monitor transmissions through a USRP. I have a 
flowgraph responsible for generating burst traffic and streaming to a uhd_sink. 
Then I have a uhd_source tuned to the same frequency as the uhd_sink, and I 
connect it to a ctrlport_probe2_c block with length=128. I have ControlPort 
support compiled-in and enabled from a config file. I'm able to connect to a 
remotely running flowgraph using gr-ctrlport-monitor and plot the PSD of the 
samples vector pulled from the probe2 block every 100 milliseconds. The 
problem is that after (what seems to be) a nondeterministic time, the ICE port 
stops responding and gr-ctrlport-monitor reports an error:

ctrlport-monitor: radio.get threw exception (exception 
::Ice::ConnectTimeoutException
{
}).

When I close and restart, gr-ctrlport-monitor times out and segfaults:

2013-11-11 16:02:47.329422 /usr/local/bin/gr-ctrlport-monitor: error: Traceback 
(most recent call last):
  File /usr/lib/pymodules/python2.7/Ice.py, line 984, in main
status = self.doMain(args, initData)
  File /usr/lib/pymodules/python2.7/Ice.py, line 1031, in doMain
return self.run(args)
  File 
/usr/local/lib/python2.7/dist-packages/gnuradio/ctrlport/IceRadioClient.py, 
line 97, in run
radio = self.getRadio(host, port)
  File 
/usr/local/lib/python2.7/dist-packages/gnuradio/ctrlport/IceRadioClient.py, 
line 36, in getRadio
radio = GNURadio.ControlPortPrx.checkedCast(base)
  File /usr/local/lib/python2.7/dist-packages/gnuradio_ice.py, line 1257, in 
checkedCast
return _M_gnuradio.ctrlport.GNURadio.ControlPortPrx.ice_checkedCast(proxy, 
'::GNURadio::ControlPort', facetOrCtx, _ctx)
ConnectTimeoutException: exception ::Ice::ConnectTimeoutException
{
}

Segmentation fault (core dumped)

So there are two issues to note here:

-  Something in the ICE instance is breaking on the GNU Radio flowgraph 
side. The port is still open; it just times out. Trying to instantiate 
gr-ctrlport-monitor to an incorrect port just says connection refused, as 
expected.

-  gr-ctrlport-monitor is not robust to connection-related errors like 
timeouts or refused connections.

Is there any advice of what I can turn on or enable in GNU Radio or my 
flowgraph to debug the first problem? I can live with the second problem as 
long as I can make sure ICE doesn't break on me.

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] stream tag samples

2013-10-25 Thread Nowlan, Sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Jenny Galasso
Sent: Friday, October 25, 2013 3:06 PM
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] stream tag samples

Today at 1:02 PM
Hi,
I'm using stream tags to time tag my data. In particular, I'm reading in 
one-second files and tagging the first sample read in with the time. I'm 
concerned with how the tag will be handled during decimation, filtering etc. I 
have read the documentation and understand that the tag is reassigned based on 
the relative_rate. For this particular data set though, it is important that 
the tags stay with the specific samples to which they were assigned, even if 
some of the tags are lost during decimation, filtering, etc.
Is this even possible? Are there any recommendations or tricks to get it to 
behave this way?
Thanks!
Jenny


Hi Jenny,

If you decimate by N, you're getting rid of N-1 out of every N samples. So 
naturally you would want the tag to stick with the sample that doesn't get 
thrown out. Similarly, if you interpolate by M, you introduce M-1 samples into 
the stream for every input sample; you'd naturally want the tag associated with 
input sample /i/ to be placed on the first sample of the corresponding batch of 
M output samples. The propagate_tags method in 
gnuradio/gnuradio-runtime/lib/block_executor.cc handles this by default. You 
can override this behavior in your own blocks by calling 
set_tag_propagation_policy(TPP_DONT) in your block's constructor and then 
handling tags yourself in your work method.

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] stream tag samples

2013-10-25 Thread Nowlan, Sean


From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Nowlan, Sean
Sent: Friday, October 25, 2013 3:23 PM
To: Jenny Galasso; discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] stream tag samples


From: 
discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.orgmailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org
 [mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On 
Behalf Of Jenny Galasso
Sent: Friday, October 25, 2013 3:06 PM
To: discuss-gnuradio@gnu.orgmailto:discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] stream tag samples

Today at 1:02 PM
Hi,
I'm using stream tags to time tag my data. In particular, I'm reading in 
one-second files and tagging the first sample read in with the time. I'm 
concerned with how the tag will be handled during decimation, filtering etc. I 
have read the documentation and understand that the tag is reassigned based on 
the relative_rate. For this particular data set though, it is important that 
the tags stay with the specific samples to which they were assigned, even if 
some of the tags are lost during decimation, filtering, etc.
Is this even possible? Are there any recommendations or tricks to get it to 
behave this way?
Thanks!
Jenny


Hi Jenny,

If you decimate by N, you're getting rid of N-1 out of every N samples. So 
naturally you would want the tag to stick with the sample that doesn't get 
thrown out. Similarly, if you interpolate by M, you introduce M-1 samples into 
the stream for every input sample; you'd naturally want the tag associated with 
input sample /i/ to be placed on the first sample of the corresponding batch of 
M output samples. The propagate_tags method in 
gnuradio/gnuradio-runtime/lib/block_executor.cc handles this by default. You 
can override this behavior in your own blocks by calling 
set_tag_propagation_policy(TPP_DONT) in your block's constructor and then 
handling tags yourself in your work method.

Sean

I don't think there's a way to tell GNU Radio blocks derived from 
sync_decimator and sync_interpolator to quit propagating tags as described 
above (unless you write blocks that inherit from these classes yourself). It's 
the only way that really makes sense when changing rate domains by a rational 
factor.

Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Specify which methods show up in SWIG version of C++ block

2013-10-09 Thread Nowlan, Sean
Declare a pure virtual function in (for example) gr-OOT/include/OOT/myblock.h :

virtual int how_many_things(const int n) const = 0;

Then declare a concrete function in gr-OOT/lib/myblock_impl.h :

int how_many_things(const int n) const;

Then define your concrete function in gr-OOT/lib/myblock_impl.cc :

int how_many_things(const int n)
{
return n;
}

If you added your block with gr_modtool, you'll find this in 
gr-OOT/swig/OOT_swig.i :

%{
...
#include OOT/myblock.h
...
%}
...
%include OOT/myblock.h
...
GR_SWIG_BLOCK_MAGIC2(OOT, myblock);

The above statements will automagically SWIG anything defined in myblock.h.



-Original Message-
From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Ethan Trewhitt
Sent: Wednesday, October 09, 2013 4:36 PM
To: GnuRadio Discussion List
Subject: [Discuss-gnuradio] Specify which methods show up in SWIG version of 
C++ block

I'm working on some custom C++ blocks. I would like to have a few methods in 
the C++ world visible to Python so that they can be called directly. My 
understanding is that GRC can then make such things visible through the 
callback tag in the block's XML specification.

Looking at the GR3.7 version of fir_filter, for instance, shows that it has a 
set_taps method and an update_tap method, both of which are public. 
However, only set_taps gets translated into the SWIG Python version of the 
fir_filter block, while update_tap does not.
What part of the gr-filter source tree instructs SWIG to include one but not 
the other? Does it have something to do with the way the
GR_SWIG_BLOCK_MAGIC2() macro works within filter_swig.i?

Short version: how do I instruct the SWIG build process to translate a 
particular method of a C++ GR block into its Python version?

Thanks in advance.

Ethan

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] PFB Arbitrary Resampler

2013-10-08 Thread Nowlan, Sean
In the benchmark_tx.py code for MPSK modulation, the pfb_arbitrary_resampler 
block is instantiated with 32 * 11 * floor(samples_per_symbol) taps. I 
understand that 32 is the number of filters in the filterbank, but I'm not sure 
what motivates the factor of 11. Has anybody been able to fine tune these 
numbers to improve performance of the resampling filter, e.g., reducing the 
number of taps?

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] flowgraph with async messaging hangs on calling wait()

2013-09-12 Thread Nowlan, Sean
Any block can return DONE to indicate the scheduler that it finished its 
processing. Then the scheduler tells downstream blocks that they are DONE too. 
However, it's possible that you want downstream blocks to finish operating on 
samples that are in flight after the upstream block is marked DONE, rather 
than terminating everything before those buffers have been flushed/processed. 
Wouldn't it make sense to have the scheduler let these buffers flush before 
notifying those blocks that they are DONE? (Or does the scheduler already do 
something like this, and I've just not noticed?)


From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] on behalf of Tom 
Rondeau [t...@trondeau.com]
Sent: Thursday, September 12, 2013 9:45 AM
To: Mark Cottrell
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] flowgraph with async messaging hangs on calling 
wait()

On Wed, Sep 11, 2013 at 5:08 PM, Mark Cottrell
mark.cottr...@taitradio.com wrote:
 Hi Tom,

 I spent a while playing around with this, including adding a bunch of debug
 output to tpb_thread_body::tpb_thread_body, and found that when a block is
 done, the DONE state should propagate through the flow graph as
 tpb_detail::notify_neighbours is called (as I'm sure you're aware).  The
 problem is, tpb_detail::notify_neighbours only notifies blocks that that
 have input or output buffers (which as far as I can tell, blocks with only
 message inputs or outputs don't), so blocks like message_debug will block on
 tpb_detail::input_cond forever (on line 110 of tpb_thread_body.cc) and can
 never be notified (as it has no input buffers, so notify downstream does
 nothing).

 Johnathan contacted me r.e. this and I sent him a patch which fixed the
 problem for me (attached to this message), but I don't think he has had time
 to look at it yet.  The gist of it is that it uses pmt::PMT_EOF to indicate
 that message blocks should transition to done and notify neighbours.

 Please feel free to correct me on any of what I said above, this was my
 first foray into the scheduler so I could have it completely wrong.

 Thanks,
 Mark

Yeah, ok, I see the problem. I think I remember now someone else
talking about this potential issue.

I'll discuss your patch with Johnathan sometime soon. I see where
you're going with it, but I'm hoping that there's a solution that's a
bit simpler (or just fewer changes).

Thanks,

--
Tom
Visit us at GRCon13 Oct. 1 - 4
http://www.trondeau.com/grcon13


 On Thu, Sep 12, 2013 at 3:56 AM, Tom Rondeau t...@trondeau.com wrote:

 On Thu, Aug 22, 2013 at 10:44 PM, Mark Cottrell
 mark.cottr...@taitradio.com wrote:
  Hello all,
 
  I have written a sync block that takes in samples and outputs messages
  (similar to tagged_stream_to_pdu), but when writing a test for the block
  I
  found that when I called top_block.run(), the test never finished, as it
  appears to be hanging on the call to top_block.wait().
 
  The flow graph for the test is as follows:
  non-repeating file source - my block - message_debug
 
  is hanging the expected behaviour?  I can work around it by counting the
  number of items written by the file source, but it would be nice to have
  it
  terminate of its own accord.
 
  Thanks,
  Mark


 Mark,

 No, that's not expected behavior. When the file sink finishes, it
 should set the DONE stage in the scheduler that should indicated to
 every down stream block that they are also done.

 Make sure that there isn't something happening where your block isn't
 getting stuck in 'work' at this point.

 --
 Tom
 Visit us at GRCon13 Oct. 1 - 4
 http://www.trondeau.com/grcon13

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Empty work functions

2013-09-04 Thread Nowlan, Sean
The implementation of the uhd_control_port block in gnuradio-extras has an 
empty work function because it doesn't actually process any samples. I believe 
gnuradio-extras uses the gnuradio advanced scheduler (GRAS), so apparently GRAS 
doesn't mind blocks that don't have any connections in a flowgraph or do any 
work. Does the standard gnuradio scheduler also support this? I just want to 
know for reference if the gnuradio scheduler will keep or ignore a block with 
no connections, or empty io_signatures, or no code body in the work function.

What I want to do is change power using timed commands independent of the data 
path in the flowgraphs. I can do this one of two ways:
1) Make a block with a message queue and some logic to handle timing (to play 
nice with the timed commands implementation, which has a limited FIFO size and 
only a 10 second timeout window).
2) Launch a separate thread in Python that does the same thing as 1) but isn't 
a block. I assume this will be a lot easier.

--sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Public transport in Boston

2013-08-10 Thread Nowlan, Sean
Sorry for the bad info; I wasn't aware of the Blue Line T going to the airport. 
In the past I've taken the Silver Line (bus rapid transit) to South Station and 
transferred to the Red Line.

--sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] on behalf of 
Michael Dickens [m...@alum.mit.edu]
Sent: Saturday, August 10, 2013 12:07 PM
To: Bruce Penswick
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Public transport in Boston

Cool; I've been out of Boston for ~8 years now, so the Silver Line is new to 
me.  Thanks!

It looks from the map  
http://www.mbta.com/uploadedFiles/Documents/Schedules_and_Maps/Bus/silverwatermap.pdf
  that the Silver Line's SL1 and SL2 go by the World Trade Center, with a stop 
at the Courthouse which is on Seaport Boulevard; so not on Summer St where the 
GRCon building is, but close by.  One could get off at Courthouse and walk 
South on (looks like) Thompson Place to get to the GRCon building.  It would 
probably be faster to just get off at South Station and walk across the Summer 
St Bridge though.  It also looks like MBTA Buses 4 and 7 go right by the GRCon 
meeting place; Bus 11 goes very close.  So, lots of public transport options.

Getting out of the Airport is also easier because the Silver Line goes directly 
to terminals (or, that's the way it looks from the maps @  
http://www.mbta.com/schedules_and_maps/subway/ ; can anyone confirm?). - MLD

On Aug 10, 2013, at 10:32 AM, Bruce Penswick brucepensw...@yahoo.com wrote:
 actually now there is a new Silver Line, which takes you from South Station, 
 past where GRcon is being held, to Logan Airport.

 https://en.wikipedia.org/wiki/Silver_Line_%28MBTA%29

 http://www.mbta.com/schedules_and_maps/subway/lines/?route=SILVER

 http://www.mbta.com/schedules_and_maps/subway/lines/?route=BLUE


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Spectrogram plot on ControlPort

2013-08-08 Thread Nowlan, Sean

That should definitely be a good start. You're going to probably want
to have a rolling buffer that you fill up with the latest samples and
age off the oldest ones once its full. Otherwise, you'll just get one
or two lines of the spectrogram plotted.

I used the waterfall_sink_c class. Doesn't that already buffer everything it 
needs to display the plot? Are you talking about additional buffering before 
the waterfall sink? It looks to be working already.

--sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Spectrogram plot on ControlPort

2013-08-06 Thread Nowlan, Sean

On Thu, Aug 1, 2013 at 4:02 PM, Nowlan, Sean sean.now...@gtri.gatech.edu 
wrote:
 Does anybody know how to get gr-ctrlport-monitor to do spectrogram 
 plots? I set up a ctrlport_probe2_c block with the DISPSPEC 
 DisplayType but all I see are Time, PSD, and Constellation plot options in 
 gr-ctrlport-monitor.

I hadn't actually enabled the spectrogram plots through our ControlPort 
monitor app. It's due to the way the data is handled that makes it a slight 
pain to set up. It's not impossible, but I just hadn't spent the time to do 
it. You can look in gnuradio-runtime/python/gnuradio/ctrlport/GrDataPlotter.py 
and see what you can do about adding it in.

I just copied the PSD functions and changed Psd to Spectrogram and added 
waterfall sinks to get it working. However I had to remove a call to 
enable_autoscale(bool) since that function isn't a member of the 
waterfall_sink_* classes. Does this sound like the right approach or do I have 
to do something special to the data first?

--sean


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Public transport in Boston

2013-08-05 Thread Nowlan, Sean
I found a Holiday Inn Express along the Red line of the T, maybe 20 mins south, 
for ~215 a night. Haven't placed the order though. Just took a look at avg 
rates on their website.

-Original Message-
From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Philip Balister
Sent: Monday, August 05, 2013 11:12 AM
To: GNURadio Discussion List
Subject: [Discuss-gnuradio] Public transport in Boston

I am looking at hotels in Boston GR Con. Needless to say, I will never complain 
about Si valley rates again.

Does anyone have any comments about public transport in Boston?
Especially about getting from cheaper hotels to the conference location.

Thanks,

Philip

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Public transport in Boston

2013-08-05 Thread Nowlan, Sean
Also, the train doesn’t go to the airport, but there are frequent bus transfers 
to nearby train stations. I suggest Google Maps or the MBTA website itself. The 
latter provides a Route Planning tool an lets you choose between Google Maps or 
their own interface.

http://www.mbta.com/

--sean

From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On Behalf 
Of Nick Foster
Sent: Monday, August 05, 2013 11:40 AM
To: Philip Balister
Cc: GNURadio Discussion List
Subject: Re: [Discuss-gnuradio] Public transport in Boston

Boston's T is a pretty good, reasonably reliable public transit system, and 
the city is compact enough that it's generally pretty easy to get around. The 
conference is very close to South Station, which is the largest transport hub 
in Boston. South Station is on the Red Line of the MBTA subway and is easy to 
get to from any other T stop with a maximum of 1 transfer.

If you were incredibly, world-class cheap, you could even stay way out in the 
suburbs and take the commuter rail into South Station for the conference. 
Personally, if I wanted to save money, I'd look out toward Quincy Adams on the 
south end of the Red Line for a cheaper place to stay, and take the Red Line 
into South Station.

Here's a map showing the subway and commuter rail lines:
http://www.mbta.com/schedules_and_maps/rail/

--n
On Mon, Aug 5, 2013 at 8:12 AM, Philip Balister 
phi...@balister.orgmailto:phi...@balister.org wrote:
I am looking at hotels in Boston GR Con. Needless to say, I will never
complain about Si valley rates again.

Does anyone have any comments about public transport in Boston?
Especially about getting from cheaper hotels to the conference location.

Thanks,

Philip

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.orgmailto:Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Spectrogram plot on ControlPort

2013-08-01 Thread Nowlan, Sean
Does anybody know how to get gr-ctrlport-monitor to do spectrogram plots? I set 
up a ctrlport_probe2_c block with the DISPSPEC DisplayType but all I see are 
Time, PSD, and Constellation plot options in gr-ctrlport-monitor.

Thanks,
Sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] QT GUI FFT and Waterfall plots not working for me on 3.7

2013-07-30 Thread Nowlan, Sean
The plots are working now. I was on Qt 4.8.1 and Qwt 5.2.2, the defaults 
installed by the build-gnuradio script. I removed Qwt 5.2.2 (packages: 
libqwt5-qt4 libqwt5-qt4-dev) and installed Qwt 6.0.0 (packages: libqwt 
libqwt-dev). Perhaps it's worth changing these in the Ubuntu 13.* section of 
build-gnuradio.

--sean


From: trond...@trondeau.com [trond...@trondeau.com] on behalf of Tom Rondeau 
[t...@trondeau.com]
Sent: Tuesday, July 30, 2013 9:36 AM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] QT GUI FFT and Waterfall plots not working for 
me on 3.7

On Mon, Jul 29, 2013 at 4:39 PM, Nowlan, Sean
sean.now...@gtri.gatech.edu wrote:
 Hi all,

 For whatever reason QT FFT and Waterfall plots are not displaying for me.
 All the controls are present and I can change scale, FFT size, color
 intensity (for waterfall), etc. but the display area is just a white brick.
 Time domain display seems to work just fine.

 I see this behavior both with gr-qtgui/apps/uhd_display.py and with a simple
 GRC flowgraph with UHD - QT sink.

 System info:
 Ubuntu 13.04 x86_64
 GNU Radio v3.7.0-82-g179a2d78
 UHD v3.5.3-20-gbcdf7c3
 Compiler: g++-4.6

 --sean

What version of Qt and QWT do you have? I've noticed display problems
on the time raster plots for Qwt less than version 6. So if you can
install and use Qwt 6 (which should be pretty easy on Ubuntu 13.04),
give that a shot.

Tom

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] QT GUI FFT and Waterfall plots not working for me on 3.7

2013-07-30 Thread Nowlan, Sean
The plots are working now. I was on Qt 4.8.1 and Qwt 5.2.2, the defaults 
installed by the build-gnuradio script. I removed Qwt 5.2.2 (packages: 
libqwt5-qt4 libqwt5-qt4-dev) and installed Qwt 6.0.0 (packages: libqwt 
libqwt-dev). Perhaps it's worth changing these in the Ubuntu 13.* section of 
build-gnuradio.

Sorry, I meant to say Ubuntu 13.04 uses Qt 4.8.4.

--sean


From: trond...@trondeau.com [trond...@trondeau.com] on behalf of Tom Rondeau 
[t...@trondeau.com]
Sent: Tuesday, July 30, 2013 9:36 AM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] QT GUI FFT and Waterfall plots not working for 
me on 3.7

On Mon, Jul 29, 2013 at 4:39 PM, Nowlan, Sean
sean.now...@gtri.gatech.edu wrote:
 Hi all,

 For whatever reason QT FFT and Waterfall plots are not displaying for me.
 All the controls are present and I can change scale, FFT size, color
 intensity (for waterfall), etc. but the display area is just a white brick.
 Time domain display seems to work just fine.

 I see this behavior both with gr-qtgui/apps/uhd_display.py and with a simple
 GRC flowgraph with UHD - QT sink.

 System info:
 Ubuntu 13.04 x86_64
 GNU Radio v3.7.0-82-g179a2d78
 UHD v3.5.3-20-gbcdf7c3
 Compiler: g++-4.6

 --sean

What version of Qt and QWT do you have? I've noticed display problems
on the time raster plots for Qwt less than version 6. So if you can
install and use Qwt 6 (which should be pretty easy on Ubuntu 13.04),
give that a shot.

Tom

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Suggestion: Avoid using https in Pybombs recipes

2013-07-30 Thread Nowlan, Sean
If you sudo make install a compiled binary from spoofed git repository, your 
botnet masters will thank you!


From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] on behalf of 
Michael Ossmann [m...@ossmann.com]
Sent: Tuesday, July 30, 2013 11:52 AM
To: M Dammer
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Suggestion: Avoid using https in Pybombs recipes

On Tue, Jul 30, 2013 at 11:57:09AM +0100, M Dammer wrote:

 This may lower security, but as the software we are working with is
 opensource anyway I do not see the need for encryption.

There have been attacks against users of open source software via
automated software update and installation methods.

My two cents: fix certificate validation instead of dropping https.

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] QT GUI FFT and Waterfall plots not working for me on 3.7

2013-07-30 Thread Nowlan, Sean
  libqwt5-qt4 libqwt5-qt4-dev
If someone can suggest (and test) what the new PACKAGES line should look
like to make this happen, I can integrate it.

The following built correctly for me using ./build-gnuradio -j2 -v all. The 
GUI components worked. They also worked for ./build-gnuradio -j2 -v -m all 
(gnuradio 3.7 master).

$ diff -u build-gnuradio-old build-gnuradio
--- build-gnuradio-old  2013-07-30 15:52:11.579918663 -0400
+++ build-gnuradio  2013-07-30 15:52:24.919918353 -0400
@@ -491,7 +491,7 @@
libsdl1.2-dev python-wxgtk2.8 git-core
libqt4-dev python-numpy ccache python-opengl libgsl0-dev
python-cheetah python-lxml doxygen qt4-default 
qt4-dev-tools libusb-1.0-0-dev
-   libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools 
python-qwt5-qt4
+   libqwt-dev libqwtplot3d-qt4-dev pyqt4-dev-tools 
python-qwt5-qt4
cmake git-core wget libxi-dev python-docutils 
gtk2-engines-pixbuf r-base-dev python-tk
liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2
CMAKE_FLAG1=-DPythonLibs_FIND_VERSION:STRING=2.7

What does the pyBombs recipe do?

I haven't tried this out yet; hopefully somebody who has can chime in.

--sean

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] QT GUI FFT and Waterfall plots not working for me on 3.7

2013-07-29 Thread Nowlan, Sean
Hi all,

For whatever reason QT FFT and Waterfall plots are not displaying for me. All 
the controls are present and I can change scale, FFT size, color intensity (for 
waterfall), etc. but the display area is just a white brick. Time domain 
display seems to work just fine.

I see this behavior both with gr-qtgui/apps/uhd_display.py and with a simple 
GRC flowgraph with UHD - QT sink.

System info:
Ubuntu 13.04 x86_64
GNU Radio v3.7.0-82-g179a2d78
UHD v3.5.3-20-gbcdf7c3
Compiler: g++-4.6

--sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Trouble posting messages to block's message port

2013-05-03 Thread Nowlan, Sean


From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] on behalf of 
Martin Lülf [m...@mluelf.de]
Sent: Friday, May 03, 2013 7:59 PM
To: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Trouble posting messages to block's message port

I had this issue once and if I remember correctly, connecting the block
to the flowgraph (i.e. connect any block to your message port, even if
that port will never send messages) will make your message handler react
to messages from your python code.

Hope this helps
Martin

---
Thanks! I'll give that a shot.

--sean
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Fwd: USRP1 control GPIOs on SBX boards

2013-04-26 Thread Nowlan, Sean
Unfortunately I wasn't able to determine the problem after a quick glance. I 
recommend that you use gr_modtool to create an out-of-tree module and then add 
a block to it. This will set up most of what you need. Then you can splice in 
your code/algorithms and not have to worry as much about the boilerplate stuff.

However, you will have to add some stuff to the CMakeList.txt files to pull in 
UHD support. I don't know off the top of my head how to pull in UHD directly, 
but if you pull in the gr-uhd package, that should do it for you. See 
gnuradio/cmake/Modules/FindGnuradio.cmake on the next branch for some guidance 
on how to do that.

--sean


From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org 
[discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] on behalf of 
Nelson Pina [n.p...@tomorrow-options.com]
Sent: Thursday, April 25, 2013 5:36 PM
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] Fwd: USRP1 control GPIOs on SBX boards

Hi Sean,

thanks for your feedback.. I'm still trying to get this working but the problem 
persists. Every time I use the uhd::device_addr_t addr class necessary to 
initialize an uhd::usrp::multi_usrp::make object, the GRC program fails.

Do I need to do something in the swig.i or the Python files to use 
uhd::device_addr_t addr class? I will send you my .cc and .h files, y«if you 
can take a look on those I will be very thankful.

Thanks again.

Best regards,

Nelson Pina
Product Developer
Hardware
[X]












n.p...@tomorrow-options.commailto:n.p...@tomorrow-options.com

T +351 220 301 596 (PT)
T +44 114 213 2712 (UK)

www.tomorrow-options.comhttp://www.tomorrow-options.com/
Porto // Portugal
Sheffield // United Kingdom

[X]http://www.tomorrow-options.com/   [X] 
http://www.linkedin.com/company/tomorrow-options[X] 
http://www.facebook.com/pages/Porto-Portugal/Tomorrow-Options/214846405104
[X] http://twitter.com/TomorrowOptions[X] 
http://www.youtube.com/user/TomorrowOptionsTube

[X]



On Tue, Apr 23, 2013 at 8:31 PM, Sean Nowlan 
sean.now...@gtri.gatech.edumailto:sean.now...@gtri.gatech.edu wrote:
On 04/23/2013 02:06 PM, Nelson Pina wrote:
Hi everyone,

I have been trying to make a gnuradio out-of-the-tree block that is able to 
control the four GPIOs, currently attached to LED's, of the SBX daughter-boards 
working with an USRP motherboard.

I wonder if anyone can help me on this, making a functional draft code of such 
a block:

1 integer input - that will define the state of the GPIOs
1 parameter - to define the motherboard serial number

I believe that for people with knowledge of C++, and Python this is a very 
simple module, unfortunately that is not my area since I'm a hardware engineer 
and I only work with C.

I tried some approaches, using the gr_modtool to create the module, but it 
always fails with GRC running errors like:

**

Traceback (most recent call last):
  File /home/to-nelsonpina/Desktop/locus_gnuradio/GRC_files/top_block.py, 
line 16, in module
import gpio
  File /usr/local/lib/python2.7/dist-packages/gpio/__init__.py, line 45, in 
module
from gpio_swig import *
  File /usr/local/lib/python2.7/dist-packages/gpio/gpio_swig.py, line 26, in 
module
_gpio_swig = swig_import_helper()
  File /usr/local/lib/python2.7/dist-packages/gpio/gpio_swig.py, line 22, in 
swig_import_helper
_mod = imp.load_module('_gpio_swig', fp, pathname, description)
ImportError: /usr/local/lib/libgnuradio-gpio.so: undefined symbol: 
_ZN3uhd4usrp10multi_usrp4makeERKNS_13device_addr_tE

*


This is most likely a failure to define the SWIG header file appropriately, or 
possibly you've _declared_ a class that SWIG found but you haven't _defined_ 
it. Finally because I just found this out the hard way, if you're using the new 
code structure with block.h, block_impl.h, and block_impl.cc, be aware that 
block.h needs to declare an abstract class and its method declarations need to 
be pure virtual. block_impl.h declares the concrete class and block_impl.cc 
provides concrete method definitions.

If you want to unmangle that symbol, type this:

c++filt _ZN3uhd4usrp10multi_usrp4makeERKNS_13device_addr_tE

I will appreciate all the help I can get from you guys.

Best regards,
__
Nelson Pina
Product Developer
Hardware
[X]












n.p...@tomorrow-options.commailto:n.p...@tomorrow-options.com

T +351 220 301 596 (PT)
T +44 114 213 2712 (UK)

www.tomorrow-options.comhttp://www.tomorrow-options.com/
Porto // Portugal
Sheffield // United Kingdom

[X]http://www.tomorrow-options.com/   [X] 
http://www.linkedin.com/company/tomorrow-options[X] 
http://www.facebook.com/pages/Porto-Portugal/Tomorrow-Options/214846405104
[X] http://twitter.com/TomorrowOptions[X] 
http://www.youtube.com/user/TomorrowOptionsTube

[X]




___
Discuss-gnuradio mailing list

  1   2   >