softsyst / qirx_issues

Issue tracker for QIRX
1 stars 1 forks source link

SPI from OpenDigitalRadio SPI encoder not decoding #71

Closed nickpiggott closed 1 year ago

nickpiggott commented 1 year ago

Hello,

The support for SPI (EPG) in qirx is brilliant, very very helpful.

Along with Ben Poor, I maintain the open source SPI generator, and I also use it to create SPI services on small scale DAB multiplexes in the UK. I've noticed that QIRX doesn't recognise the service - it appears in the service listing as a PACKET_DATA application of type MOT_OBJECT - but it doesn't appear in the EPG tab and no station logos are shown.

A RAW file recording of the Bristol multiplex is here.

In my own qirx install, I can see the SPI folder for the mux (E1C1D3) being created, and folders for each service in the SPI, but no logos within those folders. Only one station provides PI (C897), and I can see the PI XML documents being decoded but not used.

The Open Source generator has been checked by other implementers, and we've not had any feedback to say it's non-compliant, except potentially for a ambiguity on how the default language is binary encoded.

It would be great to see if we can get it decoding in qirx, or if you can spot why it isn't being decoded.

Nick

softsyst commented 1 year ago

Thanks, Nick, for this input. I'll check it and will get back asap.

Clem

softsyst commented 1 year ago

I figured it out. There were two issues:

The first one was my bad. You generate the binary info which is then converted to xml in a different sequence than all others which I saw until now. I only checked the first file, didn't find the "serviceInformation" tag, and left the scene with an error. I am really wondering why this (rather serious) bug did not show up earlier.

The second perhaps as well, don't know. You write in the EPG behind the time a "UTC" trailer which I didn't expect until now. Never seen it before. Now I accept it, but do not make anything with it. The result shows the following screenshot: image

So, please check whether it's ok that not all icons are sent, as some services do not show logos, And, please check whether it is ok that the station "Gaydio" is the only one transmitting an EPG.

I also noticed the "Gaydio" sends links to pictures (artists?). How is your intent to present these? I find it a good feature, not seen elsewhere (or it went unnoticed).

Regards, Clem

softsyst commented 1 year ago

Sorry, I had closed it unintendedly.

nickpiggott commented 1 year ago

That's great, very good fix.

Time Handling

I didn't understand your observation on the time attributes? We set LTO flag (b19) if the local time is not UTC, and then the local time offset value is in 8 bits starting at b32 (or b48 if UTC event time is in the long format).

The programme schedule times for Gaydio are correct, I think because at the moment, the UK is on UTC. It may be wrong in the summer when the UK is at UTC + 1. In those times, for the example of Gaydio, the breakfast show would be encoded as 06:00 (UTC) + 01:00 (time offset) = 07:00 local time.

I have just looked at our timepoint encoding, and I think there's a bug in it, because I see a missing b20 which should be Rfa 0. So don't fix anything your side yet, it may be on our encoder.

nickpiggott commented 1 year ago

Hello - I was incorrect. The UTC time encoding from b20 onwards is correct; b20 will be 0 or 1 depending on the accuracy of the time, and then b21-31 (short) or b21-47 (long) contain the UTC time.

Then the offset time is added to the UTC time to find the local time to display the programme time at.

But in this encoding, LTO (b19) should be 0 because currently the UK is in UTC.

softsyst commented 1 year ago

Sorry about the "UTC" confusion. I add the "UTC" suffix in the xml myself.

I just checked it in the decoder, and it should be according to the standard. MJD gives UTC, and the LTO the offset in units of half hours, positive or negative. In addition, the short and long format.

In the code where the display is generated (interpreting the xml), I did not expect the "UTC" as here it was the first time I met it. But I'll add something to indicate UTC (in the DAB time I use the old Z for "Zulu", ignoring the LTO altogether), ignoring the special UK case (in winter) where UTC is identical to local time.

For your solution, IMO it would be the better solution to set the LTO bit, and leave the local offset to zero.

Thanks also for the link to the visual asset.

softsyst commented 1 year ago

Please check whether it works ok in 4.0.6 or 4.0.7. Thanks!

nickpiggott commented 1 year ago

Is that available for download now?

On Sun, 19 Feb 2023, 12:07 softsyst, @.***> wrote:

Please check whether it works ok in 4.0.6 or 4.0.7. Thanks!

— Reply to this email directly, view it on GitHub https://github.com/softsyst/qirx_issues/issues/71#issuecomment-1435971305, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACYF3WSGUZJLFJUGQM64JKDWYIEINANCNFSM6AAAAAAUHJYLVI . You are receiving this because you authored the thread.Message ID: @.***>

softsyst commented 1 year ago

Yes, it is.

nickpiggott commented 1 year ago

Hello

v.4.0.7 - I can confirm station logo decoding is operating correctly

image

and programme schedule information too

image

Thanks for the update, very helpful.

softsyst commented 1 year ago

Thanks, I close this one.