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
30
31// Expose common APIs
32extern const app_global_functions_t * global_func __attribute((weak));
33extern const app_lib_data_t * lib_data __attribute((weak));
34extern const app_lib_otap_t * lib_otap __attribute((weak));
35extern const app_lib_settings_t * lib_settings __attribute((weak));
36extern const app_lib_state_t * lib_state __attribute((weak));
37extern const app_lib_storage_t * lib_storage __attribute((weak));
38extern const app_lib_system_t * lib_system __attribute((weak));
39extern const app_lib_time_t * lib_time __attribute((weak));
40extern const app_lib_hardware_t * lib_hw __attribute((weak));
41extern const app_lib_memory_area_t * lib_memory_area __attribute((weak));
42extern const app_lib_radio_cfg_t * lib_radio_cfg __attribute((weak));
43
44
45
46
78bool API_Open(const app_global_functions_t * functions);
79
80// Define error value for functions
81#define ERR_NOT_OPEN APP_RES_INVALID_NULL_POINTER
82
83// System library
84#define Sys_enterCriticalSection() \
85 lib_system ? lib_system->enterCriticalSection() : ERR_NOT_OPEN
86
87#define Sys_exitCriticalSection() \
88 lib_system ? lib_system->exitCriticalSection() : ERR_NOT_OPEN
89
90#define Sys_disableDs(_dis) \
91 lib_system ? lib_system->disableDeepSleep(_dis) : ERR_NOT_OPEN
92
93#define Sys_enableAppIrq(_irqn, _isr) \
94 lib_system ? lib_system->enableAppIrq(false, _irqn, APP_LIB_SYSTEM_IRQ_PRIO_LO, _isr) : ERR_NOT_OPEN
95
96#define Sys_disableAppIrq(_irqn) \
97 lib_system ? lib_system->disableAppIrq(_irqn) : ERR_NOT_OPEN
98
99#define Sys_enableFastAppIrq(_irqn, _prio, _isr) \
100 lib_system ? lib_system->enableAppIrq(true, _irqn, _prio, _isr) : ERR_NOT_OPEN
101
102#define Sys_clearFastAppIrq(_irqn) \
103 lib_system ? lib_system->clearPendingFastAppIrq(_irqn) : ERR_NOT_OPEN
104
105// BLE beacon scanner library
106#define Ble_beaconRx_setRxCb(_cb) \
107 lib_beacon_rx ? lib_beacon_rx->setBeaconReceivedCb(_cb) : ERR_NOT_OPEN
108
109#define Ble_beaconRx_startScanner(_chan) \
110 lib_beacon_rx ? lib_beacon_rx->startScanner(_chan) : ERR_NOT_OPEN
111
112#define Ble_beaconRx_stopScanner() \
113 lib_beacon_rx ? lib_beacon_rx->stopScanner() : ERR_NOT_OPEN
114
115#define Ble_beaconRx_isStarted() \
116 (lib_beacon_rx ? lib_beacon_rx->isScannerStarted() : ERR_NOT_OPEN)
117
118
119#endif /* API_H_ */
const app_global_functions_t *global_func __attribute((weak))
bool API_Open(const app_global_functions_t *functions)
Open API (open all libraries)
List of global functions, passed to App_entrypoint()
Definition wms_app.h:158
List of library services.
Definition wms_data.h:973
List of library functions.
List of library functions.
List of library functions.
List of library functions.
Definition wms_state.h:629
List of library functions.
Definition wms_system.h:578
List of library functions.
Definition wms_time.h:193