Epson IR files

I just figured it out today. The remote it turns out sends two codes one after the other as you press and hold the buttons down. What I had to do was delete most of the data from the universal projector file and replace the original addresses and commands with the two that the remote put out. Sadly I will have to edit the firmware code if I want it to have all the buttons on the remote but the code looks something like this now.

Filetype: IR library file
Version: 1

Last Updated 26th Dec, 2022

Last Checked 26th Dec, 2022

ON

name: POWER
type: parsed
protocol: NECext
address: 81 03 00 00
command: F0 0F 00 00

name: POWER
type: parsed
protocol: NECext
address: 83 55 00 00
command: 90 6F 00 00

name: MUTE
type: parsed
protocol: NECext
address: 81 03 00 00
command: F0 0F 00 00

name: MUTE
type: parsed
protocol: NECext
address: 83 55 00 00
command: 92 6D 00 00

I’ll see if I can manipulate something. I wish those codes were in the raw format. It’s easier to change that way.

I guess another question I would have would be is there an easier way to make the flipper zero run through a few infrared commands without having to edit the universal IR remotes? I’ve looked around a bit but haven’t seen anything of the sort.

If you are using infrared - saved Remotes, you can just add a new f.ir file, with a button for each desired code.
In your example above, you need to rename one POWER to something like POWER1.

The main difference in that case:

  • The Universal Remote will send a bunch of codes
  • The Saved Remote will send one code per Button

If we can figure out the RAW format for those codes I think you can just paste the codes end to end as one button.

Is there a way to force the infrared app to read the infrared signals in a RAW format?

1 Like

Not that I’m aware of. I’m wondering if there is a way to convert to raw somehow like playing it on the flipper and capturing the result with another device. Then convert it to Flippers RAW format.

EDIT:
There might be a way. Recompile the firmware without NECext. Then it will default to RAW.

1 Like

See if this works.

epsonc1.ir (1.4 KB)

Here is a file with the IR Codes, you’ve mentioned so far: Flipper-IRDB/Epson_EB-695Wi.ir at main · logickworkshop/Flipper-IRDB · GitHub

One Level above are some similar files with more or Less Buttons: Flipper-IRDB/Projectors/Epson at main · logickworkshop/Flipper-IRDB · GitHub

The IR signal is a series of high and low. At the moment I have no Laptop/desktop around, to see if the other Hex values are just inversing, so the projector interpret the signal, even if it is not the right one.
Shouldn’t happen, because we have a protocol with start and stop bits, but in the end the values are interpreted waves with a approximated timing. So I am not wondering, if the tolerances are bigger than expected. But in the end the true value makes the reversing easier.

I’ll try this asap. Also the mute button in my program actually sends the freeze signal for the projectors.

The projector will not respond more than once to the codes in this file. It has to receive the 0FF0 code to actually accept another code.

I’ll try this tonight as well.

The second button or the mute button works while the power button does not.

I was afraid that one wouldn’t work. I noticed I was only getting 63 samples instead of 75. Maybe I can manually correct that. Also notice Power3 is short(less samples) compared to the other good samples. That’s likely where the error is.

The Tasmotta project rounds values within 5ms so RAW codes can be compressed. That works flawlessly so there is at least that big a tolerance.

This is what I was working off of. As you can see I got one completely false read. It’s super short. I threw that result out and combined the other raw reads for the file I sent. Also notice Power3 is a bit short. That is likely the error.

Filetype: IR signals file
Version: 1
# 
name: Power1
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9042 4462 596 1635 623 507 596 507 596 489 596 507 596 508 622 507 569 1663 570 1636 623 1635 597 508 596 508 569 509 595 537 596 507 597 507 595 508 596 534 569 509 595 507 649 1856 596 1667 569 1638 595 1636 596 1666 622 1605 596 1636 622 1637 569 508 595 508 596 508 596 538 570
# 
name: Power2
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 337 3093 339
# 
name: Mute1
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9042 4462 623 1604 623 476 650 486 570 508 596 508 596 507 623 525 570 1636 596 1636 702 1617 621 477 571 507 596 507 596 537 597 507 569 534 570 507 596 552 570 508 623 477 596 1636 622 1636 596 1635 570 1638 595 1680 569 1638 594 1636 596 1666 596 507 570 534 570 517 596 538 569 46503 9069 2205 622 98084 9067 2204 596
# 
name: Mute2
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9065 4458 570 1666 596 1636 596 508 569 534 570 538 597 507 596 506 623 1606 623 1636 621 477 596 1633 596 479 620 1637 622 476 622 1605 702 538 571 507 597 1636 595 508 623 507 570 1638 646 501 570 508 621 1648 623 1606 569 535 570 1667 597 1636 595 508 569 1694 570 1636 596 507 597 43110 9043 2204 597 98114 9067 2204 623
# 
name: Power3
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9040 4462 597 1635 596 1665 624 476 623 477 569 531 619 507 596 504 570 1636 596 1637 649 476 623 1605 596 507 596 1667 569 510 621 1622 569 534 570 537 597 507 596 507 595 509 569 1667 596 524 570 508 596 1636 623 1636 596 1636 569 1662 596 1637 621 477 596 1637 622 1635 700 472 594


1 Like

You can do ir rx raw in CLI. You will have to guess the frequency, but that’s easy: it is written in protocol definition files.

2 Likes

That’s what we needed. I don’t remember seeing that. Thanks a bunch!

EDIT: It was right at the top too! Just my bad memory.

1 Like

Try these.

epsonc2.ir (1.5 KB)

1 Like

This file works with both buttons now.

2 Likes

I don’t have a sample remote that sends two codes. If you’re comfortable using CLI you can do the process yourself or post samples and I can process them. I’m happy to walk you through the process if you want to do it yourself.