Kevin,

It worked! I really appreciate your help!!

Ron,

So that install prefix should be pointing to where I installed gnuradio?

(Never can know too many ways to skin a cat-metaphorically)



Logan Washbourne
Electrical Engineering Graduate Student
(Electromagnetics)


On Sat, Aug 8, 2015 at 5:43 PM, Kevin McQuiggin <mcqui...@sfu.ca> wrote:

> Hi Logan:
>
> I just went through the same process!  My new OOT block wasn't being
> found.  The solution is to add a [grc] segment to the config.conf file in
> ~/.gnuradio:
>
> I had to create the .gnuradio directory, then add the simple two-line
> [grc] stanza to a new config.conf file:
>
> [grc]
> local_blocks_path=/usr/local/share/gnuradio/grc/blocks
>
> This tells grc to look for additional blocks in the stated directory.  So
> you would do something like:
>
> cd
> mkdir .gnuradio
> cd .gnuradio
> vi config.conf
>
> Then add the two lines above, your OOT block install path may be different
> so I'd check it first.
>
> Hope this helps,
>
> Kevin
>
> > On Aug 8, 2015, at 3:33 PM, Washbourne, Logan <
> lwas...@ostatemail.okstate.edu> wrote:
> >
> > Hello all,
> >
> > I am trying to create a simple OOT block. Eventually I would like to
> create a block that lets a transmitting agent know if their message was
> received or not, but for now I am just trying to create a block that
> multiplies the input values by 2 (very similar to the guided tutorial
> example of the square_ff block).
> >
> > So the problem is that when I follow all of the instructions no errors
> appear but when I open up the GRC, my module and blocks are not there.
> >
> > So hopefully no one minds if I explain how I have installed Gnuradio on
> my machine and the process of creating the OOT module, in hopes someone
> might find where I made an error.
> >
> > I have already gotten previous help and responses on here that really
> did help me out so I'd like to say again, thank you to the community.
> >
> > Ok, so I used Pybombs to install Gnuradio.
> >
> > /home/username/Thesis/pybombs is where I installed pybombs.
> >
> > Before installing gnuradio I changed the permissions to the path of
> /opt/gnuradio/pybombs by using: sudo chown username:mygroupname
> /opt/gnuradio/pybombs (thanks to Nathan West)
> >
> > I then used ./pybombs install gnuradio.
> >
> > I changed the install prefix to /opt/gnuradio/pybombs
> >
> > Then I used ./pybobms env
> > source /opt/gnuradio/pybombs/setup_env.sh (sometimes I have to rerun
> this to get the GRC to open, not sure what I'm doing to undo this command)
> >
> > Then I created the folder, /home/username/Thesis/OOT
> >
> > I then used gr_modtool newmod ACK
> >
> > Then /home/username/Thesis/OOT/gr-ACK gr_modtool add -t general check
> >
> > altered the QA file
> > rewrote the check_impl.cc file
> >
> > Created the build folder(/home/username/Thesis/OOT/gr-ACK/build
> >
> > ran cmake ../
> > ran make
> > ran make test
> >
> > Everything passed(after some debugging, array indices start at 0 btw)
> >
> > I then ran gr_modtool makexml check in the gr-ACK folder
> >
> > Then cd build
> >
> > sudo make install
> > sudo ldconfig
> >
> > gnuradio-companion
> >
> > And I can't find my module or block.
> >
> > I have a feeling that I'm still installing gnuradio or my OOT blocks in
> the wrong places, but I'm not sure how to remedy it.
> >
> > *********check_impl.cc***********
> >
> > #ifdef HAVE_CONFIG_H
> > #include "config.h"
> > #endif
> >
> > #include <gnuradio/io_signature.h>
> > #include "check_impl.h"
> >
> > namespace gr {
> >   namespace ACK {
> >
> >     check::sptr
> >     check::make()
> >     {
> >       return gnuradio::get_initial_sptr
> >         (new check_impl());
> >     }
> >
> >     /*
> >      * The private constructor
> >      */
> >     check_impl::check_impl()
> >       : gr::block("check",
> >               gr::io_signature::make(1,1, sizeof (float)),
> >               gr::io_signature::make(1,1, sizeof (float)))
> >     {}
> >
> >     /*
> >      * Our virtual destructor.
> >      */
> >     check_impl::~check_impl()
> >     {
> >     }
> >
> >     void
> >     check_impl::forecast (int noutput_items, gr_vector_int
> &ninput_items_required)
> >     {
> >         ninput_items_required[0] = noutput_items;
> >     }
> >
> >     int
> >     check_impl::general_work (int noutput_items,
> >                        gr_vector_int &ninput_items,
> >                        gr_vector_const_void_star &input_items,
> >                        gr_vector_void_star &output_items)
> >     {
> >         const float *in = (const float *) input_items[0];
> >         float *out = (float *) output_items[0];
> >
> >         // Do <+signal processing+>
> >         // Tell runtime system how many input items we consumed on
> >         // each input stream.
> >
> >     for(int i = 0; i < noutput_items ;i++)
> >     {
> >         out[i] = in[i] * 2;
> >     }
> >
> >
> >         consume_each (noutput_items);
> >
> >         // Tell runtime system how many output items we produced.
> >         return noutput_items;
> >     }
> >
> >   } /* namespace ACK */
> > } /* namespace gr */
> >
> >
> > ***********qa_check.py**********************
> >
> > #!/usr/bin/env python
> >
> >
> > from gnuradio import gr, gr_unittest
> > from gnuradio import blocks
> > import ACK_swig as ACK
> >
> > class qa_check (gr_unittest.TestCase):
> >
> >     def setUp (self):
> >         self.tb = gr.top_block ()
> >
> >     def tearDown (self):
> >         self.tb = None
> >
> >     def test_001_check (self):
> >
> >     src_data = (3, 4, 5.5, 2, 3)
> >     expected_result = (6, 8, 11, 4, 6)
> >     src = blocks.vector_source_f(src_data)
> >     sqr = ACK.check()
> >     dst = blocks.vector_sink_f()
> >     self.tb.connect(src,sqr)
> >     self.tb.connect(sqr,dst)
> >     self.tb.run()
> >     result_data = dst.data()
> >     self.assertFloatTuplesAlmostEqual(expected_result,result_data,6)
> >
> >
> >
> >
> >
> >
> > if __name__ == '__main__':
> >     gr_unittest.run(qa_check, "qa_check.xml")
> >
> >
> >
> >
> > I really appreciate all of your time,
> >
> > Logan Washbourne
> > Electrical Engineering Graduate Student
> > (Electromagnetics)
> >
> > _______________________________________________
> > 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

Reply via email to