probonopd / irdb

One of the largest crowd-sourced, manufacturer-independent databases of infrared remote control codes on the web, and aspiring to become the most comprehensive and most accurate one
Other
877 stars 154 forks source link

IR codes from Pioneer AXD7618 remote #31

Open brianpierson2020 opened 4 years ago

brianpierson2020 commented 4 years ago

Hey, Awesome project! I just wanted to contribute these 50 IR codes I just scanned and documented: https://github.com/brianpierson2020/pioneer-axd7618-ir-codes. But I don't really know how to map them to your data format. Feel free to use them as you like or ask me any questions.

Also I would like to know if and how I can convert them to different file formats, so I can also add those to my repo. Can you help me with that?

bengtmartensson commented 4 years ago

Also I would like to know if and how I can convert them to different file formats, so I can also add those to my repo. Can you help me with that?

You can use the --convert option of Python-Broadlink to convert the format to microseconds durations. You can then use IrScrutinizer to transform the durations to other formats, like Pronto Hex, or protocol and parameters. (I just implemented an export format for IRDB, that generates just the CSV that IRDB wants.)

But if you do this, you will discover that your "learns" are actually pretty bad...

brianpierson2020 commented 4 years ago

"But if you do this, you will discover that your "learns" are actually pretty bad..." that would be great :P can you explain why and tell me how I would improve that?

bengtmartensson commented 4 years ago

Ok, here is how: All files are found in this gist

  1. Create a parseable file from all your 50 .txt files. For this, the bash script doit.sh was used, basically invoking broadlink_cli. It creates a csv file, with the durations. AFAIK, there is no modulation frequency included. The signals are of widely varying length (contains different number of repeats), and for example the "short duration" (the number between 493 and 690) is widely varying.
  2. Import in IrScrutinizer (as Import/Text/CSV with name column 1, raw signal col. 2, and comma as field separator. Now, there is no modulation frequency present which makes the decoding erroneous. I happen to know that 40000Hz modulation, so I fill it in as Options -> Fallback frequency.
  3. Turns out that the input tuner signal does not decode, looking at it, I hand-edit the csv to remove the first two durations, having it to start with a 9000-like number. Then it decodes. See commands.csv in the gist.
  4. In the remote editor in IrScrutinizer I remove the useless prefix "cmdpioneer", and delete the equally useless comments. Result is exported as pioneer-axd7618.girr in the gist.
  5. Turns out that there are two protocols: pioneer and pioneer-mix. IRDB cannot grok pioneer-mix, so we have to delete those.
  6. We export the remaining (protocol Pioneer) in IRDB csv format as the file pioneer.csv. However, the ones with D=165 appears already to be present in the data base (possibly with some exception). The ones with D=170 are not, however.

The broadlink stuff is simply not a very good tool for capturing IR signals.

brianpierson2020 commented 4 years ago

Awesome, thanks a lot for your explanation. I will play with these tools and scripts soon. Will you include the codes (also from Dual #32) in IRDB?

probonopd commented 4 years ago

@brianpierson2020 in case we don't have these codes in IRDB yet: would it be possible for you to send a pull request please?