Comments (12)
I knew this day would come, but I have dreaded its arrival. Its the yaml format basically just the same crap, same file name different extension? Same data layout when parsed, dictionaries, keys and lists?
from gr-pothos.
The filenames seem to be the same (extension aside). From a data layout perspective, as an example, here's how gr::blocks::add_xx
has changed:
From using it in some WIP OOT modules, I prefer the new usage, but I can't speak to the difficulty of parsing for gr-pothos.
from gr-pothos.
WIP here: https://github.com/pothosware/gr-pothos/tree/gr3.8
from gr-pothos.
There are a few steps to doing this while maintaining compatibility with 3.7, so I'll make a project to make tracking easier.
from gr-pothos.
No big deal if master does 3.8 only
from gr-pothos.
Looks like they did the job for us in 3.8: https://github.com/gnuradio/gnuradio/tree/master/gr-utils/blocktool
No need for ugly GRC file parsing, they output a super-convenient JSON file. Minus the PothosFlow docs, this is essentially a weekend project now.
from gr-pothos.
well thats helpful š
from gr-pothos.
The only downside is now it's seconds per file. They're using pygccxml under the hood. I have no idea what makes it so slow, but it may be worth just storing the JSON output. It's what they do for their blocktool usage.
from gr-pothos.
@ncorgan I was thinking of getting one more windows installer build out this year (as we speak), and moving the whole windows installer thing over to recent msvc and gr 3.8. Its a ton of brand new build issues and dependency changes, etc, pandoras box. I think its reasonable to move this project over to 3.8+ permanently. How far along were you, and is it something you wanted to tackle?
from gr-pothos.
https://github.com/pothosware/gr-pothos/tree/wip/gr3.8
This is what I had so far. If I recall, I think the major thing left is generating the block functions from BlockTool's output. I put some TODOs in for some other stuff, as well as a file listing obsolete build-time stuff to remove once this is done. If you're already on this, would you mind taking this part?
from gr-pothos.
I was going to jump strait to requiring 3.9 The odd number releases were always better anyway
Wow, blocktool is like walking through molasses with concrete boots on using dial up. What is blocktool's output giving us that cppheaderparser was not?
I can see checking in blocktool output though. It looks like it uses clang++ or something, and im worried to make the generation take too much time or have too many dependencies (I want to build on windows as well). Even requiring gnuradio to actually show up in the python path and import correctly may be a bit too much :-)
from gr-pothos.
from gr-pothos.
Related Issues (18)
- Use <source> and <sink> tags from grc xml files to set port alias HOT 1
- possible issue when setting alias on blocks with optional ports HOT 1
- /gnuradio/tests/test_copy_stream... FAIL! on 32-bit zynq HOT 5
- Callable Argument Error Zero MQ Blocks HOT 2
- support trellis::fsm creation from an array of args HOT 1
- Enum conversions not generated for gr::block::tag_propagation_policy_t
- No std::string <-> gr::endianness_t conversion HOT 1
- Random PDU Generator: doesn't support default bytemask of 0xFF HOT 1
- Invalid default values resulting from parsing HOT 3
- register remaining pmt converters
- build error of 3.8 branch because of boost transition to std HOT 2
- interface logging API with poco logger HOT 5
- debian/ directory to package gr-pothos
- Expanding Include header files for OOT GNU Radio Block HOT 2
- Block tree structuring HOT 1
- the fosphorSupport module does not let the GUI start HOT 2
- test for std::function max args in cmake HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ššš
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ā¤ļø Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gr-pothos.