|
| 1 | +Here is a list of changes which can break your existing code based on ESP Jumpstart. |
| 2 | + |
| 3 | +### Factory NVS variables changed from string to blob encoding type. |
| 4 | + |
| 5 | +*commit 4fbc0560df16b82b12b86dc1e13436ffce7cac06* |
| 6 | + |
| 7 | +7\_mfg/mfg\_config.csv now uses NVS blobs instead of strings since NVS strings cannot |
| 8 | +be larger than 1984 bytes. In some cases the certificate size can go beyond this number. |
| 9 | + |
| 10 | +### conn\_mgr\_prov : API changes for more clarity, flexibility and control |
| 11 | + |
| 12 | +*commit ff311c666a24ccb0fffa06da399f016fce66bd7e* |
| 13 | + |
| 14 | +List of changes : |
| 15 | + |
| 16 | +* new APIs: |
| 17 | + * `conn_mgr_prov_config_t` : Configuration structure for specifying: |
| 18 | + * the provisioning `scheme` of type `conn_mgr_prov_scheme_t` which has 2 ready to use values: |
| 19 | + * `conn_mgr_prov_scheme_ble` : for provisioning over BLE transport + GATT server |
| 20 | + * `conn_mgr_prov_scheme_softap` : for provisioning over SoftAP transport + HTTP server |
| 21 | + * `scheme_event_handler` for specifying an event handler which may be required for conditioning the state of the program prior to starting the user app after provisioning is complete. When using `conn_mgr_prov_scheme_ble` one can choose one of the following available scheme specific handlers : |
| 22 | + * `CMP_EVENT_HANDLER_NONE` : No scheme specific event handling |
| 23 | + * `CMP_SCHEME_BLE_EVENT_HANDLER_FREE_BTDM` : Free BT/BLE memory (when user app doesn't require these after provisioning is over) |
| 24 | + * `CMP_SCHEME_BLE_EVENT_HANDLER_FREE_BT` : Free only BT memory (when user app requires BLE to function even after provisioning is over) |
| 25 | + * `CMP_SCHEME_BLE_EVENT_HANDLER_FREE_BLE` : Free only BLE memory (when user app requires BT to function) |
| 26 | + * `app_event_handler` for specifying application specific event handler |
| 27 | + * `conn_mgr_prov_init()` : For initializing the manager with a specified configuration |
| 28 | + * `conn_mgr_prov_wait()` : Blocking wait for provisioning to complete |
| 29 | + * `conn_mgr_prov_deinit()` : For de-initializing the manager and freeing its resources |
| 30 | + * `conn_mgr_prov_stop_provisioning()` : For stopping an active provisioning service |
| 31 | +* modified APIs: |
| 32 | + * `conn_mgr_prov_start_provisioning()` : Doesn't accept prov_type anymore. Instead the mode (BLE/SoftAP) is configured during init |
| 33 | + * `conn_mgr_prov_event_handler()` : Returns error when provisioning is not running |
| 34 | + * `conn_mgr_prov_t` rename to `conn_mgr_prov_scheme_t` |
| 35 | + * `conn_mgr_prov_mode_ble` rename to `conn_mgr_prov_scheme_ble` |
| 36 | + * `conn_mgr_prov_mode_softap` renamed to `conn_mgr_prov_scheme_softap` |
| 37 | + * Macros with prefix `CM_*` renamed to that with prefix `CMP_*` |
| 38 | +* Examples `4_network_config`, `5_cloud`, `6_ota` and `7_mfg` modified as per new APIs. Releasing of BT/BLE memory pre/post provisioning is taken care of by manager as scheme handler `CMP_SCHEME_BLE_EVENT_HANDLER_FREE_BTDM` is used, even in the case when provisioning is not started. If provisioning service is started, de-initialization is triggered by the application specific event handler `prov_event_handler()` after provisioning finishes. This frees the main app from the burden of waiting for provisioning to finish and then calling manager de-init. |
0 commit comments