app_prov.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /* Console based Provisioning Example
  2. This example code is in the Public Domain (or CC0 licensed, at your option.)
  3. Unless required by applicable law or agreed to in writing, this
  4. software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
  5. CONDITIONS OF ANY KIND, either express or implied.
  6. */
  7. #pragma once
  8. #include <protocomm_security.h>
  9. #include <wifi_provisioning/wifi_config.h>
  10. /**
  11. * @brief Get state of WiFi Station during provisioning
  12. *
  13. * @note WiFi is initially configured as AP, when
  14. * provisioning starts. After provisioning data
  15. * is provided by user, the WiFi is reconfigured
  16. * to run as both AP and Station.
  17. *
  18. * @param[out] state Pointer to wifi_prov_sta_state_t variable to be filled
  19. *
  20. * @return
  21. * - ESP_OK : Successfully retrieved wifi state
  22. * - ESP_FAIL : Provisioning app not running
  23. */
  24. esp_err_t app_prov_get_wifi_state(wifi_prov_sta_state_t* state);
  25. /**
  26. * @brief Get reason code in case of WiFi station
  27. * disconnection during provisioning
  28. *
  29. * @param[out] reason Pointer to wifi_prov_sta_fail_reason_t variable to be filled
  30. *
  31. * @return
  32. * - ESP_OK : Successfully retrieved wifi disconnect reason
  33. * - ESP_FAIL : Provisioning app not running
  34. */
  35. esp_err_t app_prov_get_wifi_disconnect_reason(wifi_prov_sta_fail_reason_t* reason);
  36. /**
  37. * @brief Checks if device is provisioned
  38. * *
  39. * @param[out] provisioned True if provisioned, else false
  40. *
  41. * @return
  42. * - ESP_OK : Retrieved provision state successfully
  43. * - ESP_FAIL : Failed to retrieve provision state
  44. */
  45. esp_err_t app_prov_is_provisioned(bool *provisioned);
  46. /**
  47. * @brief Runs WiFi as Station
  48. *
  49. * Configures the WiFi station mode to connect to the
  50. * SSID and password specified in config structure,
  51. * and starts WiFi to run as station
  52. *
  53. * @param[in] wifi_cfg Pointer to WiFi cofiguration structure
  54. *
  55. * @return
  56. * - ESP_OK : WiFi configured and started successfully
  57. * - ESP_FAIL : Failed to set configuration
  58. */
  59. esp_err_t app_prov_configure_sta(wifi_config_t *wifi_cfg);
  60. /**
  61. * @brief Start provisioning via Console
  62. *
  63. * @param[in] security Security mode
  64. * @param[in] pop Pointer to proof of possession (NULL if not present)
  65. *
  66. * @return
  67. * - ESP_OK : Provisioning started successfully
  68. * - ESP_FAIL : Failed to start
  69. */
  70. esp_err_t app_prov_start_console_provisioning(int security, const protocomm_security_pop_t *pop);