/* This example code is in the Public Domain (or CC0 licensed, at your option.) Unless required by applicable law or agreed to in writing, this software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */ #ifndef __ESP_EDDYSTONE_PROTOCOL_H__ #define __ESP_EDDYSTONE_PROTOCOL_H__ #include "stdbool.h" #include "stdint.h" /* Eddystone definitions */ #define EDDYSTONE_SERVICE_UUID 0xFEAA #define EDDYSTONE_FRAME_TYPE_UID 0x00 #define EDDYSTONE_FRAME_TYPE_URL 0x10 #define EDDYSTONE_FRAME_TYPE_TLM 0x20 #define EDDYSTONE_FRAME_TYPE_EID 0x30 #define EDDYSTONE_UID_FRAME_LEN 0x17 #define EDDYSTONE_TLM_FRAME_LEN 0x11 #define EDDYSTONE_URL_MAX_LEN 18 /* Eddystone UID frame */ typedef struct { int8_t ranging_data; /*= 0x00 && ch <= 0x20) || (ch >= 0x7f && ch <= 0xff); } #endif /* __ESP_EDDYSTONE_PROTOCOL_H__ */