Wirepas SDK
app_setup.h File Reference

Go to the source code of this file.

Typedefs

typedef bool(* setup_provisioning_end_cb_f) (uint8_t result)
 Provisioning end callback. More...
 
typedef void(* setup_provisioning_user_data_cb_f) (uint32_t id, uint8_t type, uint8_t *data, uint8_t len)
 Provisioning user data callback. More...
 
typedef void *(* setup_provisioning_joining_beacon_rx_cb_f) (void *beacons)
 Provisioning joining beacon RX callback. More...
 

Functions

app_setup_res_e App_Setup (const app_setup_conf_t *conf)
 Setup configuration from application persistent memory. More...
 

Data Structures

struct  app_setup_conf
 Application setup configuration. More...
 
struct  app_setup_conf::setup_provisioning_conf
 Provisioning library callbacks. More...
 

Enumerations

enum  app_setup_res_e {
  APP_SETUP_RES_OK, APP_SETUP_RES_NO_DATA, APP_SETUP_RES_ERROR, APP_SETUP_RES_NO_APP_PERSISTENT,
  APP_SETUP_RES_INVALID_DATA, APP_SETUP_RES_INVALID_VERSION, APP_SETUP_RES_ERASE_ERROR
}
 Application setup library. More...
 

Typedef Documentation

◆ setup_provisioning_end_cb_f

typedef bool(* setup_provisioning_end_cb_f) (uint8_t result)

Provisioning end callback.

Provisioning library callbacks are provided as custom types that fulfill the signatures of provisioning callback types, without needing a dependency to provisioning library, which is not needed if provisioning is not used.

Parameters
[in]resultProvisioning result
Returns
True: Apply received parameters and reboot; False: Discard data and end provisioning process

Definition at line 77 of file app_setup.h.

◆ setup_provisioning_joining_beacon_rx_cb_f

typedef void*(* setup_provisioning_joining_beacon_rx_cb_f) (void *beacons)

Provisioning joining beacon RX callback.

Parameters
[in]beaconsA buffer of joining beacons
Returns
The selected beacon

Definition at line 99 of file app_setup.h.

◆ setup_provisioning_user_data_cb_f

typedef void(* setup_provisioning_user_data_cb_f) (uint32_t id, uint8_t type, uint8_t *data, uint8_t len)

Provisioning user data callback.

Parameters
[in]idId of the received item
[in]typeCBOR type of received item
[in]dataReceived data
[in]lenLength of the data

Definition at line 87 of file app_setup.h.

Function Documentation

◆ App_Setup()

app_setup_res_e App_Setup ( const app_setup_conf_t *  conf)

Setup configuration from application persistent memory.

Note
This function will take care of initialization of Provisioning, IF provisioning config is found from persistent data.
Returns
app_setup_res_e
Examples
dualmcu_app/app.c, and minimal_app/app.c.

Data Structure Documentation

◆ app_setup_conf

struct app_setup_conf

Application setup configuration.

Definition at line 104 of file app_setup.h.

Data Fields
struct setup_provisioning_conf provisioning

◆ app_setup_conf::setup_provisioning_conf

struct app_setup_conf::setup_provisioning_conf

Provisioning library callbacks.

Definition at line 109 of file app_setup.h.

Data Fields
setup_provisioning_end_cb_f end_cb

Provisioning end callback

setup_provisioning_joining_beacon_rx_cb_f joining_beacon_rx_cb

Provisioning joining beacon RX callback

setup_provisioning_user_data_cb_f user_data_cb

Provisioning user data callback

Enumeration Type Documentation

◆ app_setup_res_e

Application setup library.

     This library reads configuration from application persistent area,
     and writes it to stack using SingleMCU API.
Note
If provisioning configuration is found from the application persistent area, this library will take care of provisioning init.

Application setup return values.

Enumerator
APP_SETUP_RES_OK 

Success (provisioning initialized if config for it was given).

APP_SETUP_RES_NO_DATA 

No data in application persistent area.

APP_SETUP_RES_ERROR 

Error in setup, see logs for details.

APP_SETUP_RES_NO_APP_PERSISTENT 

No application persistent area.

APP_SETUP_RES_INVALID_DATA 

Data length is invalid

APP_SETUP_RES_INVALID_VERSION 

Data version not supported.

APP_SETUP_RES_ERASE_ERROR 

Error in erasing application persistent area, see log for details.

Definition at line 23 of file app_setup.h.

APP_SETUP_RES_INVALID_DATA
@ APP_SETUP_RES_INVALID_DATA
Definition: app_setup.h:48
APP_SETUP_RES_INVALID_VERSION
@ APP_SETUP_RES_INVALID_VERSION
Definition: app_setup.h:53
APP_SETUP_RES_OK
@ APP_SETUP_RES_OK
Definition: app_setup.h:28
APP_SETUP_RES_NO_APP_PERSISTENT
@ APP_SETUP_RES_NO_APP_PERSISTENT
Definition: app_setup.h:43
APP_SETUP_RES_ERASE_ERROR
@ APP_SETUP_RES_ERASE_ERROR
Definition: app_setup.h:58
APP_SETUP_RES_NO_DATA
@ APP_SETUP_RES_NO_DATA
Definition: app_setup.h:33
APP_SETUP_RES_ERROR
@ APP_SETUP_RES_ERROR
Definition: app_setup.h:38
app_setup_res_e
app_setup_res_e
Application setup library.
Definition: app_setup.h:23