Sky Q Box (RC6-6-28)

If you have learned signals that don't get decoded when you look at them in IR.exe, post your file to the Diagnosis Area then post your question here (including a link to the file).

Moderator: Moderators

alanrichey
Expert
Posts: 3533
Joined: Mon Mar 24, 2008 7:14 am
Location: UK/USA

Sky Q Box (RC6-6-28)

Post by alanrichey »

Hi all

In the UK Sky have just released a new device called the Q Box. Not surprisingly there is a clamour for a Slingbox remote. One user kindly lent me a remote so I could build a BIN file. Unfortunately Sky have created a new protocol (Do they do this just out of spite ? It seems so pointless).

IR Scope decodes it as RC6-6-28 Device 0.2074, which is not in our list as far as I know ? Now this is very close to the normal Sky Box which uses RC6-6-20n Device 5.12, with M=6, but just far enough away not to work.

And just to complicate matters, the Volume controls and the Input function decode to NEC1 Device 64, and that actually operates my Sky box (annoyed the wife as I Muted it while testing). So I assume that NEC1 64 is very similar to RC6-6-20n ?

I've attached a full learn at https://www.hifi-remote.com/forums/dload ... e_id=13967, would it be possible to adapt one of the existing RC6 protocols to fit ?

Thanks

Al
3FG
Expert
Posts: 3436
Joined: Mon May 18, 2009 11:48 pm

Post by 3FG »

Al,
Did you upload the correct file? It seems to contain just two of the RC6-6-28 signals (Power and 0) and a NEC1 signal + ditttos, also labeled Power.

We can try to make an executor on only that info, but it's just a guess as to what bits should go in fixed data versus the bits which may be varying among the commands.
alanrichey
Expert
Posts: 3533
Joined: Mon Mar 24, 2008 7:14 am
Location: UK/USA

Post by alanrichey »

Something odd going on. I definitely used the Save All option in IR Scope, but the file from the upload only has the few reads in it as you describe. What is even more off is that the file on my computer that I uploaded has twice the reads, but is still garbage. I've tried again, and to keep things simple, the file (same URL) now has just the Power, numbers and Channel buttons. It seems to download and install correctly.

If you need any more buttons let me know.

Thanks

Al
The Robman
Site Owner
Posts: 21940
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

Just FYI, I tried to make a modified version of the ReplayTV (simple) protocol to work for this, but I just can't get it to work. I've spent all day on it, so I give up. Hopefully someone else will jump in and pick it up.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

The Robman wrote:Just FYI, I tried to make a modified version of the ReplayTV (simple) protocol to work for this, but I just can't get it to work. I've spent all day on it, so I give up. Hopefully someone else will jump in and pick it up.
Rob, I spent a huge amount of time on that last Epson we did and there seems to be something wrong with my PB. When I looked at the compiled code a few commands were missing bytes. I think something is wrong with my PB file, or my Excel. You might want to eyeball your assembly code to make sure this same kind of thing isn't happening on you PC.

Now as to this, is this another quad?
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
The Robman
Site Owner
Posts: 21940
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

No, this is just a regular RC6 bi-phase signal, it's just like the ReplayTV signal only 4 bits longer. If I had tried to do it using the UEI code, I probably could have got it working, but I tried to use John Fine's fancy "simple" version where you do the bit doubling outside of the code but I couldn't get it to work. As far as the assembler goes, it's practically the same, you just have to add 1 fixed byte and adjust the registers used (ie, R0A becomes R0B, and R09 becomes R0A)
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

The Robman wrote:No, this is just a regular RC6 bi-phase signal, it's just like the ReplayTV signal only 4 bits longer.
Hmm, I had only looked at the first signal, I think its the power button, in that ICT and I saw the 4th bump on the graph had a long Low before and a long low after. I didn't think a biphase could do that. So I went and looked at the IRP for the Replay

Replay
IRP notation: {36k,444,msb}<-1,1|1,-1>(6,-2,1:1,6:3,<-2,2|2,-2>(T:1),D:8,S:8,F:8,-???)+

I guessing that <-2,2|2,-2> is what I'm seeing. Not quite sure what that means in this notation, but I definitely something funky going on after that 4th bit in the few signals that I looked at.

I haven't looked at the protocol, more than to see that there are 6 or 7 fixed bytes of data, depending on which version you look at.
.
It also looks like there are 9 pieces of of 450 ms timings, before you get to the device, subdevice and functions. Can I assume they are painting the picture with 1 for 450ms of on time, and 0 for 450ms of off time? [/b]
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Alan, as you may have guessed by now, this protocol is going to be painful to construct. On that note, could you make sure we have a complete set of commands before we delve into this any further. I'd hate to see us make an assumption about the signal, only to find out that when we get the complete set that we need more command bits.
alanrichey
Expert
Posts: 3533
Joined: Mon Mar 24, 2008 7:14 am
Location: UK/USA

Post by alanrichey »

Yes, of course. File uploaded so that it now contains all the buttons n the remote.

Sorry to be such a pain.
The Robman
Site Owner
Posts: 21940
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

Vicky, the RC6 clan of bi-phase signals break the rules, which is why we can't just program them as simple bi-phase, and that rule breaking is the double wide pair that you see.

Here's the binary for the 13 buttons, and just for comparison, also the binary for the 4 ReplayTV signals that are included in the FromRob.ir file that ships with IR.exe:

Code: Select all

#      Dev   Key      Freq    Raw Timing Data
1      TV    Power    35874   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00001100 -116328 
2      TV    0        35874   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00000000 -116328 
3      TV    1        35874   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00000001 -116328 
4      TV    2        36036   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00000010 -116328 
5      TV    3        35714   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00000011 -116328 
6      TV    4        36036   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00000100 -116328 
7      TV    5        36199   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00000101 -116328 
8      TV    6        36036   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00000110 -116328 
9      TV    7        36036   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00000111 -116328 
10     TV    8        36036   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00001000 -116328 
11     TV    9        35874   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00001001 -116328 
12     TV    CH+      36199   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00100000 -116328 
13     TV    CH-      35874   Repeat:  +2664 -888; 1110 -888 +888; 00000000 10000001 1010 00100001 -116328 

14     PVR   RWD      36036   Repeat:  +2664 -888; 1110 -888 +888; 00000001 00000001      00001101 -108780 
15     PVR   REC      36036   Repeat:  +2664 -888; 1110 -888 +888; 00000001 00000001      00001110 -108780 
16     PVR   FWD      36036   Repeat:  +2664 -888; 1110 -888 +888; 00000001 00000010      00001101 -108780 
17     PVR   Pause    36036   Repeat:  +2664 -888; 1110 -888 +888; 00000001 00000010      00001110 -108780
If you want to look at these signals in IR.exe, here's the file that I created from the ICT file:
https://www.hifi-remote.com/forums/dload ... e_id=13968

I think my executor is ok, I think the problem is getting the right data to feed into it, but I'm not positive. The quirky thing with John's exec is that it doesn't automatically form pairs, you have to feed the right data into it in order to get pairs, where a '1' is the +444 half of a pair, and a '0' is the -444 half of a pair, so if you don't get that right, your signal won't have pairs and the learning remote will crap out.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
The Robman
Site Owner
Posts: 21940
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

And here's as far as I got, in case anyone can find the mistake and fix it...

Code: Select all

Upgrade protocol 0 = 01 FF (S3C8+) RC6-6-28 (PB v4.02)
 47 93 81 8B 12 87 05 08 04 00 DE 00 00 00 00 00 
 CA E3 83 05 35 01 A8 0C 0A 02 11 10 0A 10 0B 10 
 C1 1E 10 0A 0A F3 19 0B 8D 01 46
End


#      Translator uses numeric parms index,bits,msbOffset,lsbOffset
#          index selects (0 based) an item from DevParms (default=0)
#          bits is the number of bits to use (default = 8)
#          msbOffset is an msb bit position within fixed data (default=0)
#          lsbOffset is an lsb bit position within the DevParms item (default=0)
#          adjust is a value to add to the extracted data, default=0
#          lsb and comp are keyword parameters (non-positional)

[RC6-6-28]
PID=01 FF
DevParms=Device Code=0,Sub device=0
DeviceTranslator=Translator(0,1,12,7) Translator(0,1,13,7,comp) \
                 Translator(0,1,14,6) Translator(0,1,15,6,comp) \
                 Translator(0,1,16,5) Translator(0,1,17,5,comp) \
                 Translator(0,1,18,4) Translator(0,1,19,4,comp) \
                 Translator(0,1,20,3) Translator(0,1,21,3,comp) \
                 Translator(0,1,22,2) Translator(0,1,23,2,comp) \
                 Translator(0,1,24,1) Translator(0,1,25,1,comp) \
                 Translator(0,1,26,0) Translator(0,1,27,0,comp) \
                 Translator(1,1,28,11) Translator(1,1,29,11,comp) \
                 Translator(1,1,30,10) Translator(1,1,31,10,comp) \
                 Translator(1,1,32,9) Translator(1,1,33,9,comp) \
                 Translator(1,1,34,8) Translator(1,1,35,8,comp) \
                 Translator(1,1,36,7) Translator(1,1,37,7,comp) \
                 Translator(1,1,38,6) Translator(1,1,39,6,comp) \
                 Translator(1,1,40,5) Translator(1,1,41,5,comp) \
                 Translator(1,1,42,4) Translator(1,1,43,4,comp) \
                 Translator(1,1,44,3) Translator(1,1,45,3,comp) \
                 Translator(1,1,46,2) Translator(1,1,47,2,comp) \
                 Translator(1,1,48,1) Translator(1,1,49,1,comp) \
                 Translator(1,1,50,0) Translator(1,1,51,0,comp)
FixedData=A9 35 55 55 55 55 55 00
CmdParms=OBC=0
CmdTranslator=Translator()
Code.S3C80=47 93 81 8B 12 87 05 08 04 00 DE 00 00 00 00 00 CA E3 83 05 35 01 A8 0C 0A 02 11 10 0A 10 0B 10 C1 1E 10 0A 0A F3 19 0B 8D 01 46
Just FYI, the leading 4 bits (ie, 1110) and the double wide pair are created using the first 3 nibbles of the fixed data (ie, A93), the device translator above picks up after the 12th bit. Each byte of fixed data translates into 4 bits of the final binary (ie, the bit doubling is done in advance), but the variable byte is bit doubled in the assembler.

My executor is generating something like this:
+2683 -878 +29422 -116348

which is the leadin and leadout, with just a long ON time in between, so the zeroes are not registering.
Last edited by The Robman on Sun Mar 06, 2016 10:10 am, edited 1 time in total.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
alanrichey
Expert
Posts: 3533
Joined: Mon Mar 24, 2008 7:14 am
Location: UK/USA

Post by alanrichey »

Is it worth giving it a try yet ?
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

It certainly looks like you could do this without assembler if you made it 6 device 2 command, but with a 32 commands for the equipment, that is 32 bytes of extra device data. On the other hand if you assume the commands are binary biphase, then you could save 32 bytes of data by changing to a 7 dev, 1 command command, and just write some code to change a 1 into a 10, and a 0 into a 01 or vice versa. I'm sure you could do that in less than 31 bytes of code. Just wish my binary skills were better.
Last edited by vickyg2003 on Sun Mar 06, 2016 10:48 am, edited 1 time in total.
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
The Robman
Site Owner
Posts: 21940
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

alanrichey wrote:Is it worth giving it a try yet ?
No
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
The Robman
Site Owner
Posts: 21940
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

vickyg2003 wrote:It certainly looks like you could do this without assembler if you made it 5 device 3 command, but with a 32 commands for the equipment, that is 32 bytes of extra device data. On the other hand if you assume the commands are binary biphase, then you could save 32 bytes of data by changing to a 4 dev, 2 comand command, and just write some code to change a 1 into a 10, and a 0 into a 01 or vice versa. I'm sure you could do that in less than 31 bytes of code. Just wish my binary skills were better.
It wouldn't be 5+3, it would be 6+3, count again.

If you want to do all the bit doubling in the assembler, look at the official ReplayTV executor because that's how they do it. If we treat the signal as a regular bi-phase signal, we'll lose the double wide bit.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Post Reply