eddystone.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2018 Freie Universität Berlin
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
34 #include "net/eddystone.h"
35 #include "net/skald.h"
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
44 typedef struct __attribute__((packed)) {
45  uint8_t namespace[EDDYSTONE_NAMESPACE_LEN];
46  uint8_t instance[EDDYSTONE_INSTANCE_LEN];
48 
60  const skald_eddystone_uid_t *uid, uint8_t tx_pwr,
61  uint32_t adv_itvl_ms);
62 
75  uint8_t scheme, const char *url, uint8_t tx_pwr,
76  uint32_t adv_itvl_ms);
77 
78 #ifdef __cplusplus
79 }
80 #endif
81 
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:70
Unique and opaque 16-byte beacon id format used by Eddystone.
Definition: eddystone.h:44
namespace EDDYSTONE_NAMESPACE_LEN
10-byte namespace
Definition: eddystone.h:45