Konka IR protocol with IRrremote

I'm controlling my TV with the IRremote library, using raw mode.
I would like some help in getting the Konka protocol working with the library (send and receive) as transmitting raw is not always reliable (sometimes a press is missed, sometimes an extra press is recognised by the TV).
It is similar to Sanyo codes as far as IRremote is concerned, but it errors out with a short mark or space. (and gets just FFFF [unsure of length, but not a full NEC repeat] when I force it to ignore it)

As far as I have been able to work out, it is the "Konka" protocol, which is possibly based on the 'aiwa' protocol (going by this)
I used a windows based MCE USB receiver to get the pronto code for a button, and this decodeir comes up with Konka.

./decodeir 0000 0073 0000 0026 006E 006A 0014 0034 0014 0034 0014 0036 0012 0036 0012 0036 0012 0036 0012 005A 0012 0036 0012 0036 0012 0036 0014 0034 0014 0034 0014 0058 0014 0034 0014 0058 0014 0058 0014 0090 0012 033D 006E 006A 0014 0034 0012 0036 0014 0034 0014 0034 0014 0034 0014 0036 0012 005A 0012 0036 0012 0036 0012 0036 0012 0036 0012 0036 0012 005A 0012 0036 0012 005A 0012 005A 0012 0090 0014 0E14
protocol=Konka device=2 subdevice=-1 obc=11 hex0=11 hex1=-1 hex2=-1 hex3=-1 misc= error=

Other information I've been able to dig up:
http://www.hifi-remote.com/johnsfine/DecodeIR.html#Konka
http://www.hifi-remote.com/forums/viewtopic.php?p=50868#50868

Raw codes from IRremote, using example 'IRrecord' with the raw debug changed to output a hex array-like list for insertion in my sketch.
One button press give a 37 length, then a 33-35 length code (90% 35 however). In my sketch I send the 37 length code twice (once is usually not recognised)

ENTER
length: 37
0xBB6, 0xBEA, 0x1BE, 0x62A, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x18E, 0x622, 0x1C6, 0x62A, 0x18E, 0x62A, 0x1C6, 0x9EA, 0x1C6, 0x622, 0x1C6, 0x5F2, 0x1C6, 0x62A, 0x1C6, 0x9EA, 0x1BE, 0x62A, 0x186, 0xA2A, 0x186, 0xA22, 0x1BE, 0x9F2, 0x1BE, 0x9F2, 0x1BE, 0xFE2, 0x18E,
length: 33
0x1A6, 0x61A, 0x1AE, 0x61A, 0x1A6, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x9F2, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x62A, 0x186, 0xA22, 0x18E, 0x622, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0xFE2, 0x1C6,


ExIT
length: 37
0xBB6, 0xBEA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9EA, 0x1C6, 0x62A, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0x62A, 0x18E, 0x62A, 0x1C6, 0x62A, 0x18E, 0x62A, 0x1C6, 0xFDA, 0x1C6,
length: 35
0x1A6, 0x61A, 0x1AE, 0x61A, 0x1A6, 0x62A, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x1BE, 0x5F2, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x9F2, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x186, 0x62A, 0x1BE, 0x62A, 0x18E, 0x62A, 0x1C6, 0xFE2, 0x1BE,


INPUT
length: 37
0xBBE, 0xBEA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5EA, 0x1C6, 0x9EA, 0x1C6, 0xA22, 0x18E, 0xA22, 0x18E, 0x622, 0x1C6, 0x62A, 0x18E, 0xFE2, 0x1BE,
length: 35
0x1AE, 0x612, 0x1AE, 0x61A, 0x1E6, 0x5EA, 0x1C6, 0x622, 0x18E, 0x622, 0x1C6, 0x62A, 0x18E, 0xA22, 0x1C6, 0x5EA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x186, 0xA22, 0x1BE, 0x9F2, 0x1BE, 0x9EA, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0xFE2, 0x186,

Hi

I have run this through AnalysIR & this doesnt come up as a Konka, Sanyo or any other protocol (at least not by our definitions of 20+ common protocols).

What model of TV & remote are you using?.

Did you manage to get the modulation frequency?. Normally, IRremote is very good with IR signals, so maybe your issues sending the raw signal could be related to using the wrong modulation frequency. Try it out in 0.5kHz steps all the way from 36kHz to 50kHz to see if one works better.

I have attached a saved Trace image from AnalysIR fyi (Zoomed in to the first signal on top & showing the 2 signals on bottom). Note that the signal is repeated in the Pronto version you supplied. The signal seems to have a format as folows:

Header: 3080/2968 (mark/space)
Zeros: 560/1456 (mark/space)
Ones: 560/2520 (mark/space)
Trailer: 560/4032/504 (mark/space/mark) ****note different order
Bits: 16

Also, here is an export of the signal in IRremote format. (You may have this already)

Raw (77): -1000,3080,-2968,560,-1456,560,-1456,560,-1512,504,-1512,504,-1512,504,-1512,504,-2520,504,-1512,504,-1512,504,-1512,560,-1456,560,-1456,560,-2464,560,-1456,560,-2464,560,-2464,560,-4032,504,-23212,3080,-2968,560,-1456,504,-1512,560,-1456,560,-1456,560,-1456,560,-1512,504,-2520,504,-1512,504,-1512,504,-1512,504,-1512,504,-1512,504,-2520,504,-1512,504,-2520,504,-2520,504,-4032,560,-100912

Let me know, if you find out what the signal protocol is and we can add it to AnalysIR. If you have a full set of signals recorded with decodeir, I would appreciate if you could send me a copy for future reference.

I have run this through AnalysIR & this doesnt come up as a Konka, Sanyo or any other protocol (at least not by our definitions of 20+ common protocols).

Well thats a shame. On my universal remote's (Brand name Remotec) code list, the 2 codes that work are listed under Konka and I think another one (which i can no longer locate).

The TV is a Kogan KALED423DXZA.

I've got it running at 38khz at the moment, i think 36 was a bit less reliable (no extensive testing) - it's probably because I am sending just the 37 items twice.

I did not record using decodeir; simply used a spin off version to decode the one pronto I generated on my windows based home theatre PC (using EventGhost).

This is all the ones I did record (power only has the first part because that's all I copied as just sending it once turned the tv on - off needed it twice)
They are in hexadecimal because that's how the arrays are in my sketch (sendRaw takes an array of unsigned int) - I hope this is of some help; giving these as arrays to sendRaw will generate "working" signals.

POWER:
0xBB6, 0xBDA, 0x1C6, 0x60A, 0x1BE, 0x60A, 0x1BE, 0x60A, 0x1BE, 0x622, 0x1AE, 0x61A, 0x1AE, 0x61A, 0x1B6, 0x9FA, 0x1BE, 0x60A, 0x1BE, 0x612, 0x1BE, 0x612, 0x1B6, 0x612, 0x1CE, 0x602, 0x1CE, 0x9EA, 0x1BE, 0x612, 0x1BE, 0x9F2, 0x1BE, 0x9FA, 0x1BE, 0xFD2, 0x1BE,

UP
37
0xBBE, 0xBB2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x62A, 0x186, 0xA22, 0x18E, 0x62A, 0x1C6, 0x62A, 0x18E, 0x62A, 0x1C6, 0x9EA, 0x1C6, 0x62A, 0x18E, 0xA22, 0x1C6, 0x5EA, 0x1C6, 0x9EA, 0x1BE, 0x9F2, 0x1BE, 0xFE2, 0x1C6,
received something!
Received unknown code, saving as raw
33
0x1A6, 0x61A, 0x1AE, 0x61A, 0x1D6, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x9EA, 0x1BE, 0x5F2, 0x1BE, 0xA22, 0x1BE, 0x5F2, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0xFE2, 0x1BE,


DOWN
37
0xBBE, 0xBB2, 0x1C6, 0x62A, 0x1C6, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0xA2A, 0x186, 0x62A, 0x1BE, 0x62A, 0x186, 0x62A, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x1BE, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0x5EA, 0x1C6, 0x62A, 0x1C6, 0xFE2, 0x186,
received something!
Received unknown code, saving as raw
35
0x1A6, 0x61A, 0x1AE, 0x612, 0x1AE, 0x622, 0x1C6, 0x5EA, 0x1C6, 0x62A, 0x1C6, 0x5F2, 0x1C6, 0x9EA, 0x1C6, 0x62A, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x1C6, 0x9EA, 0x1BE, 0x62A, 0x186, 0xA2A, 0x186, 0xA2A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0xFE2, 0x18E,


ENTER
37
0xBB6, 0xBEA, 0x1BE, 0x62A, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x18E, 0x622, 0x1C6, 0x62A, 0x18E, 0x62A, 0x1C6, 0x9EA, 0x1C6, 0x622, 0x1C6, 0x5F2, 0x1C6, 0x62A, 0x1C6, 0x9EA, 0x1BE, 0x62A, 0x186, 0xA2A, 0x186, 0xA22, 0x1BE, 0x9F2, 0x1BE, 0x9F2, 0x1BE, 0xFE2, 0x18E,
received something!
Received unknown code, saving as raw
33
0x1A6, 0x61A, 0x1AE, 0x61A, 0x1A6, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x9F2, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x62A, 0x186, 0xA22, 0x18E, 0x622, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0xFE2, 0x1C6,


ExIT
37
0xBB6, 0xBEA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9EA, 0x1C6, 0x62A, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0x62A, 0x18E, 0x62A, 0x1C6, 0x62A, 0x18E, 0x62A, 0x1C6, 0xFDA, 0x1C6,
received something!
Received unknown code, saving as raw
35
0x1A6, 0x61A, 0x1AE, 0x61A, 0x1A6, 0x62A, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x1BE, 0x5F2, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x9F2, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x186, 0x62A, 0x1BE, 0x62A, 0x18E, 0x62A, 0x1C6, 0xFE2, 0x1BE,


INPUT
37
0xBBE, 0xBEA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5EA, 0x1C6, 0x9EA, 0x1C6, 0xA22, 0x18E, 0xA22, 0x18E, 0x622, 0x1C6, 0x62A, 0x18E, 0xFE2, 0x1BE,
received something!
Received unknown code, saving as raw
35
0x1AE, 0x612, 0x1AE, 0x61A, 0x1E6, 0x5EA, 0x1C6, 0x622, 0x18E, 0x622, 0x1C6, 0x62A, 0x18E, 0xA22, 0x1C6, 0x5EA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x186, 0xA22, 0x1BE, 0x9F2, 0x1BE, 0x9EA, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0xFE2, 0x186,


ASPECT
37
0xBB6, 0xBEA, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x632, 0x1BE, 0x62A, 0x18E, 0x62A, 0x1C6, 0x9EA, 0x1C6, 0x62A, 0x1C6, 0x5F2, 0x1C6, 0x622, 0x18E, 0xA22, 0x1C6, 0x9EA, 0x1C6, 0x5EA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9EA, 0x1BE, 0xFE2, 0x1C6,
received something!
Received unknown code, saving as raw
35
0x1AE, 0x612, 0x1EE, 0x5DA, 0x1DE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x9EA, 0x1BE, 0x9EA, 0x1C6, 0x5F2, 0x1C6, 0x62A, 0x1C6, 0x5EA, 0x1C6, 0x9EA, 0x1C6, 0xFE2, 0x1BE,


DTV
37
0xBB6, 0xBB2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x1C6, 0x622, 0x18E, 0x622, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0x62A, 0x1C6, 0x5F2, 0x1C6, 0x9EA, 0x1C6, 0x62A, 0x1C6, 0xFAA, 0x1C6,
received something!
Received unknown code, saving as raw
35
0x1A6, 0x61A, 0x1AE, 0x612, 0x1AE, 0x622, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x1C6, 0x5EA, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x9EA, 0x1BE, 0x9F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9EA, 0x1C6, 0x62A, 0x1C6, 0xFAA, 0x1BE,

LEFT
37
0xBB6, 0xBB2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5EA, 0x1C6, 0xA22, 0x18E, 0x62A, 0x1C6, 0x62A, 0x18E, 0x62A, 0x1C6, 0x9EA, 0x1C6, 0x62A, 0x18E, 0xA22, 0x18E, 0xA22, 0x1BE, 0x5F2, 0x1BE, 0x9EA, 0x1BE, 0xFE2, 0x1C6,
received something!
Received unknown code, saving as raw
33
0x1A6, 0x61A, 0x1A6, 0x622, 0x1D6, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x9F2, 0x1BE, 0x62A, 0x1BE, 0x9EA, 0x1C6, 0x9EA, 0x1C6, 0x5F2, 0x1C6, 0xA22, 0x18E, 0xFE2, 0x1BE,


RIGHT
37
0xBBE, 0xBB2, 0x1C6, 0x62A, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x1C6, 0x5F2, 0x1C6, 0x62A, 0x1C6, 0x5EA, 0x1BE, 0xA2A, 0x1BE, 0x5F2, 0x1BE, 0x62A, 0x1BE, 0x5F2, 0x1BE, 0x9F2, 0x1BE, 0x62A, 0x1BE, 0x9F2, 0x1BE, 0x9F2, 0x1BE, 0x9EA, 0x1C6, 0x62A, 0x1C6, 0xFAA, 0x1BE,
received something!
Received unknown code, saving as raw
33
0x1DE, 0x61A, 0x1AE, 0x61A, 0x19E, 0x62A, 0x1BE, 0x5EA, 0x1C6, 0x622, 0x1C6, 0x9EA, 0x1C6, 0x5EA, 0x1C6, 0x622, 0x1C6, 0x5F2, 0x1C6, 0x9EA, 0x1C6, 0x62A, 0x1C6, 0x9EA, 0x1C6, 0x9EA, 0x1BE, 0x9EA, 0x1BE, 0x62A, 0x1BE, 0xFE2, 0x18E,

ok, putting those mark/space values in that you gave seemed to help some (though I’m probably going wrong or need another change somewhere)
I changed the Sanyo code for now

Pushing buttons twice: (not this IRremote code is amongst other stuff [no time to change setup tonight], but that shouldnt be doing enough to interfere as there are no interrupts aside from IRremote)
Seems to work better across the room.
Holding the button down repeats the code (so probably picking up the repeat but not marking it as such)

POWER:
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x9F6, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x9F6, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0xA28, 0x15E, 0x1004, 0x15E,
received something!
Decoded SANYO: 2307B446
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x9F6, 0x15E, 0x5DC, 0x1C2, 0xA28, 0x15E, 0xA28, 0x15E, 0x1004, 0x15E,
received something!
Decoded SANYO: 2307B446

ENTER
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x9F6, 0x15E, 0x9F6, 0x15E, 0x9F6, 0x15E, 0x9F6, 0x1C2, 0xFA0, 0x15E,
received something!
Decoded SANYO: B3B58B0E
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x9F6, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x9F6, 0x15E, 0x5DC, 0x1C2, 0xA28, 0x15E, 0xA28, 0x15E, 0xA28, 0x15E, 0xA28, 0x1C2, 0xFA0, 0x15E,
received something!
Decoded SANYO: B3B58B0E

UP
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x1C2, 0x9F6, 0x15E, 0x5DC, 0x1C2, 0xA28, 0x15E, 0x5DC, 0x1C2, 0x9F6, 0x15E, 0x9F6, 0x15E, 0x1004, 0x15E,
received something!
Decoded SANYO: ACB7B6A0
received something!
Received unknown code, saving as raw
37
0xB22, 0xC4E, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0xA28, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0xA28, 0x1C2, 0x5DC, 0x15E, 0x9F6, 0x1C2, 0x5DC, 0x15E, 0xA28, 0x1C2, 0x9F6, 0x15E, 0xFA0, 0x1C2,
received something!
Decoded SANYO: ACB7B6A0

DOWN
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x9F6, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x1004, 0x15E,
received something!
Decoded SANYO: 8BCCC675
received something!
Received unknown code, saving as raw
37
0xB86, 0xC4E, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x9F6, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x9F6, 0x1C2, 0x5DC, 0x15E, 0xA28, 0x1C2, 0xA28, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0xFA0, 0x15E,
received something!
Decoded SANYO: 8BCCC675

RIGHT
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x9F6, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0xA28, 0x1C2, 0xA28, 0x15E, 0x5DC, 0x1C2, 0xFA0, 0x15E,
received something!
Decoded SANYO: A6974989
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x9F6, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0xA28, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x1004, 0x15E,
received something!
Decoded SANYO: A6974989

LEFT
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x9F6, 0x15E, 0x9F6, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x1004, 0x15E,
received something!
Decoded SANYO: 1AB874DC
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x9F6, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x9F6, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0x1004, 0x15E,
received something!
Decoded SANYO: 1AB874DC


INPUT
received something!
Received unknown code, saving as raw
37
0xB22, 0xBEA, 0x1C2, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x9F6, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0xA28, 0x1C2, 0xA28, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x1004, 0x15E,
received something!
Decoded SANYO: A888E157
received something!
Received unknown code, saving as raw
37
0xB86, 0xBEA, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0x5DC, 0x1C2, 0xA28, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x640, 0x15E, 0x640, 0x15E, 0xA28, 0x15E, 0xA28, 0x1C2, 0xA28, 0x15E, 0x5DC, 0x1C2, 0x5DC, 0x15E, 0x1004, 0x15E,
received something!
Decoded SANYO: A888E157

This is the code i was using

long IRrecv::decodeSanyo(decode_results *results) {
  long data = 0;
  if (irparams.rawlen < 2 * 16 + 2) {//16 was SANYO_BITS
    return ERR;
  }
  int offset = 0;
  // Initial space  
  if (results->rawbuf[offset] < SANYO_DOUBLE_SPACE_USECS) {
    // Serial.print("IR Gap found: ");
    results->bits = 0;
    results->value = REPEAT;
    results->decode_type = SANYO;
    return DECODED;
  }
  offset++;

  // Initial mark
  if (!MATCH_MARK(results->rawbuf[offset], 3080)) {
    return ERR;
  }
  offset++;

  // Skip Second Mark
  if (!MATCH_SPACE(results->rawbuf[offset], 2968)) {
    return ERR;
  }
  offset++;

  while (offset + 1 < irparams.rawlen) {
    if (!MATCH_SPACE(results->rawbuf[offset], 4032)) {
      break;
    }
    offset++;
    if (MATCH_MARK(results->rawbuf[offset], 2520 )) {
      data = (data << 1) | 1;
    } 
    else if (MATCH_MARK(results->rawbuf[offset], 1456  )) {
      data <<= 1;
    } 
    else {
	  return ERR;
    }
    offset++;
  }
	
  // Success
  results->bits = (offset - 1) / 2;
  if (results->bits < 12) {
    results->bits = 0;
    return ERR;
  }
  results->value = data;
  results->decode_type = SANYO;
  return DECODED;
}

this send code doesnt work with the power code that was decoded, just a quick hack job that’s probably wrong

void IRsend::sendKogan(unsigned long data, int nbits) {
  enableIROut(40);
  mark(3080);
  space(2968  );
  data = data << (32 - nbits);
  for (int i = 0; i < nbits; i++) {
    if (data & TOPBIT) {
      mark(560);
      space(1456  );
    } 
    else {
      mark(560);
      space(2520 );
    }
    data <<= 1;
  }
  mark(560);
  space(4032);
  mark(504);
  space(0);
}

Am I missing something?

I will look at your signals later, but in the meantime if you can upload them in IRremote RAW format(dump command) I will be able to import them easily.

Note that this version of the library (unmodified by me) does not have any Sanyo decoding in it as RCMM was added prior to when sanyo was added to master.

2307B446
Unknown encoding: 2307B446 (32 bits)
Raw (38): -524280 3056 -2984 488 -1512 488 -1504 488 -1504 488 -1504 488 -1504 512 -1480 520 -2496 496 -1504 496 -1504 496 -1504 496 -1504 496 -1504 496 -2496 520 -1504 496 -2496 488 -2504 488 -4000 520 
ACB7B6A0
Unknown encoding: ACB7B6A0 (32 bits)
Raw (38): -524280 3032 -2984 512 -1504 488 -1504 488 -1504 488 -1504 488 -1512 512 -1488 512 -2504 488 -1504 488 -1504 488 -1504 496 -2496 520 -1496 496 -2496 496 -1504 496 -2496 488 -2496 496 -4000 520 
8BCCC675
Unknown encoding: 8BCCC675 (32 bits)
Raw (38): -524280 3032 -2984 488 -1512 512 -1480 512 -1480 512 -1512 488 -1504 496 -1504 496 -2496 496 -1504 496 -1504 496 -1504 520 -2472 520 -1504 496 -2496 488 -2504 488 -1504 488 -1504 488 -4000 496 
1AB874DC
Unknown encoding: 1AB874DC (32 bits)
Raw (38): -524280 3032 -2984 512 -1512 488 -1504 496 -1504 496 -1504 496 -1504 496 -1504 496 -2496 512 -1480 520 -1504 496 -1504 496 -2496 488 -1504 488 -2504 512 -2480 512 -1488 512 -2504 488 -4008 496 
A6974989
Unknown encoding: A6974989 (32 bits)
Raw (38): -524280 3056 -2984 488 -1504 488 -1504 512 -1488 512 -1480 512 -1504 496 -1496 496 -2496 496 -1504 496 -1504 496 -1504 496 -2496 496 -1504 496 -2496 496 -2496 512 -2504 488 -1512 488 -4008 496 
DA28F020
Unknown encoding: DA28F020 (32 bits)
Raw (38): -524280 3056 -2984 488 -1504 488 -1504 488 -1504 488 -1512 512 -1488 512 -1480 512 -2504 488 -1512 488 -1504 488 -1504 512 -1480 520 -1504 496 -1504 496 -1496 496 -1504 496 -2496 496 -4008 512 
DCB93B93
Unknown encoding: DCB93B93 (32 bits)
Raw (38): -524280 3040 -2984 512 -1480 512 -1512 488 -1512 488 -1504 488 -1504 488 -1504 488 -2504 512 -1480 512 -1512 488 -1504 496 -1504 496 -1504 496 -1504 496 -1504 496 -2496 496 -1504 496 -4008 512 
E9D77D18
Unknown encoding: E9D77D18 (32 bits)
Raw (38): -524280 3048 -2984 496 -1504 496 -1504 496 -1504 496 -1504 496 -1496 496 -1504 520 -2496 496 -1504 488 -1512 488 -1504 488 -1504 488 -1504 488 -1504 488 -1512 488 -2504 512 -2480 512 -4008 488 
B3B58B0E
Unknown encoding: B3B58B0E (32 bits)
Raw (38): -524280 3056 -2984 512 -1480 512 -1480 512 -1480 512 -1504 488 -1512 488 -1512 488 -2504 488 -1504 488 -1504 512 -1512 488 -2496 496 -1504 496 -2496 496 -2496 496 -2496 512 -2472 520 -4008 488 
65A52F28
Unknown encoding: 65A52F28 (32 bits)
Raw (38): -524280 3056 -2984 496 -1504 496 -1504 496 -1504 496 -1504 496 -1496 520 -1504 496 -2496 488 -1512 488 -1512 488 -1504 512 -1480 512 -2480 512 -1480 512 -2504 488 -1504 488 -2496 496 -4000 512 
B7963615
Unknown encoding: B7963615 (32 bits)
Raw (38): -524280 3056 -2984 520 -1480 520 -1504 496 -1496 496 -1504 496 -1504 520 -1480 512 -2480 512 -1512 488 -1512 488 -1504 488 -2504 488 -2504 512 -1480 512 -1480 512 -2496 496 -1504 496 -4000 488 
C4B4779A
Unknown encoding: C4B4779A (32 bits)
Raw (38): -524280 3040 -2984 512 -1480 512 -1488 512 -1504 488 -1504 496 -1496 496 -1504 496 -2496 520 -1504 496 -1496 496 -1504 496 -2496 496 -2496 496 -1504 512 -1480 512 -2504 488 -2504 488 -4008 496 
2481B4B9
Unknown encoding: 2481B4B9 (32 bits)
Raw (38): -524280 3056 -2984 512 -1488 512 -1480 512 -1512 488 -1512 488 -1504 488 -1504 512 -2480 512 -1480 512 -1504 488 -1504 488 -2496 496 -2496 520 -1472 520 -2496 496 -1504 496 -1496 496 -4008 512 
9ECDFE6A
Unknown encoding: 9ECDFE6A (32 bits)
Raw (38): -492656 3056 -2984 496 -1504 496 -1504 488 -1512 488 -1504 512 -1480 512 -1480 512 -2504 488 -1512 488 -1512 488 -1512 488 -2504 488 -2496 512 -1504 496 -1504 496 -1504 496 -2496 496 -4008 488 
69CE021D
Unknown encoding: 69CE021D (32 bits)
Raw (38): -524280 3056 -2984 512 -1480 512 -1480 512 -1512 488 -1504 488 -1504 488 -1504 488 -2496 520 -1504 496 -1496 496 -1504 496 -1504 496 -2496 496 -1504 496 -1496 496 -2520 496 -1504 496 -4000 496 
76EC43A2
Unknown encoding: 76EC43A2 (32 bits)
Raw (38): -505032 3056 -2960 512 -1512 488 -1512 488 -1512 488 -1512 488 -1512 488 -1512 488 -2504 512 -1480 512 -1488 512 -1504 488 -1504 496 -2496 496 -1504 496 -1504 496 -2496 520 -2496 496 -4008 488 
C5B4F5CF
Unknown encoding: C5B4F5CF (32 bits)
Raw (38): -524280 3056 -2984 488 -1512 488 -1512 488 -1504 512 -1480 512 -1488 512 -1480 512 -2480 512 -1504 488 -1504 488 -1504 488 -1496 496 -2496 520 -1480 520 -1496 496 -1504 496 -1504 496 -4008 488 
5105CA72
Unknown encoding: 5105CA72 (32 bits)
Raw (38): -494728 3056 -2960 520 -1504 496 -1504 496 -1504 488 -1512 488 -1512 488 -1504 512 -2480 512 -1480 512 -1504 488 -1512 488 -1512 488 -2504 488 -1504 512 -1480 520 -1504 496 -2496 496 -4000 488 
E806BA1
Unknown encoding: E806BA1 (32 bits)
Raw (38): -524280 3056 -2984 488 -1504 496 -1504 496 -1504 496 -1504 496 -1504 496 -1496 520 -2496 496 -1504 496 -1504 488 -1504 496 -2496 488 -1504 512 -1488 512 -1480 512 -2504 488 -1512 488 -4008 496 
D6B980C1
Unknown encoding: D6B980C1 (32 bits)
Raw (38): -333688 3040 -2984 496 -1504 520 -1504 496 -1504 496 -1504 488 -1504 496 -1504 496 -2496 512 -1488 512 -1504 488 -1504 488 -1504 488 -2504 488 -1512 512 -2480 512 -1488 512 -1504 488 -4000 488 
3F4C37CD
Unknown encoding: 3F4C37CD (32 bits)
Raw (38): -524280 3032 -2984 512 -1488 512 -1504 488 -1504 488 -1504 488 -1504 488 -1512 488 -2504 512 -1480 512 -1504 496 -1504 496 -2496 496 -2496 496 -1504 496 -2496 496 -2496 496 -1504 496 -4024 496 
137D29C7
Unknown encoding: 137D29C7 (32 bits)
Raw (38): -524280 3056 -2976 496 -1504 496 -1504 520 -1472 520 -1504 496 -1504 496 -1504 496 -2496 496 -1504 496 -1504 520 -1480 512 -2480 512 -2504 488 -1512 488 -1504 488 -1504 488 -1504 488 -4008 496 
A354AEDE
Unknown encoding: A354AEDE (32 bits)
Raw (38): -524280 3056 -2984 512 -1488 512 -1480 512 -1480 512 -1512 488 -1512 488 -1512 488 -2496 496 -1504 496 -1504 496 -1496 520 -2496 496 -1504 496 -1504 496 -2496 496 -2496 496 -2496 488 -4008 496 
7B6BEA45
Unknown encoding: 7B6BEA45 (32 bits)
Raw (38): -524280 3032 -2984 520 -1480 512 -1504 488 -1504 488 -1504 488 -1512 488 -1512 488 -2504 512 -1480 512 -1504 488 -1512 488 -2504 488 -1504 496 -1496 496 -2520 496 -1504 496 -1504 496 -4008 488 
9F99751B
Unknown encoding: 9F99751B (32 bits)
Raw (38): -524280 3040 -2984 520 -1504 496 -1504 496 -1504 496 -1504 496 -1496 488 -1504 488 -2504 512 -1480 512 -1480 512 -1512 488 -2504 488 -1504 488 -2504 488 -1504 512 -2496 496 -1504 496 -4000 488

Well whatever the name of the protocol, I got it working! It does seem to match the parameters listed here
Thanks for the pointers about mark/space length and the trailer.

My hurriedly written code last time was trying to match the mark length with the trailer space…

this is my code (just calling it kogan for now)

#define KOGAN_BITS 16
#define KOGAN_HDR_MARK 3000
#define KOGAN_TRAILER_SPACE 4000
#define KOGAN_MARK 500
#define KOGAN_ZERO_SPACE 1500
#define KOGAN_ONE_SPACE 2500

void IRsend::sendKogan(unsigned long data, int nbits)
{
    enableIROut(38);
    data = data << (32 - nbits);
    mark(KOGAN_HDR_MARK);
    space(KOGAN_HDR_MARK); 
    for (int i = 0; i < nbits; i++) {
        if (data & TOPBIT) {
            mark(KOGAN_MARK);
            space(KOGAN_ONE_SPACE); 
        } 
        else {
            mark(KOGAN_MARK);
            space(KOGAN_ZERO_SPACE); 
        }
        data <<= 1;
    }
    mark(KOGAN_MARK);
    space(KOGAN_TRAILER_SPACE);
    mark(KOGAN_MARK);
    space(0);
}


//repeats seem to be pretty much the same as sanyo; a shorter gap. also seems to transmit a repeat with just a normal push, except a very small press
long IRrecv::decodeKogan(decode_results *results) {
  long data = 0;
  if (irparams.rawlen < 2 * KOGAN_BITS + 2) {
    return ERR;
  }
  //Serial.println("matched bits");
  int offset = 0; // Skip first space
  // Initial space  
  /* Put this back in for debugging - note can't use #DEBUG as if Debug on we don't see the repeat cos of the delay
  Serial.print("IR Gap: ");
  Serial.println( results->rawbuf[offset]);
  Serial.println( "test against:");
  Serial.println(results->rawbuf[offset]);
  */
  if (results->rawbuf[offset] < SANYO_DOUBLE_SPACE_USECS) {
     //Serial.print("IR Gap found: ");
    results->bits = 0;
    results->value = REPEAT;
    results->decode_type = KOGAN;
    return DECODED;
  }
  offset++;

  // Initial mark
  if (!MATCH_MARK(results->rawbuf[offset], KOGAN_HDR_MARK)) {
    return ERR;
  }
  offset++;
  //Serial.println("initial mark");

  // Skip Second Mark
  if (!MATCH_SPACE(results->rawbuf[offset], KOGAN_HDR_MARK)) {
    return ERR;
  }
  offset++;
  //Serial.println("initial space");

  while (offset + 1 < irparams.rawlen) {
    if (!MATCH_SPACE(results->rawbuf[offset], KOGAN_MARK)) {
      break;
    }
    offset++;
    if (MATCH_SPACE(results->rawbuf[offset], KOGAN_ONE_SPACE)) {
      data = (data << 1) | 1;
    } 
    else if (MATCH_SPACE(results->rawbuf[offset], KOGAN_ZERO_SPACE)) {
      data <<= 1;
    } 
    else if (MATCH_SPACE(results->rawbuf[offset], KOGAN_TRAILER_SPACE)) {
      break;
    }
    else {
      return ERR;
    }
    offset++;
  }

  // Success
  results->bits = (offset - 1) / 2;
  if (results->bits < KOGAN_BITS) {
    results->bits = 0;
    return ERR;
  }
  results->value = data;
  results->decode_type = KOGAN;
  return DECODED;
}

Codes should be sent twice. Once only works to turn the TV on when it is off, other times it ignores it.

#define KOGAN_POWER 0x20B
#define KOGAN_INPUT 0x21C
#define KOGAN_UP 0x22B
#define KOGAN_DOWN 0x22C
#define KOGAN_LEFT 0x22D
#define KOGAN_RIGHT 0x22E
#define KOGAN_DTV 0x232
#define KOGAN_MENU 0x215
#define KOGAN_ENTER 0x22F
#define KOGAN_ASPECT 0x231
#define KOGAN_EXIT 0x230
#define KOGAN_3D 0x233

Super....I did a bit more searching on this and the conclusion is that the manufacturer doesnt even know - so you may be a true pioneer here. They just suggest using a learning remote.

Let me know if you come across it anywhere...it appears to be a one-off protocol.

Its worth noting that is you play around with some of the code values you may find some hidden codes. For example on my philips TV, the fancy remote cant jump to HDMI1, but there is a code to do this.

Kogan is a good interim name..

AnalysIR:
They just suggest using a learning remote.

Out of curiosity, do you have a link to this?

AnalysIR:
Let me know if you come across it anywhere...it appears to be a one-off protocol.

The forum post I linked to mentions a couple of other brands. (e.g. Konka & Insignia)

AnalysIR:
Its worth noting that is you play around with some of the code values you may find some hidden codes. For example on my philips TV, the fancy remote cant jump to HDMI1, but there is a code to do this.

That would be very useful for my use case if this one can do it.

You mentioned that it doesn't match your definition of the Konka protocol; what are the differences?

If anyone stumbles across this and is interested, I wrote a blog post about it (including a lirc config file)
http://projects.thiakil.com/?p=10

link?

D'oh! thanks, fixed now