DarkFlippers / unleashed-firmware

Flipper Zero Unleashed Firmware
https://flipperunleashed.com
GNU General Public License v3.0
17.55k stars 1.45k forks source link

Broken infrared recording #542

Open dwroland opened 1 year ago

dwroland commented 1 year ago

Describe the bug.

After upgrading from 52e to the latest 56e, the flipper cannot record IR correctly. It does not recognize the NECext protocol, and the recorded RAW is not recognized. Emulation of signals recorded on the 52e version works correctly.

Reproduction

  1. Go to Infrared > Learn New Remote
  2. Record signal (it will not recognize NECext, not sure about other protocols)
  3. Send recorded RAW signal

Target

No response

Logs

Example:

The same button captured five times:

name: RAW_71
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9115 4446 624 1613 625 1612 626 507 625 479 654 506 626 507 626 478 655 1613 625 507 626 1613 625 507 626 507 626 507 626 1613 625 507 626 507 626 1612 681 451 681 452 681 1557 626 507 626 507 626 506 626 507 626 507 626 1613 626 1613 626 507 626 1613 626 1612 627 1612 627 1612 626 43329 9087 2207 626
# 
name: RAW_67
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9114 4445 680 1529 654 1612 625 508 625 507 626 507 625 506 626 507 625 1612 626 507 626 1612 681 452 626 506 626 507 625 1612 681 452 681 451 681 1557 679 453 681 452 680 1557 675 456 676 455 626 506 626 506 626 506 626 1612 624 1612 625 506 626 1612 625 1612 625 1612 625 1612 625
# 
name: RAW_67
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9088 4444 625 1612 626 1612 626 506 626 506 627 506 626 506 626 506 626 1611 626 506 626 1611 627 506 626 506 626 506 680 1556 681 451 680 453 625 1611 626 506 626 506 626 1611 626 506 627 506 626 506 626 506 627 506 626 1611 627 1611 627 506 626 1611 627 1611 627 1610 627 1611 627
# 
name: RAW_67
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9114 4442 626 1611 626 1611 627 479 653 479 653 480 652 479 653 479 653 1610 682 425 707 1556 678 427 653 479 653 505 627 1610 627 506 626 506 626 1610 626 506 626 506 626 1610 627 506 626 505 627 505 627 506 626 506 626 1611 626 1611 626 507 625 1611 625 1612 625 1612 625 1612 625
# 
name: RAW_67
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9113 4443 625 1613 625 1612 626 506 627 506 626 507 625 479 654 506 626 1612 626 506 627 1611 626 506 626 506 626 506 626 1611 626 506 626 506 626 1611 681 451 626 506 681 1556 679 453 680 452 626 506 626 506 626 506 626 1610 626 1610 626 506 626 1610 626 1611 626 1611 626 1611 626

It should be:

name: PLAY
type: parsed
protocol: NECext
address: 83 22 00 00
command: 09 F6 00 00

Anything else?

No response

dwroland commented 1 year ago

Flipper is able to read NECext correctly once every around hundred times. It reads other remotes such as those from the TV without any problems.

xMasterX commented 1 year ago

NECext reads correctly on 060 release, can you provide more details? I made raw recordings of the necext remote and sent it from one flipper to another, it gets recognised correctly Not as raw

dwroland commented 11 months ago

It took me a while. The problem is not related to the release version. I checked various forks and versions. It was just a coincidence that it worked for a while. I still don't understand why it doesn't work. I took a moment to analyse the raw data using this https://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol and it seems fine. Changing the frequency value to 38222 in remote.ir changes nothing. Unfortunately I do not have a second flipper to analyse the difference between the outputs of the raw and parsed records.

Notes_231210_080745

dwroland commented 11 months ago

SmartSelect_20231217_190423_Firefox