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

BOSCH144: Add IRac class support #1841

Merged
merged 32 commits into from
Aug 11, 2022
Merged

BOSCH144: Add IRac class support #1841

merged 32 commits into from
Aug 11, 2022

Conversation

NicoThien
Copy link
Contributor

BOSCH144: Add IRac class support
Power, Mode, Temp, Fan, Quiet is working
I want to add: SwingV, Turbo, Clean, Beep/LED (all separate 96-bit messages)

BOSCH144: Add IRac class support
Power, Mode, Temp, Fan, Quiet is working
I want to add: SwingV, Turbo, Clean, Beep/LED (all separate 96-bit messages)
@NicoThien
Copy link
Contributor Author

Bosch CL3000i-Set 26 E Remote: RG10A(G2S)BGEF
#1787 (comment)

correction of a copy/paste error
@NicoThien NicoThien closed this Jul 19, 2022
Copy link
Owner

@crankyoldgit crankyoldgit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Top effort adding the detailed protocol decode. That's an excellent start!

src/IRac.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.h Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.h Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
@NicoThien
Copy link
Contributor Author

I will try to fix the errors.

@NicoThien NicoThien reopened this Jul 19, 2022
Edit coding layout style
Edit coding layout style
Edit coding layout style
@NicoThien NicoThien marked this pull request as draft July 19, 2022 15:47
@crankyoldgit
Copy link
Owner

FYI, you'll also need to update the unit tests for this protocol, now that it has detailed support mostly.
eg.
https://github.com/crankyoldgit/IRremoteESP8266/runs/7417257804?check_suite_focus=true#step:6:2292

Copy link
Owner

@crankyoldgit crankyoldgit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking much better. Nearly there!

src/ir_Bosch.cpp Outdated
@@ -8,9 +8,11 @@
// Brand: Bosch, Model: RG10A(G2S)BGEF remote
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that you've got a ir_Bosch.h file, and the "Supports" data is listed in that, you will need to remove the "Supports" comment section from the .cpp file. Otherwise it will fail one of our automated checks.
i.e. "Supports" info always goes into the .h file if it exists, if not, then into the .cpp file.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, please add yourself to the Copyright section. You've added significant work too. ;-)

src/ir_Bosch.cpp Outdated
Comment on lines 11 to 15
#ifndef ARDUINO
/*#ifndef ARDUINO
#include <string>
#endif
#endif*/
#include <cstring>
#include "ir_Bosch.h"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these changes needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without <cstring> I get std::memcpy(_.raw, new_code, kBosch144StateLength); the error message "std has no member memcpy". I thought <cstring> would replace <string>.
My programming skills are very limited.
My English too.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<cstring> is fine, e.g.:

#include <cstring>
#ifndef ARDUINO
#include <string>
#endif

it was the other bit I was refering to. i.e. the removal of the #ifndef etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is back in

src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
src/ir_Bosch.h Outdated Show resolved Hide resolved
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
- commented out lines removed
- change  setInvertBytes() & setCheckSumS3() to private:
- add copyright
- simplify getMode() & getFan()
- initial temperature in getTemp() 25
removed
// Supports:
//   Brand: Bosch,  Model: CL3000i-Set 26 E A/C
//   Brand: Bosch,  Model: RG10A(G2S)BGEF remote
@crankyoldgit
Copy link
Owner

Friendly ping. How it going?

@NicoThien
Copy link
Contributor Author

If there are no other change requests...
It works for me.

@NicoThien NicoThien requested a review from crankyoldgit August 5, 2022 12:38
@NicoThien NicoThien marked this pull request as ready for review August 5, 2022 12:41
src/ir_Bosch.cpp Outdated Show resolved Hide resolved
@crankyoldgit crankyoldgit merged commit 376fde2 into crankyoldgit:master Aug 11, 2022
crankyoldgit added a commit that referenced this pull request Sep 15, 2022
_v2.8.3 (20220915)_

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
@crankyoldgit crankyoldgit mentioned this pull request Sep 15, 2022
crankyoldgit added a commit that referenced this pull request Sep 16, 2022
**_v2.8.3 (20220915)_**

**[Bug Fixes]**
- Fix `#if` for DECODE_COOLIX48 (#1796)
- Add missing `prev`s to `decodeToState()` (#1783)

**[Features]**
- Add `pause()` function to ESP32 when receiving. (#1871)
- ARGO: Argo add `sendSensorTemp()` (#1858 #1859)
- HAIER_AC160: Experimental detail support. (#1852 #1804)
- BOSCH144: Add IRac class support (#1841)
- Mitsubishi_AC: update left vane in `IRac` class (#1837)
- Basic support for Daikin 312bit/39byte A/C protocol. (#1836 #1829)
- Experimental basic support for Sanyo AC 152 bit protocol. (#1828 #1826)
- GREE: Add model support for `YX1FSF`/Soleus Air Windown A/C (#1823 #1821)
- Experimental basic support for Bosch 144bit protocol. (#1822 #1787)
- Experimental basic support for TCL AC 96 bit protocol. (#1820 #1810)
- Add basic support for clima-butler (52bit) RCS-SD43UWI (#1815 #1812)
- TOTO: An experimental _(s)wipe_ at support for Toto Toilets. (#1811 #1806)
- CARRIER_AC128: Experimental Basic support for Carrier AC 128bit protocol. (#1798 #1797)
- HAIER_AC160: Add basic support for Haier 160bit protocol. (#1805 #1804)
- DAIKIN: Add basic support for 200-bit Daikin protocol. (#1803 #1802)
- FUJITSU: Improve handling of 10C Heat mode. (#1788 #1780)
- FUJITSU: Improve handling of short (command only) messages. (#1784 #1780)

**[Misc]**
- Improve the `_IRREMOTEESP8266_VERSION_VAL` macro (#1875 #1870)
- SONY: Update supported devices. (#1872)
- SAMSUNG: Update supported devices (#1873)
- NEC: Update supported devices (#1874)
- Give IRmacros.h smaller scope to avoid impacting projects using IRremoteESP8266 (#1857 #1853 #1851)
- Inhibit protocol names for not-included protocols (#1853 #1851)
- Test out codeql static analysis (#1842)
- Remove pylint disable=no-self-use (#1817)
- Fujitsu General: update supported devices (#1813)
- DAIKIN: Update supported devices (#1808 #1807)
- Fujitsu: Update supported remote info. (#1801 #1794)
- DAIKIN128: Update supported devices (#1754)
- Voltas: Add link to manual for 122LZF A/C. (#1800 #1799 #1238)
- Daikin128: Additional unit test. (#1795 #1754)
- MIDEA: Update supported devices (#1791 #1790)
@crankyoldgit
Copy link
Owner

FYI, the changes mentioned above have now been included in the new v2.8.3 release of the library.

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

Successfully merging this pull request may close these issues.

2 participants