5
#include <framework/cmd/api.h>
7
#include <config/custom_config_qspi.h>
12
#include <sys_clock_mgr.h>
17
static const uint8_t adv_data[] = {
18
0xf, GAP_DATA_TYPE_LOCAL_NAME,
19
'E', 'm', 'b', 'o', 'x', ' ', 'A', 'D', 'V', ' ', 'D', 'e', 'm', 'o'
22
extern void ad_ble_init(void);
24
static void handle_evt_gap_connected(ble_evt_gap_connected_t *evt) {
27
static void handle_evt_gap_disconnected(ble_evt_gap_disconnected_t *evt) {
29
ble_gap_adv_start(GAP_CONN_MODE_UNDIRECTED);
32
static void handle_evt_gap_pair_req(ble_evt_gap_pair_req_t *evt) {
33
ble_gap_pair_reply(evt->conn_idx, true, evt->bond);
36
int main(int argc, char **argv) {
41
ble_peripheral_start();
44
ble_gap_device_name_set("Embox ADV Demo", ATT_PERM_READ);
47
ble_gap_adv_data_set(sizeof(adv_data), adv_data, 0, NULL);
50
ble_gap_adv_start(GAP_CONN_MODE_UNDIRECTED);
52
if (!cm_lp_clk_is_avail()) {
53
fprintf(stderr, "No low power enabled\n");
56
ad_ble_lpclock_available();
68
hdr = ble_get_event(true);
74
switch (hdr->evt_code) {
75
case BLE_EVT_GAP_CONNECTED:
76
handle_evt_gap_connected((ble_evt_gap_connected_t *) hdr);
78
case BLE_EVT_GAP_DISCONNECTED:
79
handle_evt_gap_disconnected((ble_evt_gap_disconnected_t *) hdr);
81
case BLE_EVT_GAP_PAIR_REQ:
82
handle_evt_gap_pair_req((ble_evt_gap_pair_req_t *) hdr);
85
ble_handle_event_default(hdr);