I believe that we want to trigger actions/workflows when the workflow files in .github/workflows are updated; this is how we will know that they work :)
This pull request adds two examples and tests using the ESP-IDF framework:
* A test with the Arduino GFX library (which requires the arduino-esp32 library & Arduino BusIO library)
* A test without the Arduino GFX library, which can be compiled without any additional dependencies.
Having these tests helps prevent any future regressions that may break users of the ESP-IDF platform.
Without this nice formatting of the error, `idf.py build` returns a cryptic error (`__component_get_property Function invoked with incorrect arguments`).
Version 6.1.7 was released on 2023-05-08 and all CI runs are failing with:
```
Error: Not a PlatformIO project. `platformio.ini` file has not been found in current working directory (examples/PIO_TestPatterns). To initialize new project please use `platformio project init` command
```
The new release notes are here: https://docs.platformio.org/en/latest/core/history.html#id2. Perhaps this breakage has something to do with new validation that `project working environment names ... only contain lowercase letters a-z, numbers 0-9, and special characters _ (underscore) and - (hyphen)` while this repo uses an example named `PIO_TestPatterns`?
Let's pin ourselves to a known good version so we can fix the issue and then choose when to upgrade in the future without causing unexpected breakages.
This pull requests adds a menuconfig option named `ESP32_HUB75_USE_GFX` which is used to determine if the Adafruit GFX component should be required and used for the build. menuconfig options are the standard way to change behavior of components in `esp-idf`.
[Commit b8367d9](b8367d95d2) introduced a backwards incompatible change that caused `idf-idf` to only require the Adafruit-GFX-Library component if `ARDUINO_ARCH_ESP32` was set. `ARDUINO_ARCH_ESP32` is set in platformIO, the arduino software but not in the standalone `esp-idf` installation.
The current `CMakeLists.txt` requires a file named `src/platforms/${target}/gdma_lcd_parallel16.cpp` however that file only exists when the target is `esp32s3`.
This pull requests updates the `CMakeLists.txt` file such that the file is only included when the target platform is `esp32s3`.
Implement VirtualDisplayClass rotation (and let AdaFruit_GFX) be aware of it as well for font printing.
Ability to 'scale' up (zoom) display as a quick and dirty magnification mode.
setRotate(bool) has been replaced by setRotate(int).
0, 1, 2, 3 int inputs are translated to 0, 90, 180 and 270 degrees rotation.
Documentation not updated.