eddystone.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 Freie Universität Berlin
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
37 #include "net/eddystone.h"
38 #include "net/skald.h"
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
47 typedef struct __attribute__((packed)) {
48  uint8_t namespace[EDDYSTONE_NAMESPACE_LEN];
49  uint8_t instance[EDDYSTONE_INSTANCE_LEN];
51 
63  const skald_eddystone_uid_t *uid, uint8_t tx_pwr,
64  uint32_t adv_itvl_ms);
65 
78  uint8_t scheme, const char *url, uint8_t tx_pwr,
79  uint32_t adv_itvl_ms);
80 
81 #ifdef __cplusplus
82 }
83 #endif
84 
Constants defined by the Eddystone specification.
void skald_eddystone_url_adv(skald_ctx_t *ctx, uint8_t scheme, const char *url, uint8_t tx_pwr, uint32_t adv_itvl_ms)
Advertise Eddystone-URL data.
void skald_eddystone_uid_adv(skald_ctx_t *ctx, const skald_eddystone_uid_t *uid, uint8_t tx_pwr, uint32_t adv_itvl_ms)
Advertise Eddystone-UID data.
Skald's basic interface.
Advertising context holding the advertising data and state.
Definition: skald.h:73
Unique and opaque 16-byte beacon id format used by Eddystone.
Definition: eddystone.h:47
namespace EDDYSTONE_NAMESPACE_LEN
10-byte namespace
Definition: eddystone.h:48