example: Add components controller_rest_apis and controller_custom_cluster for matter controller usage
See merge request app-frameworks/esp-rainmaker!417
- Added entry for esp32c2 build in CI
- RAM optimized sdkconfig.defaults.esp32c2
- Disable ws2812 led drivers from non-rmt supported devices
- Use GPIO9 as BOOT button for C2
- The feature prevents brute force attacks by not allowing more than allowed PoP attempts
- Allowed failure attempts are configurable via menuconfig and is 5 by default
- Change added for both `app_wifi` and `app_wifi_with_homekit`
- Min IDF version needed (release/v5.1.3)
- Due to some changes in esp-idf after v5.1.3, CONFIG_BT_ENABLED gets set
even for esp32s2, causing issues in compilation.
- In earlier esp-idf versions, since this was not applicable for esp32-s2,
it was getting skipped even when it was present in sdkconfig.defaults.
- Added sdkconfig.defaults.esp32s2 and disabled BT explicitly
When device is already provisioned, `wifi_prov_mgr_configure_sta` API call fails.
This happens because, provisioning manager is in uninitialized state.
We set Wi-Fi credetials directly using `esp_wifi_set_config` in that case.
Also removed error check on `wifi_prov_mgr_is_provisioned` API call, as for
IDF 4.x APIs return `ESP_ERR_INVALID_STATE`
1. ESP32C6 button configs for RGB LED and Boot GPIO
2. CI: Added entry for C6 in `.gitlab.yaml`
3. Added `partitions_4mb_optimised.csv` which uses flash to the full extent
- Created sdkconfig.defaults for esp32c6 and used partitions_4mb_optimised.csv as default
- This is made default for esp32c6 because, for esp32c6, image sizes exceed config from partitions.csv
4. Fixed matter examples CMakeLits.txt files for c6 support
- qrcode, ws2812_led and gpio_button moved to examples/common
- esp-insights and rmaker_common submodules updated
- json_generator and json_parser components copied from component
manager so that they can be used for component overrides
From IDF 5.1 and above, we are out of IRAM for ESP32.
Enabled FreeRTOS functions to flash option to save IRAM. This is same existing fix in other examples
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
If local control is enabled via config option (CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE),
the enabling/disabling will happen internally and the behaviour will be
unchanged. However, if the config option is disabled, applications can
still call esp_rmaker_local_ctrl_enable/disable at runtime as and when
required, if CONFIG_ESP_RMAKER_LOCAL_CTRL_FEATURE_ENABLE option is enabled.
Note that the older config option CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE
has been renamed to CONFIG_ESP_RMAKER_LOCAL_CTRL_AUTO_ENABLE. However,
CONFIG_ESP_RMAKER_LOCAL_CTRL_ENABLE will also continue to work and
ensure backward compatibility
For BLE provisioning, adding some metadata in BLE advertisement can help
apps in filtering the scanned device list better, instead of relying
just on the prefix. It can also help show the device type even before
provisioning.
Metadata has been added in led_light and switch examples only, but can be
added in any other project too, as per the apps' requirement.