Remove the retry logic for Wi-Fi disconnected events while in
provisioning mode because it is handled internally by the
network_provisioning component. Now, depending on the Kconfig options,
the firmeare will try Wi-Fi connection one or more time and then stop.
Phone apps can reset the state and retry provisioning on the same
session.
Also, reduced the default connection retry count from 5 to 3 so that
users would have to wait for lesser time for retrying
If network connection fails even once, the firmware reports so to
clients (like phone apps) and the clients declare failure and abort
immediately, even if the firmware eventually connects. With this
change, a failure will be reported only after a few retries (whise
number is configurable)
Made network prov as default since it is supported for esp-idf v5.1
onwards and esp-idf v5.0 has reached end of life.
This will make the code more readable
- Set button GPIO to 28 for ESP32-C5 devkit (vs GPIO 9 for other C-series)
- Set WS2812 LED GPIO to 27 for ESP32-C5 devkit (vs GPIO 8 for other C-series)
- Updated examples: gpio, switch, multi_device, temperature_sensor, fan, led_light
- Remove qrcode sources from examples/common
- Added idf_component.yml file to app_wifi component with qrcode dependency
- Added qrcode_display function in app_wifi which wraps the qrcode generation
Since all CONFIG_APP_WIFI_x config options have been renamed to CONFIG_APP_NETWORK_x,
the older settings may get lost after upgrading esp-rainmaker to use the
new app_network component. This commit ensures that the old config options
will get automatically renamed to appropriate new config options.
- Updated esp_insights submodule and the component version dependency
- Selected `ESP_INSIGHTS_TRANSPORT_MQTT` in examples sdkconfig.defaults
- Called esp_insights_cmd_resp_enable
- Also updated `cli` submodule to the latest
- 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)
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
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.
Cause: A vicious cycle:
MQTT budget exceed error print getting logged into ESP-Insights.
When the RTC memory is full, this causes it to drop the message and
raise memory full event, which then taken action as reporting Insights
data immediately. This again causes MQTT budget exceed error!
The fix: Do not try to send message when budget is not available
Signed-off-by: Vikram <vikram.dattu@espressif.com>
Earlier, a reset and reboot were required if wrong Wi-Fi credentials
were given during provisioning. With this change, based on some
configured number of reconnection attempts, the firmware will go back into
provisioning mode.
- Provide an option of provisioning without PoP pin (use with caution).
- Config option for provisioning timeout (set to 30 min by default).
Useful especially when there is no PoP, and so you want to keep the device
in provisioning mode only for a few minutes after boot up.
- app_insights:
- Replaced esp_insights_rmaker_enable() API with esp_insights_enable()
- Enable errors, warnings, and events when user selects LOG_TYPE_ALL
- Fixed compilation errors and warnings