Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support insertion of MOT Datagroups to X-PAD #7

Open
nickpiggott opened this issue Jun 1, 2020 · 5 comments
Open

Support insertion of MOT Datagroups to X-PAD #7

nickpiggott opened this issue Jun 1, 2020 · 5 comments

Comments

@nickpiggott
Copy link

DAB Service and Programme Information (SPI - formerly EPG) can be used to transport station logos to the receiver. An open-source project exists now that outputs MOT Datagroups segmented to Packet Data for inclusion into a Packet Mode Data channel. (https://github.com/magicbadger/odr-radioepg-bridge).

Some radio stations would like to use DAB SPI, but have to do so within their own X-PAD capacities and cannot / are not allowed to participate in a shared packet data channel EPG service.

If the radioepg code is adapted to output MOT Datagroups to a file, could odr-padenc be adapted to import those Datagroups, segment them and include them in the X-PAD stream, similarly to MOT Slideshow?

DAB SPI has User Application Type 0x07, and consists of multiple MOT Datagroups representing multiple files (and an MOT Directory), but is otherwise identical to MOT Slideshow.

@basicmaster
Copy link
Member

Yes, I think so. The RadioEPG code could write one MSC Data Group per file, and the files could be stored all in the same directory. The filenames would be chosen in such a way that alphabetical sorting leads to the desired transmission order. The groups would be transmitted in a loop until a request for re-reading the directory is received (like done for the Slideshow). Another aspect is the priorisation of Slideshow and EPG....this is another aspect to discuss....

@nickpiggott
Copy link
Author

So it would be preferable to have one MSC Data Group per file, rather than all the MSC Data Groups concatenated into a single file?

I think I can amend the current code to produce a series of files with filenames:

00_SPI.dat, 01_SPI.dat

and so on, which would start with the MSC Data Group containing the MOT Directory, and then each of the binary files (SI file, PI files, logo files).

Does that sound correct?

Prioritisation
I'm not show how to handle this, or how the code works now. Essentially SPI can be a "lower priority", but I would assume the current interleaving works to fill the X-PAD 100% of the time, so something has to be slowed down.

Would it be easy to add a command line switch that allows you to specify what proportion of X-PAD frames are used for other MSC Data Groups (e.g. SPI). Something like --msc-ins 10, meaning that 10% of frames are filled from the MSC files?

So the order of fill would be:

  • LABEL at the specified interval (every 12 seconds by default)
  • SLIDESHOW - 90 frames
  • SPI - 10 frames

Signalling
I can't remember exactly how you signal two MOT Applications in X-PAD, both in the odr-dabmux config (I think it's just figtype 0x02 figtype 0x07?) and in the X-PAD bytes. I'll raise a question on the discussion board.

@nickpiggott
Copy link
Author

There may be a blocker - it looks like odr-dabmux doesn't allow signalling of both MOT Slideshow and MOT DAB SPI in the same X-PAD channel.

https://groups.google.com/forum/#!topic/crc-mmbtools/Y_pTf2TCZ-Q

@nickpiggott
Copy link
Author

I've updated the odr-radioepg-bridge to include a -D switch which creates a single file with serialised data groups in it. I think it should be possible for odr-padenc to read those in, and segment them for inclusion in X-PAD. I'll have a dig in the source code of odr-padenc to see if there's an obvious insertion point.

@nickpiggott
Copy link
Author

I've added an issue to odr-dabmux, to support multiple MOT applications in X-PAD.

I've suggested that:

  • MOT Slideshow is always coded as X-PAD AppTy = 12
  • SPI is always coded as X-PAD AppTy = 16

That means the Contents Indicator bytes in the X-PAD Fields would be 12/13 during transmission of Slideshow Datagroups, and 16/17 during transmission of SPI Datagroups.

This is a file of the Data Groups of the SPI service for The Breeze on the Bristol Small Scale DAB Trial multiplex for testing with. Unfortunately, it's quite big (77kBytes) because their two "big" sized logos are 60kBytes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants