https://wiki.gnuradio.org/index.php?title=WorkInProgressV3_7_5&feed=atom&action=historyWorkInProgressV3 7 5 - Revision history2024-03-28T23:40:28ZRevision history for this page on the wikiMediaWiki 1.39.5https://wiki.gnuradio.org/index.php?title=WorkInProgressV3_7_5&diff=189&oldid=prevMbr0wn: Imported from Redmine2017-03-08T01:36:38Z<p>Imported from Redmine</p>
<p><b>New page</b></p><div>= Work in progress for release 3.7.5 =<br />
<br />
This is a list of some of the planned new feature sets for release 3.7.5. This is not comprehensive; other features or changes could happen opportunistically and some of the below might not make the release.<br />
<br />
== By component ==<br />
<br />
'''<code>gr-zeromq</code>'''<br />
<br />
* Extend <code>gr-zeromq</code> blocks to include async message transports in and out of ZeroMQ sockets (JC)<br />
* Tunnel stream tags through ZeroMQ streaming blocks (JC)<br />
<br />
'''<code>gr-qtgui</code>'''<br />
<br />
* Close the gap between QT and WX blocks<br />
** Mostly done<br />
* Convert all examples to use QT instead of WX<br />
** Also mostly done<br />
* Persistence of plotters<br />
** Debatable if this is really necessary or useful for these plotters, especially since the plots don't actually plot every sample.<br />
*** Rely on things like gr-fosphor for purposes that need behavior like persistence<br />
* Sidebar control<br />
** Provide an (optional) sidebar to control the main plotting features<br />
* Strip chart for time plot for updating when plotting slow data<br />
<br />
'''<code>grc</code>'''<br />
<br />
* Add <hide> tags to ports in the xml file for a block<br />
** Use to control which and when blocks' ports are seen on the canvas<br />
** We can set them off by default and use a setting in the block properties to turn them on/off<br />
<br />
* User-toggled parameter to show or hide the names of ports<br />
** Ports appear as small rectangles of their type color, but with no label<br />
** when mousing over a port, the port expands to show the full name<br />
** connecting arrows are adjusted with the width of the box nicely<br />
** User-controlled feature; &quot;View-&gt;Auto-hide Port Lable&quot; to turn feature on/off<br />
<br />
== New Component(s) ==<br />
<br />
'''<code>gr-dtv</code>'''<br />
<br />
* Create new top-level component <code>gr-dtv</code> (JC)<br />
* Port <code>gr-atsc</code> code over into lib/atsc (JC)<br />
* Merge Bogdan Diaconescu's gr-dvbt into lib/dvbt (JC)<br />
* Merge (undecided) DVB-S code into lib/dvbs (JC)<br />
* Merge (undecided) CATV code into lib/catv (JC)<br />
* Extract common MPEG code into lib/mpeg (JC)<br />
* Implement common, format-selectable transceiver application (JC)<br />
<br />
== General Improvements ==<br />
<br />
'''<code>Message Passing</code>'''<br />
<br />
* Messaging as many things as possible for control<br />
** 3.7.4 saw some additions of various message interfaces for a few blocks, and we had to work out proper interactions between them all. We should add more message port controls to blocks that we can identify as having a big impact on usage and come to a general understanding of message formats for certain controls to make sure they are generic and usable for many blocks, not just between two specifically designed to talk to each other.<br />
<br />
* Think about how to add back-pressure on messages<br />
<br />
'''<code>Optimizations</code>'''<br />
<br />
* Add more VOLK kernels<br />
* Use VOLK kernels in more blocks<br />
* Add better NEON support<br />
** More hand-written NEON proto-kernels<br />
** NEON intrinsics are not necessarily great, need to use assembly to properly optimize<br />
*** NEON inline ASM in C is terrible; need to have separate .s files<br />
*** We want to add support in the build system to have NEON asm files built into VOLK and used in proto-kernels<br />
<br />
* Add a new build type to help us understand compiler optimization and assembly code<br />
** Add a &quot;NoOptWithASM&quot; build type that uses the flags &quot;-O0 -g -save-temps&quot;<br />
** for GCC and Clang, this produces code with debug symbols, no compiler optimization, and all assembly files saved in the build dir<br />
** Need a good location in our cmake structure to add new build types<br />
<br />
* Add Nathan's performance counter work from last hackfest<br />
** Adds perf tool calls to Performance Counters such as cache hits/misses, branch prediction misses<br />
** Adds ability to select which PC to show in gr-perf-monitorx and tooltip for all PCs when hovering over a block</div>Mbr0wn