9 Commits

Author SHA1 Message Date
Ton Huisman
95b87cccd2 [Build] Add compatibility with C++20 (#2040)
* [Build] Add compatibility with C++20

* [Build] ESP32 builds both IDF 4.x and IDF 5.x

* [Build] C++20 Use typedefs to switch compilation (volatile vs atomic where needed)

* [Linter] Fix complaint about spaces :-|

* [Linter] Fix more complaints about spaces :-|

* [Build] esp32dev build restore standard espressif32 platform

* [Build] C++20 Adjust typedefs and code to avoid deprecation warnings

* [Build] esp32devIDF5x build restore Arduino 2.0.14 platform

* [Build] esp32devIDF5x build enable Arduino 3.0.0 alpha1 platform by switching interrupts off/on instead of (missing) low-level IDF calls

* [Build] Remove unneeded duplicate typedefs

* [Linter] Fix complaint about comment line-length :-|

* [Build] Add correct include to get `gpio_intr_enable` and `gpio_intr_disable`, thnx Jason2866!

* Add comment why code was changed

* [Lib] Add latest ESP32 fixes by @s-hadinger, add extra NULL safeguard, update Platform build

* [IDF5] Update platform package to avoid python script issues long solved
2025-12-17 06:48:58 +10:00
David Conran
0c46393e1c Set PlatformIO's default baudrate to 115200 (#1188)
Visual Studio Code doesn't seem remember the last saved baudrate like Atom does, so set an appropriate default
2020-06-10 13:59:11 +10:00
David Conran
c61127e885 Make travis checks faster. (#957)
* Attempt to shard the longest travis task into two.
* Try to make all platformio.ini files similar to speed up travis builds.
* Add names to the sub-jobs in Travis.
2019-10-10 10:05:29 +10:00
David Conran
1ce36a8220 Minor i18n changes and add some platformio environs. (#955)
* rename locale files from xx_XX.h to xx-XX.h
* Enable building different langauges for IRrecvDumpV2 via platformio.
* IRrecvDumpV2: Add Comments and add back "Raw Timing" as legacy option.
* Clean up platformio.ini files.
2019-10-08 09:53:41 +10:00
David Conran
a5cacaabd2 Update platformio.ini files for PlatformIO v4.0.0 (#812)
Fix platformio.ini files to work correctly with Platformio v4.0.0
2019-07-14 19:49:27 +10:00
David Conran
f2f1e53cc4 Initial support for the ESP32 architecture & boards. (#742)
Similar send & receive functionality as the ESP8266 platform.
   i.e. It bit-bangs a software PWM signal when sending IR messages.

* Tested on a _GOOUUU-ESP32_ development board, and on ESP8266 boards (d1_mini, nodemcuv2)
* `IRrecvDumpV2` and `IRMQTTServer` examples appear to work as expected.
* `IRMQTTServer` example code requires the _development_ version of the `WifiManager` library.
* All examples build successfully on ESP32. Not all of them have been tested.
* Full platformio support and `platformio.ini`s for each example added. Everything automatically builds out of the box under PlatformIO.
* Reduce some of the ESP8266-isms and references in the library as it now also supports ESP32.
* Improvements to how `IRMQTTServer` handles first boot and/or corrupted SPIFFS situations.

**If you have an ESP32 board, please test this an let us know if there are any issues.**
2019-06-16 10:39:33 +10:00
David Conran
d6a6d70ad5 Fix example compilation under PlatformIO. (#672)
* Turn on better Dependency Finder Mode, chain+.
  See: http://docs.platformio.org/en/latest/librarymanager/ldf.html#dependency-finder-mode
  Broken with: 2c698dc503
* Add better handling of the `F()` macro to avoid compiler warnings. Ref: #667
2019-04-15 23:49:47 +10:00
David Conran
2b96fc79ff Split the library into smaller separate files similar to upstream. (#196)
- Enable #define flags to enable/disable protocols as needed.
- No material changes to program flow etc were made.
- Tonnes & tonnes of modifications to support the new structure.
- Loads of comments added/changed.
- Changes to #include order, and correct mistaken usage of #include <> vs.
  #include "" per c++ library writting guides.
- Move directories and location to make it work with both Platformio and
  the Arduino IDE.
- Update platform.ini files for new dir structure.
- Update Travis for new path.
2017-05-07 11:51:40 +10:00
David Conran
6d6c0192f7 Support platformio. Lint & style issues. (#186)
- Fix a few underlying reasons for NOLINTs. e.g. min() & max()
- Add a CPPLINT.cfg to filter out [build/include] issues.
  - cpplint.py sees to report that we are not including our own header
    which we are. shrug.
- Move the library source code to lib/IRremoteESP82666/...
- Change #include ""s to #include <>s
- Change binary literals to 0bNNNNN format.
- Fix some compiler warnings.
- Update travis to new dir structure
2017-05-01 18:11:39 +10:00