Wirepas SDK
api.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 
15 #ifndef API_H_
16 #define API_H_
17 
18 #include "wms_app.h"
19 #include "wms_data.h"
20 #include "wms_otap.h"
21 #include "wms_settings.h"
22 #include "wms_state.h"
23 #include "wms_storage.h"
24 #include "wms_system.h"
25 #include "wms_time.h"
26 #include "wms_hardware.h"
27 #include "wms_memory_area.h"
28 #include "wms_radio_config.h"
29 #include "wms_joining.h"
30 #include "wms_advertiser.h"
31 #include "wms_beacon_tx.h"
32 #include "wms_beacon_rx.h"
33 #include "wms_sleep.h"
34 
35 #include "wms_secure_storage.h"
36 
37 // Expose common APIs
38 extern const app_global_functions_t * global_func __attribute((weak));
39 extern const app_lib_data_t * lib_data __attribute((weak));
40 extern const app_lib_otap_t * lib_otap __attribute((weak));
41 extern const app_lib_settings_t * lib_settings __attribute((weak));
42 extern const app_lib_state_t * lib_state __attribute((weak));
43 extern const app_lib_storage_t * lib_storage __attribute((weak));
44 extern const app_lib_system_t * lib_system __attribute((weak));
45 extern const app_lib_time_t * lib_time __attribute((weak));
46 extern const app_lib_hardware_t * lib_hw __attribute((weak));
47 // BLE beacons
48 extern const app_lib_beacon_tx_t * lib_beacon_tx __attribute((weak));
49 extern const app_lib_beacon_rx_t * lib_beacon_rx __attribute((weak));
50 extern const app_lib_sleep_t * lib_sleep __attribute((weak));
51 extern const app_lib_advertiser_t * lib_advertiser __attribute((weak));
52 extern const app_lib_joining_t * lib_joining __attribute((weak));
53 extern const app_lib_memory_area_t * lib_memory_area __attribute((weak));
54 extern const app_lib_radio_cfg_t * lib_radio_cfg __attribute((weak));
55 
56 
57 
58 extern const app_lib_secure_storage_t * lib_secure_storage __attribute((weak));
59 
91 bool API_Open(const app_global_functions_t * functions);
92 
93 // Define error value for functions
94 #define ERR_NOT_OPEN APP_RES_INVALID_NULL_POINTER
95 
96 // System library
97 #define Sys_enterCriticalSection() \
98  lib_system ? lib_system->enterCriticalSection() : ERR_NOT_OPEN
99 
100 #define Sys_exitCriticalSection() \
101  lib_system ? lib_system->exitCriticalSection() : ERR_NOT_OPEN
102 
103 #define Sys_disableDs(_dis) \
104  lib_system ? lib_system->disableDeepSleep(_dis) : ERR_NOT_OPEN
105 
106 #define Sys_enableAppIrq(_irqn, _isr) \
107  lib_system ? lib_system->enableAppIrq(false, _irqn, APP_LIB_SYSTEM_IRQ_PRIO_LO, _isr) : ERR_NOT_OPEN
108 
109 #define Sys_disableAppIrq(_irqn) \
110  lib_system ? lib_system->disableAppIrq(_irqn) : ERR_NOT_OPEN
111 
112 #define Sys_enableFastAppIrq(_irqn, _prio, _isr) \
113  lib_system ? lib_system->enableAppIrq(true, _irqn, _prio, _isr) : ERR_NOT_OPEN
114 
115 #define Sys_clearFastAppIrq(_irqn) \
116  lib_system ? lib_system->clearPendingFastAppIrq(_irqn) : ERR_NOT_OPEN
117 
118 // BLE beacon scanner library
119 #define Ble_beaconRx_setRxCb(_cb) \
120  lib_beacon_rx ? lib_beacon_rx->setBeaconReceivedCb(_cb) : ERR_NOT_OPEN
121 
122 #define Ble_beaconRx_startScanner(_chan) \
123  lib_beacon_rx ? lib_beacon_rx->startScanner(_chan) : ERR_NOT_OPEN
124 
125 #define Ble_beaconRx_stopScanner() \
126  lib_beacon_rx ? lib_beacon_rx->stopScanner() : ERR_NOT_OPEN
127 
128 #define Ble_beaconRx_isStarted() \
129  (lib_beacon_rx ? lib_beacon_rx->isScannerStarted() : ERR_NOT_OPEN)
130 
131 
132 #endif /* API_H_ */
wms_sleep.h
wms_joining.h
app_lib_system_t
List of library functions.
Definition: wms_system.h:577
wms_state.h
app_lib_data_t
List of library services.
Definition: wms_data.h:972
wms_app.h
wms_settings.h
wms_advertiser.h
API_Open
bool API_Open(const app_global_functions_t *functions)
Open API (open all libraries)
app_lib_secure_storage_t
List of library functions.
Definition: wms_secure_storage.h:151
app_lib_joining_t
List of library functions.
Definition: wms_joining.h:312
app_lib_hardware_t
List of library functions.
Definition: wms_hardware.h:112
app_lib_state_t
List of library functions.
Definition: wms_state.h:630
app_lib_beacon_rx_t
List of library functions.
Definition: wms_beacon_rx.h:192
app_global_functions_t
List of global functions, passed to App_entrypoint()
Definition: wms_app.h:157
wms_memory_area.h
wms_storage.h
app_lib_otap_t
Definition: wms_otap.h:488
wms_hardware.h
wms_otap.h
wms_data.h
wms_beacon_tx.h
app_lib_storage_t
Definition: wms_storage.h:77
app_lib_beacon_tx_t
Definition: wms_beacon_tx.h:241
wms_system.h
wms_time.h
app_lib_settings_t
Settings library API.
Definition: wms_settings.h:789
app_lib_advertiser_t
List of library functions.
Definition: wms_advertiser.h:195
app_lib_time_t
List of library functions.
Definition: wms_time.h:192
wms_beacon_rx.h
__attribute
const app_global_functions_t *global_func __attribute((weak))
app_lib_sleep_t
List of library functions.
Definition: wms_sleep.h:178
app_lib_memory_area_t
List of library functions.
Definition: wms_memory_area.h:248
app_lib_radio_cfg_t
List of library functions.
Definition: wms_radio_config.h:257
wms_radio_config.h
wms_secure_storage.h