Application Core#
The Application Core component provides utilities common to most Wi-SUN applications with the following features:
A Wi-SUN connection helper function app_wisun_network_connect() configures the network size setting, the TX output power, the certificates, and keys. The last function action is to start the Wi-SUN connection process. The app_wisun_network_is_connected() function provides a simple connection status getter too.
Event handlers for basic Wi-SUN network events component includes the basic event handler implementations.
Available addresses. Retrieve known IPv6 addresses with the app_wisun_get_current_addresses() function.
Error Getter. Use app_wisun_core_get_error() function to get the status of the Stack API calls.
To use the component in your application, add it to your project and initialize it with app_wisun_core_init().
Modules#
Application Core API type definitions
#
Initialize Wi-SUN project information.
Print Wi-SUN project information.
Get Wi-SUN Project info.
Wait for the connection.
Connect and wait for connection.
The network is connected.
Thread dispatch function.
Functions#
Initialize Wi-SUN application core.
Get application core error.
Connect to the Wi-SUN network.
Get the current addresses.
Set the regional regulation to active or passive.
Return the state of the regional regulation.
Get the remaining budget from the transmission quota.
Set up warning and alert thresholds for the regional regulation.
Get the warning and alert levels for approaching/exceeded the TX budget.
Get Wi-SUN join state.
Get time statistic.
undefined Documentation#
app_wisun_project_info_init#
void app_wisun_project_info_init (const char * app_name)
Initialize Wi-SUN project information.
[in] | app_name | Application name |
Init internal instance
94
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core_util.h
app_wisun_project_info_print#
void app_wisun_project_info_print (const bool json_format)
Print Wi-SUN project information.
[in] | json_format | Json format required indicator |
Print project info in pretty or json format.
101
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core_util.h
app_wisun_project_info_get#
const app_project_info_t * app_wisun_project_info_get (void )
Get Wi-SUN Project info.
N/A |
Get a constant instance of internal Wi-SUN project info Returns
app_project_info_t * Project info
108
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core_util.h
app_wisun_wait_for_connection#
void app_wisun_wait_for_connection (void )
Wait for the connection.
N/A |
This function doesn't call the app_wisun_network_connect() function. The function provides a delay loop with optional heart beat printing till the connection state has not been changed.
116
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core_util.h
app_wisun_connect_and_wait#
void app_wisun_connect_and_wait (void )
Connect and wait for connection.
N/A |
The function calls app_wisun_network_connect() function and app_wisun_wait_for_connection() function. It can be useful at the beginning of application thread.
124
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core_util.h
app_wisun_network_is_connected#
bool app_wisun_network_is_connected (void )
The network is connected.
N/A |
Wrapper function of join state getter Returns
true Connected
false Not connected
132
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core_util.h
app_wisun_dispatch_thread#
void app_wisun_dispatch_thread (void )
Thread dispatch function.
N/A |
For low power LFN mode, the delay value is 'APP_THREAD_LP_DISPATCH_MS', for FFN mode, the delay is 1ms
139
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core_util.h
Function Documentation#
app_wisun_core_init#
void app_wisun_core_init (void )
Initialize Wi-SUN application core.
N/A |
Initializing mutex, socket handler and set Wi-SUN settings.
145
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_core_get_error#
bool app_wisun_core_get_error (app_core_error_state_flag_t flag)
Get application core error.
[in] | flag | is the indicator of the error |
The function retrieves the application core error status based on the flag. Returns
bool True if error flag is set, otherwise false
154
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_network_connect#
void app_wisun_network_connect (void )
Connect to the Wi-SUN network.
N/A |
Network initialization and connection. The function initializes the network with parameters (Network name, TX Power, Network size, etc.) by the stored settings in NVM if the settings component is added to the project, otherwise with the default settings.
165
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_get_current_addresses#
void app_wisun_get_current_addresses (current_addr_t *const dest_addresses)
Get the current addresses.
[out] | dest_addresses | Destination |
Copy cached addresses into destination.
172
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_set_regulation_active#
void app_wisun_set_regulation_active (bool enabled)
Set the regional regulation to active or passive.
[in] | enabled | (true = active, false = not active) |
After a stack API call for regional regulation, this function can be used to store the status of the regulation (active or not).
180
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_get_regulation_active#
bool app_wisun_get_regulation_active (void )
Return the state of the regional regulation.
N/A |
This function tells the caller if a regulation is currently active. Returns
Boolean indicating if a regional regulation is currently active.
187
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_get_remaining_tx_budget#
bool app_wisun_get_remaining_tx_budget (uint32_t *const budget_out)
Get the remaining budget from the transmission quota.
[out] | budget_out | pointer to return the remaining budget to. |
Returns the state of the regional regulation and the remaining budget in ms if applicable, or zero budget if exceeded or not regulated. Returns
Boolean to indicate if the returned value reflects a usable value.
196
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_set_regulation_thresholds#
void app_wisun_set_regulation_thresholds (const int8_t warning_level, const int8_t alert_level)
Set up warning and alert thresholds for the regional regulation.
[in] | warning_level | new percentage for the warning threshold |
[in] | alert_level | new percentage for the alert threshold |
Sets up the percentages of warnings and alerts where the regulation indicate that the transmission quota is approached/exceeded.
205
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_get_regulation_thresholds#
bool app_wisun_get_regulation_thresholds (regulation_thresholds_t * thresholds_out)
Get the warning and alert levels for approaching/exceeded the TX budget.
[out] | thresholds_out | pointer to the struct to hold the thresholds |
Values representing percentages of the allowed transmission quota in ms are returned for the warning and alert levels, respectively. Returns
Boolean to indicate if the operation was successful
214
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_get_join_state#
sl_wisun_join_state_t app_wisun_get_join_state (void )
Get Wi-SUN join state.
N/A |
Thread-safe getter to get connection state. Join state is stored in appropriate event callback. Returns
sl_wisun_join_state_t Join state value.
222
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h
app_wisun_get_time_stat#
void app_wisun_get_time_stat (app_core_time_stat_t *const tstat)
Get time statistic.
[out] | tstat | Time statistic structure |
Create a copy of time statistic storage with up-to-date values
229
of file /mnt/raid/workspaces/ws.Mae4JfP9d/overlay/gsdk/app/wisun/component/app_core/sl_wisun_app_core.h