Wirepas SDK
wms_system.h
Go to the documentation of this file.
1/* Copyright 2017 Wirepas Ltd. All Rights Reserved.
2 *
3 * See file LICENSE.txt for full license details.
4 *
5 */
6
25#ifndef APP_LIB_SYSTEM_H_
26#define APP_LIB_SYSTEM_H_
27
28#include <stdlib.h>
29#include <stdint.h>
30#include <stdbool.h>
31
32#include "wms_app.h"
33
35#define APP_LIB_SYSTEM_NAME 0x77db1bd5
36
38#define APP_LIB_SYSTEM_VERSION 0x202
39
46#define APP_LIB_SYSTEM_STOP_PERIODIC UINT32_MAX
47
54#define APP_LIB_SYSTEM_IRQ_PRIO_HI 0
55#define APP_LIB_SYSTEM_IRQ_PRIO_LO 1
56
107
116typedef enum
117{
203
210typedef struct
211{
217
232typedef void (*app_lib_system_startup_cb_f)(void);
233
247typedef void (*app_lib_system_shutdown_cb_f)(void);
248
272typedef uint32_t (*app_lib_system_periodic_cb_f)(void);
273
282typedef void (*app_lib_system_irq_handler_f)(void);
283
295
304 (app_lib_system_shutdown_cb_f shutdown_cb);
305
347 uint32_t initial_delay_us,
348 uint32_t execution_time_us);
349
364
375
399
411 (*app_lib_system_enable_app_irq_f)(uint16_t irq_n);
412
427 (*app_lib_system_disable_app_irq_f)(uint16_t irq_n);
428
447 (*app_lib_system_enable_fast_app_irq_f)(uint16_t irq_n, uint8_t priority);
448
524 (bool fast,
525 uint16_t irq_n,
526 uint8_t priority,
528
545
554typedef uint32_t
556
572 size_t info_num_bytes);
573
591
592#endif /* APP_LIB_SYSTEM_H_ */
app_res_e
Definition wms_app.h:202
uint32_t(* app_lib_system_get_bootloader_version_f)(void)
Get bootloader version.
Definition wms_system.h:555
uint32_t(* app_lib_system_periodic_cb_f)(void)
Periodic callback.
Definition wms_system.h:272
app_lib_system_hardware_magic_e
Radio hardware magic number.
Definition wms_system.h:65
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_EFR32XG22
Definition wms_system.h:89
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_EFR32XG12
Definition wms_system.h:77
@ APP_LIB_SYSTEM_HARDWARE_RESERVED_5
Definition wms_system.h:91
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_UNKNOWN
Definition wms_system.h:67
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_EFR32XG23
Definition wms_system.h:99
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_EFR32XG13
Definition wms_system.h:83
@ APP_LIB_SYSTEM_HARDWARE_RESERVED_4
Definition wms_system.h:75
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_NRF52840
Definition wms_system.h:79
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_NRF54L
Definition wms_system.h:105
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_EFR32XG21
Definition wms_system.h:87
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_BGM220PC22HNA
Definition wms_system.h:93
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_NRF9160
Definition wms_system.h:97
@ APP_LIB_SYSTEM_HARDWARE_RESERVED_2
Definition wms_system.h:71
@ APP_LIB_SYSTEM_HARDWARE_RESERVED_1
Definition wms_system.h:69
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_EFR32XG12_512
Definition wms_system.h:81
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_NRF52832
Definition wms_system.h:73
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_NRF52833
Definition wms_system.h:85
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_BGM220SC22HNA
Definition wms_system.h:95
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_EFR32XG24
Definition wms_system.h:101
@ APP_LIB_SYSTEM_HARDWARE_MAGIC_NRF9120
Definition wms_system.h:103
app_res_e(* app_lib_system_set_shutdown_cb_f)(app_lib_system_shutdown_cb_f shutdown_cb)
Set a callback to be called just before the system shuts down.
Definition wms_system.h:304
void(* app_lib_system_startup_cb_f)(void)
Startup callback.
Definition wms_system.h:232
app_lib_system_set_shutdown_cb_f setShutdownCb
Definition wms_system.h:580
app_lib_system_enable_app_irq_with_handler_f enableAppIrq
Definition wms_system.h:585
app_res_e(* app_lib_system_set_periodic_cb_f)(app_lib_system_periodic_cb_f work_cb, uint32_t initial_delay_us, uint32_t execution_time_us)
Set the periodic callback.
Definition wms_system.h:346
app_lib_system_enter_critical_section_f enterCriticalSection
Definition wms_system.h:582
app_res_e(* app_lib_system_enable_app_irq_f)(uint16_t irq_n)
Enable an app interrupt.
Definition wms_system.h:411
app_res_e(* app_lib_system_enable_fast_app_irq_f)(uint16_t irq_n, uint8_t priority)
Enable a fast app interrupt.
Definition wms_system.h:447
app_lib_system_protocol_profile_e
Protocol profiles.
Definition wms_system.h:117
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_RESERVED_2
Definition wms_system.h:123
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_15_RESERVED
Definition wms_system.h:171
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_RESERVED_5
Definition wms_system.h:129
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_ISM_24GHZ
Definition wms_system.h:121
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_RESERVED_10
Definition wms_system.h:139
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_25_RESERVED
Definition wms_system.h:191
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_13_RESERVED
Definition wms_system.h:167
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_27_RESERVED
Definition wms_system.h:195
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_20_RESERVED
Definition wms_system.h:181
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_21_RESERVED
Definition wms_system.h:183
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_12_RESERVED
Definition wms_system.h:165
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_TS_103_874_2_BAND_4
Definition wms_system.h:149
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_11_RESERVED
Definition wms_system.h:163
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_RESERVED_3
Definition wms_system.h:125
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_RESERVED_4
Definition wms_system.h:127
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_8_RESERVED
Definition wms_system.h:157
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_22_RESERVED
Definition wms_system.h:185
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_30_RESERVED
Definition wms_system.h:201
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_2_RESERVED
Definition wms_system.h:145
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_UNKNOWN
Definition wms_system.h:119
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_18_RESERVED
Definition wms_system.h:177
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_19_RESERVED
Definition wms_system.h:179
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_14_RESERVED
Definition wms_system.h:169
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_RESERVED_11
Definition wms_system.h:141
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_RESERVED_9
Definition wms_system.h:137
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_17_RESERVED
Definition wms_system.h:175
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_24_RESERVED
Definition wms_system.h:189
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_10_RESERVED
Definition wms_system.h:161
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_6_RESERVED
Definition wms_system.h:153
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_SUB_INDIA865
Definition wms_system.h:135
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_26_RESERVED
Definition wms_system.h:193
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_7_RESERVED
Definition wms_system.h:155
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_TS_103_874_2_BAND_9
Definition wms_system.h:159
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_29_RESERVED
Definition wms_system.h:199
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_5_RESERVED
Definition wms_system.h:151
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_TS_103_874_2_BAND_1
Definition wms_system.h:143
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_RESERVED_7
Definition wms_system.h:133
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_23_RESERVED
Definition wms_system.h:187
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_RESERVED_6
Definition wms_system.h:131
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_3_RESERVED
Definition wms_system.h:147
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_28_RESERVED
Definition wms_system.h:197
@ APP_LIB_SYSTEM_PROTOCOL_PROFILE_DECT_BAND_16_RESERVED
Definition wms_system.h:173
void(* app_lib_system_enter_critical_section_f)(void)
Enter a critical section.
Definition wms_system.h:363
app_lib_system_exit_critical_section_f exitCriticalSection
Definition wms_system.h:583
app_lib_system_clear_pending_fast_app_irq_f clearPendingFastAppIrq
Definition wms_system.h:587
app_res_e(* app_lib_system_disable_app_irq_f)(uint16_t irq_n)
Disable an app interrupt.
Definition wms_system.h:427
app_lib_system_set_periodic_cb_f setPeriodicCb
Definition wms_system.h:581
app_lib_system_get_radio_info_f getRadioInfo
Definition wms_system.h:589
app_res_e(* app_lib_system_enable_app_irq_with_handler_f)(bool fast, uint16_t irq_n, uint8_t priority, app_lib_system_irq_handler_f handler)
Enable a platform-specific interrupt with given handler and priority.
Definition wms_system.h:524
app_res_e(* app_lib_system_disable_deep_sleep)(bool disable)
Disable/Enable deep sleep on stack.
Definition wms_system.h:398
app_lib_system_disable_deep_sleep disableDeepSleep
Definition wms_system.h:584
app_lib_system_set_startup_cb_f setStartupCb
Definition wms_system.h:579
app_lib_system_get_bootloader_version_f getBootloaderVersion
Definition wms_system.h:588
app_res_e(* app_lib_system_set_startup_cb_f)(app_lib_system_startup_cb_f startup_cb)
Set a callback to be called when the system starts up.
Definition wms_system.h:294
app_res_e(* app_lib_system_get_radio_info_f)(app_lib_system_radio_info_t *info_p, size_t info_num_bytes)
Return radio hardware and platform information.
Definition wms_system.h:571
void(* app_lib_system_shutdown_cb_f)(void)
Shutdown callback.
Definition wms_system.h:247
void(* app_lib_system_exit_critical_section_f)(void)
Exit a critical section.
Definition wms_system.h:374
void(* app_lib_system_irq_handler_f)(void)
Interrupt handler callback.
Definition wms_system.h:282
app_res_e(* app_lib_system_clear_pending_fast_app_irq_f)(uint16_t irq_n)
Clear fast interrupt flag from NVIC.
Definition wms_system.h:544
app_lib_system_disable_app_irq_f disableAppIrq
Definition wms_system.h:586
List of library functions.
Definition wms_system.h:578
Radio information structure.
Definition wms_system.h:211