Hi Nick, You can take a look at the https://gitlab.com/marmote/gr-marmote3 repo as well. That has a custom waveform and custom MAC but it is a full fledged solution. The bare essentials (real time part) are kept in gnuradio, the rest is controlled from python using protocol buffers. Low latency buffer management is hard, but not impossible.
Best, Miklos On Fri, Jun 11, 2021 at 10:42 PM Marcus Müller <mmuel...@gnuradio.org> wrote: > Hi Nick, > > On 11.06.21 16:58, Nicholas Long wrote: > > Hi, so I have been wondering what people do to implement mac layer type > things with GNURadio? > > (for example automatic detection/handshaking type protocols before > transmitting digital > > data packets.) > > Well, "we" (as in the community) have Basti Bloessl's gr-ieee802-11 > project as an example > on how to approach that. > > > From my perspective gnuradio is good for physical layer development, but > less so for state > > machine type work of mac layer... > > Well, yes. Kind of. > GNU Radio definitely is a physical layer thing. It doesn't give you any > tools to develop > MA controllers. > But: MACs are different. Pretty different, in fact. As you say, the common > denominator is > "there's one or more state machines"; from there up, it's pretty variable. > > Now, what GNU Radio *does* give you is a flexible architecture to > implement your physical > receiver and transmitter, and a mechanism with which you can interchange > messages with a > controller. I think (and I'm not alone with that, there's work ongoing on > new concepts in > that space!) that we could do a bit better on the usefulness of that > messaging system, but > it does work. > > I think GNU Radio Companion as the visible front of the whole GNU Radio > idea establishes > the impression that GNU Radio is a generator for stand-alone > *applications*; it's not. GNU > Radio is a library, and the things you can create with it are *meant* to > be used as the > signal processing side of other applications. Look at the success gqrx > has: It uses GNU > Radio underneath, but none of its visualization blocks; satellite ground > stations, video > transceivers, radiosonde receivers, emergency beacons and a myriad of > other very > real-world applications are underpinned by GNU Radio. DARPA's spectrum > challenge gave > teams a development kit based on GNU Radio as a starting point, and its > whole point was to > demonstrate the ability to react to sudden interference and user > constellation changes. > > All these things use different approaches, clearly. There's good reason to > assume the > project "should" have a goto MAC demo – but we don't. Too much to fiddle, > probably. > > Best regards, > Marcus > >