Sony IR Codes to Hex

I'm working on creating a IR remote for our Sony 100-Disc changer. We bought it second hand when our old Pioneer died on us. It came with no remote. Karen's frustration with all of the remotes (one for the TV, one for the cable box, one for the Pioneer receiver, and one for the changer) let me to trying to create a central, web-based IR controller.

I'm trying the sony first and so far, I'm... well.. lost.

On the remotecentral website, I found that the button for the disc is:

0000 0067 0000 000d 0060 0018 0018 0018 0030 0018 0018 0018 0030 0018 0018 0018 0018 0018 0030 0018 0030 0018 0018 0018 0018 0018 0018 0018 0030 03f0

That's fine, but I have no clue how to convert this to the hexidecimal values that the IRSend library transmits.

Can any one tell me how to do the conversion, or show me a website that says how to do it?
(I've been all over the remotecentral site. Not very helpful.)

Those values are already in hex notation - the A to F in the numbers mean that they are hexadecimal notation.

0 decimal = 0 hex = 0000 bin
....
10 decimal = A hex = 1010 bin
....
15 decimal = F hex = 1111 bin

Or simply use the hex notation for the numbers:

int num = 0x0067;

Serial.print(num);

The library transmits raw data as well.

So I just transmit each value as one or concatenate them as one string to the library function?

See the sendRaw() function, SendRawDemo example.

That's what I was reading when I asked the question. I wasn't really sure on this. I've created a IR routine that sends Hexidecimal values to a fish tank light bar. (That was easy as I have the remote so I just pointed it at a receiver to get the codes.)

If you get a single hexadecimal value and a protocol then use the special send function, e.g. sendNEC() for NEC protocol.

BTW which library version are you using?

The version for the Arduino is:
version=3.3.0
author=shirriff, z3t0 zetoslab@gmail.com, ArminJo
maintainer=Armin Joachimsmeyer armin.arduino@gmail.com

But the one I'm using on the ESP32 boards is:
name=IRremoteESP8266
version=2.7.20
author=David Conran, Sebastien Warin, Mark Szabo, Ken Shirriff

There is a database of IR remote codes for a Linux program named LIRC.
I used it to make an ESP8266 IR remote for an old Samsung TV. The
Samsung remote was destroyed by leaky batteries so I was not able to
get the codes using IRrecvDump. Some trial and error is needed but the
LIRC database is a great resource.

http://lirc-remotes.sourceforge.net/remotes-table.html

I've rolled through their data a couple of times now. Matching things up has been a bit of a mystery at this point. (It doesn't help I've been pretty distracted.)

That's bad, you have little chances to figure out working codes.
Once I bought a universal IR controller that claimed to cover a lot of IR command sets, but I couldn't make it work for my TV set and DVD player.

Well, I found some of the codes that are said to work with the Sony CD players. So, I have a starting point at least.

This program might be able to do the translation for you:

Here is an example of how to use the LIRC database with IRremoteESP8266.

The IR codes for my dead Samsung TV remote control.

Excerpt from lirc-remotes / Code / [395780] /remotes/samsung/AA59-00600A.lircd.conf

begin remote

  name  SAMSUNG_AA59-00600A
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       4566  4476
  one           600  1645
  zero          600   523
  ptrail        600
  pre_data_bits   16
  pre_data       0xE0E0 <<<
  gap          108233
  toggle_bit_mask 0x0

      begin codes
          KEY_CYCLEWINDOWS         0x807F
          KEY_1                    0x20DF <<<
          KEY_2                    0xA05F
          KEY_3                    0x609F

pre_data is the 16-bit prefix (0xE0E0) which is the same for all keys. KEY_1 0x20DF is the 16-bit code for the '1' key.

The IRremoteESP8266 code looks like this.

irsend.send(SAMSUNG, 0xE0E020DF, 32, 0); // Press '1' key

1 Like