Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for Fujitsu 264 bit A/C remote protocol #2030

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

shimmy-void
Copy link

This change provides support for the Fujitsu's 264 bit A/C remote protocol:

  • Brand: Fujitsu
  • Model: AS-AH402M A/C
  • Remote: AR-RLB2J

This also includes the unit tests code which passes every test including using real example patterns. I also checked every function was working properly with the actual equipment in my room.

There is, however, one problem in the protocol: Some commands ("Toggle Sterilization" (0x1463001010FE09C160030000FC9F0041) and "Outside Quiet On/Off" (0x1463001010FE09C140000000FFBF0041, 0x1463001010FE09C140010000FFBF0041)) use the same state patterns with the previous Fujitsu AC's protocol (ARRAH2E), but have different meanings. So, when users try to decode these commands as Fujitsu 264 bit AC protocol, the IRrecv::decode() function recognizes it is the previous Fujitsu AC's some other command.
If you have any advice to solve this problem, I will fix it and commit it.

I hope this change can contribute to the community and help Fujitsu A/C users enjoy the IR remote control.

@NiKiZe
Copy link
Collaborator

NiKiZe commented Aug 30, 2023

Thanks for adding additional support.
There seems to be something wrong with the branch, could you please rebase your branch on current master and force push? We do not expect to see any docygen changes in pull requests, other than when it is a PR for a new release.

To handle the different messages/conflicts there is models for remotes that can and probably needs to be used in this case?

@shimmy-void
Copy link
Author

Thank you for your comment, and sorry for messing up. I am almost a novice at working with this kind of open-source project. I have just followed this process: Merging your Pull Request, but I did not need to change doxygen documentation, README, and version management files, did I?

The conflict seems to happen against the model of ARRAH2E. But for all of the previous Fujitsu AC model users, there is no problem. The problem happens when future users of this protocol want to decode their actual IR signal using the function IRsend::decode() because its decoding part (decodeFujitsuAC264()) is implemented after the previous Fujitsu's one (decodeFujitsuAC()) at IRrecv.cpp. So, even though it receives FUJITSU_AC264 protocol signal, the decode() function detects it as FUJITSU_AC protocol. Its output will be like:

Protocol  : FUJITSU_AC
Code      : 0x1463001010FE09C160030000FC9F0041 (128 Bits)
Mesg Desc.: Model: 1 (ARRAH2E), Id: 0, Power: On, Mode: 3 (Fan), Temp: 22C, Fan: 0 (Auto), Clean: Off, Filter: Off, 10C Heat: Off, Swing: 0 (Off), Command: N/A, Timer: Off

instead of

Protocol  : FUJITSU_AC264
Code      : 0x1463001010FE09C160030000FC9F0041 (128 Bits)
Mesg Desc.: Command: Sterilization

Sending signal functions properly, and the above conflict happens only when receiving 3 commands: Toggle Sterilization, Outside Quiet On, and Outside Quiet Off. So, this might not be so big problem if future users just ignore it, but might be confused with the result.

@hldh214
Copy link

hldh214 commented Mar 15, 2024

I can confirm that this PR works on my AS-AH363N, which also has a remote control labeled AR-RLB2J. Thank you for your efforts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants