雖然gnuradio給我們提供了近百種常用的功能子產品block,但是在我們自己的系統設計中,需要不同的子產品完成特定的功能,這樣就需要我們自己來編寫c++源代碼,生成新的block以供系統調用。如果源代碼、編譯檔案都要自己編寫,需要很強的專業知識。利用模闆寫子產品gnuradio3.7用的都是gr_modtool
在終端進入主檔案夾,輸入: $gr_modtool newmod howto(這裡以howto為例),主檔案夾下就生成一個gr-howto檔案夾
接下來就是添加要編寫的子產品。先進入剛才生成的gr-howto檔案夾,在終端輸入
$gr_modtool add -t general square
下面選項選擇預設
接下來就是編寫c++代碼:進入lib檔案夾,修改square_impl.cc檔案(由于例子比較簡單兩個頭檔案都不需要修改)
編寫完.cc檔案後,進入gr-howto檔案夾,建立檔案夾:$mkdir build
進入build檔案夾:$cd build
編譯:$cmake ../
$ make
使子產品可以在grc中使用:在gr-howto目錄下輸入$gr_modtool makexml square,選擇y
安裝子產品:進入build目錄,$sudo make install
ubuntu可能要整理一下依賴關系:$sudo ldconfig
完成