Akord 5-port HDMI switch

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

Post Reply
CLeW
Posts: 3
Joined: Wed Mar 27, 2019 2:24 pm

Akord 5-port HDMI switch

Post by CLeW »

Learn upload: http://www.hifi-remote.com/forums/dload ... e_id=25716

I've tried to convert these learned signals into an upgrade, and it just never works. It looks like a simple NEC protocol, but an upgrade created using the DecodeIR information doesn't work, whilst the new IrpTransmogrifier doesn't recognise it at all.

Any help would be greatly appreciated.

This is the product in question:

https://www.amazon.co.uk/AKORD-Ultra-Ou ... 00ZXGVKE6/
The Robman
Site Owner
Posts: 21886
Joined: Fri Aug 01, 2003 9:37 am
Location: Chicago, IL
Contact:

Post by The Robman »

While the protocol is definitely similar to NEC1, it's not the same, so a new executor would be required. I could write one for an S3C8 remote, but your remote is a TI2541 remote and I don't know how to write those.

Frequency: 37k
Header: +7668 -3969
Zero: +486 -459
One: +486 -999
Leadout: +486 -39663
Repeat: +9261 -2241; +486 -78273;

Binary:
00001000 11110111 01001010 10110101 - 1
00001000 11110111 11101000 00010111 - 2
00001000 11110111 00011100 11100011 - 3
00001000 11110111 11001010 00110101 - 4
00001000 11110111 00011000 11100111 - 5
00001000 11110111 01100000 10011111 - Shift-Ch-
00001000 11110111 10000000 01111111 - Shift-Ch+
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Barf
Expert
Posts: 1524
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

Hi CLeW, and welcome to the forum.

I extracted the signals to a file and put it through irptransmogrifer's analyze. (command line: irptransmogrifier anal --parameterwidths 8,8,8,8 --radix 10 --named x.txt ) Result:

Code: Select all

1         {477,msb}<1,-1|1,-2>(18,-3965u,A:8,B:8,C:8,D:8,1,-39.663000000000004m,18,-5,1,-78m){A=8,B=247,C=74,D=181}
2         {477,msb}<1,-1|1,-2>(18,-3965u,A:8,B:8,C:8,D:8,1,-39.663000000000004m,18,-5,1,-78m){A=8,B=247,C=232,D=23}
3         {477,msb}<1,-1|1,-2>(18,-3965u,A:8,B:8,C:8,D:8,1,-39.663000000000004m,18,-5,1,-78m){A=8,B=247,C=28,D=227}
4         {477,msb}<1,-1|1,-2>(18,-3965u,A:8,B:8,C:8,D:8,1,-39.663000000000004m,18,-5,1,-78m){A=8,B=247,C=202,D=53}
5         {477,msb}<1,-1|1,-2>(18,-3965u,A:8,B:8,C:8,D:8,1,-39.663000000000004m,18,-5,1,-78m){A=8,B=247,C=24,D=231}
Shift-Ch- {477,msb}<1,-1|1,-2>(18,-3965u,A:8,B:8,C:8,D:8,1,-39.663000000000004m,18,-5,1,-78m){A=8,B=247,C=96,D=159}
Shift-Ch+ {477,msb}<1,-1|1,-2>(18,-3965u,A:8,B:8,C:8,D:8,1,-39.663000000000004m,18,-5,1,-78m){A=8,B=247,C=128,D=127}
So, as Rob says, its timing differs considerably from NEC1. IrpTransmogrifier did the right thing by not decoding, DecodeIR, just as it often does, produced an answer when no answer was appropriate. :wink:
3FG
Expert
Posts: 3434
Joined: Mon May 18, 2009 11:48 pm

Post by 3FG »

Here's an executor embedded in a protocols.ini entry. Use Device 8, and OBC from Barf's decode value C. For example the digit 1 OBC is 74

Code: Select all

[Akord]
PID = 01 FF
CmdTranslator=Translator()
CmdParms=OBC=0
DevParms=Device=8
DeviceTranslator=Translator()
FixedData=08
Code.TI2541=01 0E 01 21 11 14 12 00 11 00 12 00 25 00 BD 05 1C 01 93 00 53 0B 57 01 A6 00 00 00 42 44 24 F0 70 F1 71 41 D7  
Code.MAXQ610=35 6B 11 14 12 00 11 00 12 00 25 00 BD 05 1C 01 93 00 53 0B 57 01 A6 00 00 00 42 44 24 F0 70 F1 71 41 D7 
For those interested, here are comments on the executor:

Code: Select all

01 0E 01 21 11 14 12 00 11 00 12 00 25 00 BD 05 1C 01 93 00 53 0B 57 01 A6 00 00 00 42 44 24 F0 70 F1 71 41 D7 
Modulation On/Off: 9.00uS/18.00uS; Total: 27.00uS; Frequency: 37.04 KHz
Number of Fixed/Variable Bytes: 1/1

TD_00-TD_03   12 00 11 00               Data1  On/Off: 486uS/459uS   
TD_04-TD_07   12 00 25 00               Data0  On/Off: 486uS/999uS   
TD_08-TD_09   BD 05                     LO        Off: 39663uS  
TD_0A-TD_0D   1C 01 93 00               LI     On/Off: 7668uS/3969uS   
TD_0E-TD_0F   53 0B                     alt LO    Off: 78273uS  
TD_10-TD_13   57 01 A6 00               alt LI On/Off: 9261uS/4482uS   

Protocol  Timing Bytes: 20
Signal Block #0
    PF0: 42 [4..0]: 3 PF bytes
    PF1: 44 [7..6]: Lead-in Every Frm;  ~[4]: Repeat exactly 0 times;  [2]: On burst before LO;  
    PF2: 24 [7..5]: Executor Flow: Do next block;  [4..0]:  4 TX bytes in first signal spec
Signal Spec     DCbytesIdx/NumTXBits: 0/~8, 0/8, 1/~8, 1/8
Signal Block #1
    PF0: 41 [4..0]: 2 PF bytes
    PF1: D7 [7..6]: Lead-in; repeat frms halve OFF dur; omit data bits;  [4]: Repeat at least 0 times;  [2]: On burst before LO;  [1]: Use alternate LO;   [0]: Use alternate LI; 
I used Rob's timing values because those map directly into the executor. Tested with a URC7980 and IR Widget.
CLeW
Posts: 3
Joined: Wed Mar 27, 2019 2:24 pm

Post by CLeW »

Excellent work, guys! Works perfectly. Thanks so much for your help.
Barf
Expert
Posts: 1524
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

I have put the new protocol "Akord" into IrpTransmogrifier (IrpProtocols.xml), defined as

Code: Select all

{37.0k,477,msb}<1,-1|1,-2>(18,-8,D:8,S:8,F:8,~F:8,1,-40m,(18,-5,1,-78m)*)[D:0..255,S:0..255,F:0..255]
Post Reply